Re: TCP/IP Checksumming

Nicholas J. Leon (lists-nicholas@binary9.net)
Tue, 26 Nov 1996 20:35:30 -0500 (EST)


Heiko Schroeder was overheard whispering ...
# Richard B. Johnson writes:

# OK, I just hacked a Linux version of a "test-suite" using the
# cycle counter. (I'm using a Pentium Pro, so I can access the rdtsc
# instruction in user code.)
#
# Here are the measured values for some of the functions used:
#
# csum_partial: sum = 1a8a, min cycles 1406
# csum_simple: sum = 1a8a, min cycles 6846
# csum_opt: sum = 1a8a, min cycles 2455
# csum_opt32: sum = 1a8a, min cycles 1434
# csum_c: sum = 1a8a, min cycles 2626
#

Hmmm. I just compiled and ran this suite and got the following:

csum_partial: sum = 1a8a, min cycles 674
csum_simple: sum = 1a8a, min cycles 8219
csum_opt: sum = 1a8a, min cycles 2286
csum_opt32: sum = 1a8a, min cycles 1235
csum_c: sum = 1a8a, min cycles 3494

This is on a 586/75. Could someone explain to me why the values would
be so different than the before mentioned ones? For example, my
csum_partial is almost 1/2 of csum_opt32, while Heiko's is like 98% of
his csum_opt32.

N!
------------------------------------------------------------------------------
Nicholas J. Leon nicholas@binary9.net
"Elegance through Simplicity" http://www.binary9.net/nicholas

"You're just a Sega suicide, 16 bits, genocide."