Hello Jeremy, Monday, June 25, 2007, 10:15:39 PM, you wrote:
JH> Garrett D'Amore wrote: >> At 10GbE speeds, or with small packets at 1GbE speeds (64 byte frames, >> for example), we are completely CPU bound. I have done a lot of work >> (not yet committed) to improve the cost in the IP stack, by simplifying >> certain code and removing some redundant checks, etc. I've found in >> general that the cost of each additional branch to be ~0.1 to 0.2% JH> Another data point: a pair of aborted projects which aimed at JH> code pathlengths at the top end of the stack were showing libmicro JH> improvements of zero to 800% (yes, nine *times* speed improvement) JH> for assorted networking systemcalls. The essential techniques JH> were a) decide *once* (at the sonode switch), b) specialize the JH> socket code (have separate code for TCP sockets and for UDP ones. JH> It cuts out an amazing number of branches), c) junk Streams JH> (more branches, for all the baroque complexity. Fall back JH> to legacy only when complexity is required). Why were those projects aborted then? -- Best regards, Robert Milkowski mailto:[EMAIL PROTECTED] http://milek.blogspot.com _______________________________________________ networking-discuss mailing list [email protected]
