Hi Julian,
I've just done little test with speed_1
May be it is time to change the hash function used
for the table with connections. Today I played with some data
from my 2.2 director and fixed the tools that measure different
hash functions. I tested the default LVS function, one
that uses 2654435761 and the Jenkins hash that is present in
recent 2.4 and 2.5 kernels. We need some help from math
perspective.
I'll check on that. What kind of math problems do you have? I could
punish my students with it :):)
http://www.ssi.bg/~ja/hashlvs-0.2.tgz - tools for tests
Hehe, still the awk orgy :)
of course to try them yourself. My conclusion is that 2654435761
is better and faster but I hope we will see other results.
Hey, when we chose it back then it was for a good reason. Remember how
Wensong did the inline trick? ;).
gcc -g -Wall -DKV=24 -o hash_1 hash_1.c
gcc -g -Wall -DKV=24 -o hash_lvs hash_lvs.c
gcc -g -Wall -DKV=24 -o hash_jhash hash_jhash.c
gcc -g -Wall -DKV=24 -o speed_1 speed_1.c
for i in lvs 1 jhash; do time ./speed_1 12 $i; done
Count=33030144
real 0m3.037s
user 0m3.015s
sys 0m0.000s
Count=33030144
real 0m1.953s
user 0m1.880s
sys 0m0.000s
Count=33030144
real 0m6.288s
user 0m6.195s
sys 0m0.005s
gcc -O3 -mcpu=pentium3 -Wshadow -g -Wall -DKV=24 -o hash_1 hash_1.c
gcc -O3 -mcpu=pentium3 -Wshadow -g -Wall -DKV=24 -o hash_lvs hash_lvs.c
gcc -O3 -mcpu=pentium3 -Wshadow -g -Wall -DKV=24 -o hash_jhash hash_jhash.c
gcc -O3 -mcpu=pentium3 -Wshadow -g -Wall -DKV=24 -o speed_1 speed_1.c
for i in lvs 1 jhash; do time ./speed_1 12 $i; done
Count=33030144
real 0m1.213s
user 0m1.195s
sys 0m0.005s
Count=33030144
real 0m0.698s
user 0m0.645s
sys 0m0.000s
Count=33030144
real 0m2.115s
user 0m2.055s
sys 0m0.000s
I hope to find some time to test the real hash stuff in your patch.
Best regards,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq'|dc
|