diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-08-24 21:33:47 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-08-24 21:33:47 +0400 |
commit | 09a52f18b6d8bd77cbffd746f72e866e1740505f (patch) | |
tree | 525d2cd2121cd5e7112bcb26ffcca0445d979328 /source/blender/bmesh/intern/bmesh_walkers.c | |
parent | 7bd422143e2ebab4f37fd8647206ec5d2235259e (diff) |
ghash: reserve size when its known or can be guessed close enough.
also avoid allocs per node in pbvh_bmesh_node_limit_ensure()
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_walkers.c')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_walkers.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/source/blender/bmesh/intern/bmesh_walkers.c b/source/blender/bmesh/intern/bmesh_walkers.c index 80b85ab6edd..c9e36541db7 100644 --- a/source/blender/bmesh/intern/bmesh_walkers.c +++ b/source/blender/bmesh/intern/bmesh_walkers.c @@ -87,8 +87,8 @@ void BMW_init(BMWalker *walker, BMesh *bm, int type, walker->mask_edge = mask_edge; walker->mask_face = mask_face; - walker->visithash = BLI_ghash_ptr_new("bmesh walkers 1"); - walker->secvisithash = BLI_ghash_ptr_new("bmesh walkers sec 1"); + walker->visithash = BLI_ghash_ptr_new("bmesh walkers"); + walker->secvisithash = BLI_ghash_ptr_new("bmesh walkers sec"); if (UNLIKELY(type >= BMW_MAXWALKERS || type < 0)) { fprintf(stderr, @@ -253,8 +253,6 @@ void BMW_reset(BMWalker *walker) BMW_state_remove(walker); } walker->depth = 0; - BLI_ghash_free(walker->visithash, NULL, NULL); - BLI_ghash_free(walker->secvisithash, NULL, NULL); - walker->visithash = BLI_ghash_ptr_new("bmesh walkers 1"); - walker->secvisithash = BLI_ghash_ptr_new("bmesh walkers sec 1"); + BLI_ghash_clear(walker->visithash, NULL, NULL); + BLI_ghash_clear(walker->secvisithash, NULL, NULL); } |