[Bf-blender-cvs] [6d2c3a2] master: BMesh: avoid ghash realloc's making log entry

Campbell Barton noreply at git.blender.org
Sun Apr 12 09:38:51 CEST 2015


Commit: 6d2c3a245622fa836ae603666789970a2f83b1c1
Author: Campbell Barton
Date:   Sun Apr 12 15:01:38 2015 +1000
Branches: master
https://developer.blender.org/rB6d2c3a245622fa836ae603666789970a2f83b1c1

BMesh: avoid ghash realloc's making log entry

===================================================================

M	source/blender/bmesh/intern/bmesh_log.c

===================================================================

diff --git a/source/blender/bmesh/intern/bmesh_log.c b/source/blender/bmesh/intern/bmesh_log.c
index 8596fcb..d2397fa 100644
--- a/source/blender/bmesh/intern/bmesh_log.c
+++ b/source/blender/bmesh/intern/bmesh_log.c
@@ -993,6 +993,15 @@ void BM_log_all_added(BMesh *bm, BMLog *log)
 	BMVert *v;
 	BMFace *f;
 
+	/* avoid unnecessary resizing on initialization */
+	if (BLI_ghash_size(log->current_entry->added_verts) == 0) {
+		BLI_ghash_reserve(log->current_entry->added_verts, (unsigned int)bm->totvert);
+	}
+
+	if (BLI_ghash_size(log->current_entry->added_faces) == 0) {
+		BLI_ghash_reserve(log->current_entry->added_faces, (unsigned int)bm->totface);
+	}
+
 	/* Log all vertices as newly created */
 	BM_ITER_MESH (v, &bm_iter, bm, BM_VERTS_OF_MESH) {
 		BM_log_vert_added(log, v, cd_vert_mask_offset);




More information about the Bf-blender-cvs mailing list