http://www.miikahweb.com/feed.php MiikaHweb - Blender Temp-ghash-experiments Branch http://www.miikahweb.com/ MiikaHweb - Blender Temp-ghash-experiments Branch fi Tue, 27 Jul 21 10:04:48 +0000 MiikaHweb RSS contact at miikahweb.com <![CDATA[[d140e70]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/d140e70c496122915eb5c05aba83153e2e0d7998 d140e70
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

Note that 'store hash' feature was removed for now - to complex to maintain (conflicts)
and relatively easy to re-add if we ever really want this one day.

Conflicts:
source/blender/blenlib/BLI_ghash.h
source/blender/blenlib/intern/BLI_ghash.c
source/blender/blenlib/intern/hash_mm2a.c
source/blender/bmesh/tools/bmesh_region_match.c
tests/gtests/blenlib/BLI_ghash_performance_test.cc
tests/gtests/blenlib/BLI_ghash_test.cc
tests/gtests/blenlib/CMakeLists.txt

----------------------------------------
0 Paths Changed]]>
Mon, 29 Jun 2015 15:18:11 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/d140e70c496122915eb5c05aba83153e2e0d7998Bastien Montagne
<![CDATA[[147bd16]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/147bd16ed1bb3415b30408b0eab110d0854eadd2 147bd16
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Mon, 16 Mar 2015 12:46:10 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/147bd16ed1bb3415b30408b0eab110d0854eadd2Bastien Montagne
<![CDATA[[dd1cc99]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/dd1cc999b8131758aa49c2282ad09df4679045c3 dd1cc99
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Fri, 13 Mar 2015 09:39:08 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/dd1cc999b8131758aa49c2282ad09df4679045c3Bastien Montagne
<![CDATA[[e7a33d8]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/e7a33d8bf4c736efe7e99fe780b3664543c365a0 e7a33d8
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Fri, 13 Mar 2015 13:49:39 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/e7a33d8bf4c736efe7e99fe780b3664543c365a0Bastien Montagne
<![CDATA[[eb86224]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/eb862241d2e0f5c61731abd13d99830f9050daca eb86224
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Mon, 09 Mar 2015 14:31:11 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/eb862241d2e0f5c61731abd13d99830f9050dacaBastien Montagne
<![CDATA[[3b8743d]: Making hash storage optional.]]> http://www.miikahweb.com/en/blender/git-logs/commit/3b8743d790867b43267a3e527fd27e9a072ef46b 3b8743d
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Making hash storage optional.

This required quite a bit of work, but storing hashes for 'simple' very quick
hashing/comparison functions is stupid (loss of space, and even introduces a
very small slow down), while with e.g. strings (which comparison and hasing
is quite expansive), it gives huge speedup (twice quicker insertion, about
33% quicker on lookup).

This makes lower-level code a bit less clear, since we add one 'child type' of Entry
for each case (GHash/GSet, and storing hash or not), but this also has the benefit
of being stricter when accessing entries' members...

----------------------------------------
6 Paths Changed]]>
Fri, 06 Mar 2015 13:00:29 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/3b8743d790867b43267a3e527fd27e9a072ef46bBastien Montagne
<![CDATA[[af779cd]: GTests GHash performance cleanup (strictly one test per GTest...]]> http://www.miikahweb.com/en/blender/git-logs/commit/af779cd9a5b93f5bc66eff5bf6d8a098d2bb8ede af779cd
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
GTests GHash performance cleanup (strictly one test per GTest).

----------------------------------------
1 Path Changed]]>
Thu, 05 Mar 2015 13:22:19 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/af779cd9a5b93f5bc66eff5bf6d8a098d2bb8edeBastien Montagne
<![CDATA[[ced0a84]: Cleanup (reduce a bit passing size of entries around by storing...]]> http://www.miikahweb.com/en/blender/git-logs/commit/ced0a84e86e39dac83b1aa2220806a83176797e8 ced0a84
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Cleanup (reduce a bit passing size of entries around by storing it in ghash itself).

----------------------------------------
1 Path Changed]]>
Thu, 05 Mar 2015 16:25:26 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/ced0a84e86e39dac83b1aa2220806a83176797e8Bastien Montagne
<![CDATA[[e87895e]: Factorize gset/ghash add/reinsert functions.]]> http://www.miikahweb.com/en/blender/git-logs/commit/e87895e39e29d17bf34beb25d6cda573ba781af6 e87895e
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Factorize gset/ghash add/reinsert functions.

----------------------------------------
1 Path Changed]]>
Thu, 05 Mar 2015 13:10:11 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/e87895e39e29d17bf34beb25d6cda573ba781af6Bastien Montagne
<![CDATA[[f9ea12c]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/f9ea12c9fee1a564148c321dab5e3b794c8ed3cf f9ea12c
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Fri, 06 Mar 2015 13:06:08 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/f9ea12c9fee1a564148c321dab5e3b794c8ed3cfBastien Montagne
<![CDATA[[ff5d3f4]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/ff5d3f4a5e4af34ab0b25e367038310997469d90 ff5d3f4
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Thu, 05 Mar 2015 12:38:02 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/ff5d3f4a5e4af34ab0b25e367038310997469d90Bastien Montagne
<![CDATA[[1c1200d]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/1c1200d545f369a7f46061c387751d7616527717 1c1200d
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Mon, 02 Mar 2015 20:20:39 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1c1200d545f369a7f46061c387751d7616527717Bastien Montagne
<![CDATA[[1ebf5fc]: Minor optimization to strcmp hash helper - if both pointers...]]> http://www.miikahweb.com/en/blender/git-logs/commit/1ebf5fc9edc99575b6dc028a745d430fcb177d78 1ebf5fc
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Minor optimization to strcmp hash helper - if both pointers are the same, then strings are the same...

----------------------------------------
1 Path Changed]]>
Sun, 01 Mar 2015 20:48:31 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1ebf5fc9edc99575b6dc028a745d430fcb177d78Bastien Montagne
<![CDATA[[4e3aa41]: Grrr, thought I had added that file already!]]> http://www.miikahweb.com/en/blender/git-logs/commit/4e3aa4181fe029b7229826abee1811ef3013f0e4 4e3aa41
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Grrr, thought I had added that file already!

----------------------------------------
1 Path Changed]]>
Mon, 02 Mar 2015 19:55:26 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/4e3aa4181fe029b7229826abee1811ef3013f0e4Bastien Montagne
<![CDATA[[5bced60]: GHash: add intersection (with tests).]]> http://www.miikahweb.com/en/blender/git-logs/commit/5bced60008282b52ad2fe12e8bf64dbc287630a2 5bced60
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
GHash: add intersection (with tests).

----------------------------------------
2 Paths Changed]]>
Mon, 02 Mar 2015 15:03:05 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/5bced60008282b52ad2fe12e8bf64dbc287630a2Bastien Montagne
<![CDATA[[7c324e7]: GHash: Add difference and symmetric_difference (with tests).]]> http://www.miikahweb.com/en/blender/git-logs/commit/7c324e76a984f81caae43e1600da007ed4afd892 7c324e7
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
GHash: Add difference and symmetric_difference (with tests).

Also fix some issues in previous commits.

Notes about our 'symmetric_difference':
* name is taken from py, but our function takes multiple arguments,
and returns keys which are present in one and only one given ghash.
So we may want a better name for that
(real symmetric difference only accepts/works with two args)!
* Its code is a bit more complex than the others, think it's worth it though,
XOR is a really useful operation imho.

----------------------------------------
2 Paths Changed]]>
Mon, 02 Mar 2015 19:54:50 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/7c324e76a984f81caae43e1600da007ed4afd892Bastien Montagne
<![CDATA[[e8eb4e4]: GHash: add Union operations (with tests).]]> http://www.miikahweb.com/en/blender/git-logs/commit/e8eb4e4a44d0fc69ebd42025a447766ec958c0ac e8eb4e4
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
GHash: add Union operations (with tests).

----------------------------------------
2 Paths Changed]]>
Mon, 02 Mar 2015 14:34:56 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/e8eb4e4a44d0fc69ebd42025a447766ec958c0acBastien Montagne
<![CDATA[[ec9e0bc]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/ec9e0bc80d8069e44dd238682db2d3d3025f498a ec9e0bc
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Tue, 03 Mar 2015 08:01:42 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/ec9e0bc80d8069e44dd238682db2d3d3025f498aBastien Montagne
<![CDATA[[2334fbf]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/2334fbfc88598b0c17119ba031815e6fc88c1c9d 2334fbf
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Sun, 01 Mar 2015 15:41:37 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2334fbfc88598b0c17119ba031815e6fc88c1c9dBastien Montagne
<![CDATA[[339a933]: Rename BLI_ghash_test -> BLI_ghash_performance_test.]]> http://www.miikahweb.com/en/blender/git-logs/commit/339a933167e31b890b810f2d816fe3aab6872750 339a933
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Rename BLI_ghash_test -> BLI_ghash_performance_test.

This is what it is, and those perf tests are not suited for real behavioral tests.
Will add real tests again in a new BLI_ghash_test.

----------------------------------------
3 Paths Changed]]>
Sun, 01 Mar 2015 15:47:32 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/339a933167e31b890b810f2d816fe3aab6872750Bastien Montagne
<![CDATA[[9312b7b]: Add some real ghash tests.]]> http://www.miikahweb.com/en/blender/git-logs/commit/9312b7b3228d128e4f398edc8a1b59085a40b9a3 9312b7b
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Add some real ghash tests.

Those checks code behaves as expected, not its performances!

----------------------------------------
3 Paths Changed]]>
Sun, 01 Mar 2015 16:40:12 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/9312b7b3228d128e4f398edc8a1b59085a40b9a3Bastien Montagne
<![CDATA[[a359b4d]: Fix crashing GHashIterators.]]> http://www.miikahweb.com/en/blender/git-logs/commit/a359b4d99b892c932b90a36391e278d9355f9dea a359b4d
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Fix crashing GHashIterators.

Inlined accessors are using a another struct than Entry itself,
those two must match perfectly!

Also fix a few other minor typo/mistakes, and come back to modulo
bucket-hashing for now.

----------------------------------------
2 Paths Changed]]>
Sun, 01 Mar 2015 17:45:30 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/a359b4d99b892c932b90a36391e278d9355f9deaBastien Montagne
<![CDATA[[e7cbfa9]: GHash: add copy/isdisjoint/isequal/issubset/issuperset, with...]]> http://www.miikahweb.com/en/blender/git-logs/commit/e7cbfa9d405c2c1abbbbfc10ef12e7f3fa926277 e7cbfa9
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
GHash: add copy/isdisjoint/isequal/issubset/issuperset, with gtests.

We still need union/intersection/difference/symetric_difference...

----------------------------------------
2 Paths Changed]]>
Sun, 01 Mar 2015 20:25:44 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/e7cbfa9d405c2c1abbbbfc10ef12e7f3fa926277Bastien Montagne
<![CDATA[[a2a16f0]: GHash: Some more tests.]]> http://www.miikahweb.com/en/blender/git-logs/commit/a2a16f0251c90148f63e7fc6842b6c07ff19ae30 a2a16f0
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
GHash: Some more tests.

----------------------------------------
1 Path Changed]]>
Sun, 22 Feb 2015 14:12:02 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/a2a16f0251c90148f63e7fc6842b6c07ff19ae30Bastien Montagne
<![CDATA[[b65d36b]: GHash: Add hash to entries.]]> http://www.miikahweb.com/en/blender/git-logs/commit/b65d36b42df015bda1c4d3dfd5139e9b5b37480b b65d36b
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
GHash: Add hash to entries.

This gives a nice speedup during buckets resizing, but also in mere lookups,
especially when key comparison function is not as cheap as a mere equality
(integer vectors, strings...).

It also increases about 15% the entries' memory footprint (30% on 64bits, due to padding),
but think it's really worth it.

----------------------------------------
1 Path Changed]]>
Sat, 21 Feb 2015 17:24:22 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/b65d36b42df015bda1c4d3dfd5139e9b5b37480bBastien Montagne
<![CDATA[[c4fe0f7]: GHash: Add explict 'Shrink' flag to allow shrinking.]]> http://www.miikahweb.com/en/blender/git-logs/commit/c4fe0f7c3fd502bec6f9d947c55f540f51f7fb79 c4fe0f7
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
GHash: Add explict 'Shrink' flag to allow shrinking.

Also, fix (probable) issue with Entry struct and GSet - since we remove sizeof(void*) from
Entry size for gsets, void *val member must absolutely remain the last one!

----------------------------------------
2 Paths Changed]]>
Sat, 21 Feb 2015 17:25:05 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/c4fe0f7c3fd502bec6f9d947c55f540f51f7fb79Bastien Montagne
<![CDATA[[f369b13]: Fix some stupid NULL free.]]> http://www.miikahweb.com/en/blender/git-logs/commit/f369b1385382211d1b33862b4a24c38ca6936e80 f369b13
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Fix some stupid NULL free.

----------------------------------------
1 Path Changed]]>
Sat, 21 Feb 2015 15:12:59 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/f369b1385382211d1b33862b4a24c38ca6936e80Bastien Montagne
<![CDATA[[1a3b3fa]: Some minor cleanup, much better statistics...]]> http://www.miikahweb.com/en/blender/git-logs/commit/1a3b3fa61490ea5efc467e7a9d51444f02883d03 1a3b3fa
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Some minor cleanup, much better statistics...

----------------------------------------
3 Paths Changed]]>
Sat, 21 Feb 2015 14:58:02 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1a3b3fa61490ea5efc467e7a9d51444f02883d03Bastien Montagne
<![CDATA[[61f548e]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/61f548e48e4ccebb8a00aa83ab0879b8279ee191 61f548e
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Sat, 21 Feb 2015 14:58:52 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/61f548e48e4ccebb8a00aa83ab0879b8279ee191Bastien Montagne
<![CDATA[[ce809de]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/ce809de798e06b99ee32b50936c73cb738b4abfa ce809de
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Sat, 21 Feb 2015 08:51:22 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/ce809de798e06b99ee32b50936c73cb738b4abfaBastien Montagne
<![CDATA[[1181dda]: GHash: fix/hugely enhance GHash tests.]]> http://www.miikahweb.com/en/blender/git-logs/commit/1181dda62f2961d1a6dab47aea672f1591dec00b 1181dda
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
GHash: fix/hugely enhance GHash tests.

Also, fix some stupid mistakes in some new murmur hashing helpers,
and rework quality function to simply compute variance in buckets occupation.

Note latest change has some quite funny effects, looks like variance is always
very close to load of the ghash...

As for performances:
* Globally, ghash and murmur have very similar results, both in speed and quality.
* For integers, ghash usually quicker.
* For strings, oddly murmur is much quicker when adding to ghash, but quite slower
when lookingup in the ghash...

Anyway, still much to do in this area!

----------------------------------------
3 Paths Changed]]>
Fri, 20 Feb 2015 19:00:52 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/1181dda62f2961d1a6dab47aea672f1591dec00bBastien Montagne
<![CDATA[[2d3b460]: Rework ghash to make it fully dynamic, and lower load threshold...]]> http://www.miikahweb.com/en/blender/git-logs/commit/2d3b460ff259b19b412bc71c94580055061acb39 2d3b460
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Rework ghash to make it fully dynamic, and lower load threshold.

So now, by default, when you remove an entry from a ghash and it gets below
'shrink' load limit, it resizes it buckets' array.

Also, lowered heavily 'grow' load limit, was 3, which is way too big and had important
impact on performances. Now using 3/4 (similar to java or python dict values), this seems
to give several tens of percents quicker insertions and lookups.

Regarding masking vs. modulo, so far all tests have shown that:
* There is no sensible difference in quality (i.e. both seem to yield more or less
the same quite even distribution);
* Masking is slightly quicker than modulo (as expected), but this is not much important globally.

Warnings:
* This code is far from ready for anything else than toying around, for now!
* Kept old 'modulo' code behind a #define for now, makes code slightly confusing though...

----------------------------------------
3 Paths Changed]]>
Fri, 20 Feb 2015 23:22:10 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2d3b460ff259b19b412bc71c94580055061acb39Bastien Montagne
<![CDATA[[ee0baf6]: Fix own stupidity with 'and' ghash version.]]> http://www.miikahweb.com/en/blender/git-logs/commit/ee0baf6c42436ce4779c44e929c739b2ee6c8ddc ee0baf6
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Fix own stupidity with 'and' ghash version.

----------------------------------------
1 Path Changed]]>
Fri, 20 Feb 2015 12:15:37 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/ee0baf6c42436ce4779c44e929c739b2ee6c8ddcBastien Montagne
<![CDATA[[6c13312]: Merge branch 'master' into temp-ghash-experiments]]> http://www.miikahweb.com/en/blender/git-logs/commit/6c13312d79c4a53a95233fe3022dfff870b7eb8d 6c13312
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Merge branch 'master' into temp-ghash-experiments

----------------------------------------
0 Paths Changed]]>
Fri, 20 Feb 2015 11:12:05 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/6c13312d79c4a53a95233fe3022dfff870b7eb8dBastien Montagne
<![CDATA[[2605675]: Initial GHash-enhancements experiments.]]> http://www.miikahweb.com/en/blender/git-logs/commit/2605675cbdf0992cf55ef9493e3f92f573f0a2fa 2605675
Branches : temp-ghash-experiments
Author : Bastien Montagne (mont29)
----------------------------------------
Initial GHash-enhancements experiments.

This commit adds:
*Some Murmur-based hasing helpers for GHash;
*A (very basic) switch between key-to-bucketidx using modulo or binary-AND;
*Some gtests to make some comparisons.

First test results seem to show that:
* murmur is much much quicker for string keys, with approximately same hash quality;
* org ghash is much much quicker for int keys, but with much worse hash quality than murmur-based one;
* key-to-bucketidx method does not seem to make much difference so far.

Nothing definitive here yet, obviously.

----------------------------------------
7 Paths Changed]]>
Sat, 13 Dec 2014 17:49:19 +0000 http://www.miikahweb.com/en/blender/git-logs/commit/2605675cbdf0992cf55ef9493e3f92f573f0a2faBastien Montagne