Blender Git Loki
Git Commits -> Revision 3b8743d
Revision 3b8743d by Bastien Montagne (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... |
Commit Details:
Full Hash: 3b8743d790867b43267a3e527fd27e9a072ef46b
Parent Commit: ced0a84
Lines Changed: +373, -274
6 Modified Paths:
/source/blender/blenkernel/intern/cdderivedmesh.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/treehash.c (+1, -1) (Diff)
/source/blender/blenlib/BLI_ghash.h (+3, -3) (Diff)
/source/blender/blenlib/intern/BLI_ghash.c (+363, -262) (Diff)
/source/blender/bmesh/tools/bmesh_region_match.c (+4, -6) (Diff)
/source/blender/editors/mesh/meshtools.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/treehash.c (+1, -1) (Diff)
/source/blender/blenlib/BLI_ghash.h (+3, -3) (Diff)
/source/blender/blenlib/intern/BLI_ghash.c (+363, -262) (Diff)
/source/blender/bmesh/tools/bmesh_region_match.c (+4, -6) (Diff)
/source/blender/editors/mesh/meshtools.c (+1, -1) (Diff)