Blender Git Commit Log

Git Commits -> Revision 3b8743d

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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021