18 Mar 2004 03:46
Re: MD4 checksum_seed
Donovan Baarda <abo <at> minkirri.apana.org.au>
2004-03-18 02:46:31 GMT
2004-03-18 02:46:31 GMT
G'day, cc'ing to the librsync-dev list as this is pretty relevant there. On Thu, 2004-03-18 at 04:41, Eran Tromer wrote: > Hi, [...] > >>>Have you looked at the librsync rollsum.c implementation in CVS? It > >>>replaced rs_calc_weak_sum and should be a fair bit faster. > > Here are run times for 70000000 calculations over the same all-zero block. > "checksum.c" is librsync's current code (which differs from rsync's only > in the chars are signed). > "rollsum.c" is librsync's rollsumc.c from CVS. > "XDELTA" is checksum.c changed to add char-to-short lookup table > (I blindly converted every occurance of "buf[foo]" into > "lookup_table[buf[foo]]"; the lookup table is xdelta's). > Numbers in seconds; tested on a Pentium Xeon 1700MHz, gcc 3.2.3. > > checksum.c -O2 CHAR_OFFSET=0: 273.42 > checksum.c -O2 CHAR_OFFSET=31: 300.63 > checksum.c -O3 CHAR_OFFSET=0: 31.42 > checksum.c -O3 CHAR_OFFSET=31: 35.32 > rollsum.c -O2 CHAR_OFFSET=0: 99.47 > rollsum.c -O2 CHAR_OFFSET=31: 99.22 > rollsum.c -O3 CHAR_OFFSET=0: 100.18 > rollsum.c -O3 CHAR_OFFSET=31: 99.77 > XDELTA -O2: 386.07 > XDELTA -O3: 32.17(Continue reading)
RSS Feed