[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] ocplib+endian improvement
I've been porting the network stack to take advantage of the cstruct turbo-boost that Pierre and Thomas worked on. This optimisation adds compiler built-ins (in 4.01.0+) which let the code generator optimise away many of the temporary values required for low-level optimisation. Here's a (very quick) before/after for a ping flood (which is a good stress test of the low-level shared ring, network driver and protocol stack). For a ping flood With 4.00.1 without the optimisation: 73755 packets transmitted, 73702 received, +49 duplicates, 0% packet loss, time 6283ms rtt min/avg/max/mdev = 0.031/0.228/1209.178/9.887 ms, pipe 14850, ipg/ewma 0.085/0.036 ms and with the optimisation: 41791 packets transmitted, 41764 received, +25 duplicates, 0% packet loss, time 3539msrtt min/avg/max/mdev = 0.030/0.188/1261.042/8.459 ms, pipe 14742, ipg/ewma 0.084/0.039 ms So our average latency drops quite significantly (0.228 -> 0.188), as does CPU load (not shown above). I've not committed these changes to the mainstream yet until I test out TCP more, but it's getting there! -anil
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |