June 29, 2015, 15:18 (GMT) |
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 |
March 16, 2015, 12:46 (GMT) |
Merge branch 'master' into temp-ghash-experiments |
March 13, 2015, 13:49 (GMT) |
Merge branch 'master' into temp-ghash-experiments |
March 13, 2015, 09:39 (GMT) |
Merge branch 'master' into temp-ghash-experiments |
March 9, 2015, 14:31 (GMT) |
Merge branch 'master' into temp-ghash-experiments |
March 6, 2015, 13:06 (GMT) |
Merge branch 'master' into temp-ghash-experiments |
March 6, 2015, 13:00 (GMT) |
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... |
March 5, 2015, 16:25 (GMT) |
Cleanup (reduce a bit passing size of entries around by storing it in ghash itself). |
March 5, 2015, 13:22 (GMT) |
GTests GHash performance cleanup (strictly one test per GTest). |
March 5, 2015, 13:10 (GMT) |
Factorize gset/ghash add/reinsert functions. |
March 5, 2015, 12:38 (GMT) |
Merge branch 'master' into temp-ghash-experiments |
March 3, 2015, 08:01 (GMT) |
Merge branch 'master' into temp-ghash-experiments |
March 2, 2015, 20:20 (GMT) |
Merge branch 'master' into temp-ghash-experiments |
March 2, 2015, 19:55 (GMT) |
Grrr, thought I had added that file already! |
March 2, 2015, 19:54 (GMT) |
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. |
March 2, 2015, 15:03 (GMT) |
GHash: add intersection (with tests). |
March 2, 2015, 14:34 (GMT) |
GHash: add Union operations (with tests). |
March 1, 2015, 20:48 (GMT) |
Minor optimization to strcmp hash helper - if both pointers are the same, then strings are the same... |
March 1, 2015, 20:25 (GMT) |
GHash: add copy/isdisjoint/isequal/issubset/issuperset, with gtests. We still need union/intersection/difference/symetric_difference... |
March 1, 2015, 17:45 (GMT) |
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. |
|