[CUWiN-Dev] hslsd performance improvements
David Young
dyoung at pobox.com
Sat Oct 14 18:48:37 CDT 2006
Time spent profiling and optimizing hslsd has paid off. On a "hub"
in our network (i.e., a node with five 1-hop neighbors), hslsd's CPU
usage is down by 11%, from 25-27% to 14-16%. NetBSD identifies the
system like this,
cpu0 at mainbus0: (uniprocessor)
cpu0: AMD Am5x86 W/B 133/160 (486-class), id 0x4f4
cpu0: features 1<FPU>
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
elansc0 at pci0 dev 0 function 0: AMD Elan SC520 System Controller
elansc0: product 0 stepping 1.1, CPU clock 133MHz
gpio0 at elansc0: 32 pins
The CPU is ordinarily 40%-60% idle, however, top shows bursts of operating
system activity where the CPU is only ~10% idle.
I achieved most of the improvement by optimizing libpack, the library I
use for packing protocol packets. libpack used to spend a lot of time
parsing format strings; now, I cache the results of parsing. I also
turned down the logging level, but that did not make a difference as
big as I expected.
It looks to me like I can improve hslsd's performance even more, if
necessary, but I want to evaluate these changes on our testbeds, first.
Dave
--
David Young OJC Technologies
dyoung at ojctech.com Urbana, IL * (217) 278-3933
More information about the CU-Wireless-Dev
mailing list