On 1/24/08, Andreas Ericsson <ae@op5.se> wrote:
PostgreSQL uses lookup2...
Ok, here is 0..15 chars, random alignment:
Testing: seed=34 align=0 minlen=0 maxlen=15 trycnt=2 duration=10
lookup3 : try=0: ... 69.8092 MB/s
lookup3 : try=1: ... 69.8146 MB/s
own_memcpy: try=0: ... 66.7808 MB/s
own_memcpy: try=1: ... 66.7814 MB/s
memcpy_hack: try=0: ... 74.0635 MB/s
memcpy_hack: try=1: ... 74.0518 MB/s
lookup2 : try=0: ... 68.6582 MB/s
lookup2 : try=1: ... 68.6634 MB/s
fnv : try=0: ... 74.5098 MB/s
fnv : try=1: ... 74.5283 MB/s
hsieh : try=0: ... 71.6708 MB/s
hsieh : try=1: ... 71.6814 MB/s
oat : try=0: ... 74.7828 MB/s
oat : try=1: ... 74.7716 MB/s
elf : try=0: ... 65.2077 MB/s
elf : try=1: ... 65.2128 MB/s
Results compared to reference:
lookup3 : 100.000 %
own_memcpy : 95.659 %
memcpy_hack : 106.082 %
lookup2 : 98.351 %
fnv : 106.743 %
hsieh : 102.670 %
oat : 107.112 %
elf : 93.409 %
Sorry, I meant my "simple-memcpy-based-lookup3".
How the hash fetched data from mempry is _very_ relevant.
I can put it out.
--
marko
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html