Browse Source

disable dbgheap by default

cxgeorge 24 years ago
parent
commit
c598485e8e
1 changed files with 15 additions and 0 deletions
  1. 15 0
      dtool/src/interrogatedb/config_interrogatedb.cxx

+ 15 - 0
dtool/src/interrogatedb/config_interrogatedb.cxx

@@ -21,11 +21,26 @@
 
 #include <dconfig.h>
 
+#if defined(WIN32_VC) && defined(_DEBUG)
+// _DEBUG assumes you are linking to msvcrt70d.dll, not msvcrt70.dll
+#define USE_WIN32_DBGHEAP
+#include <crtdbg.h>
+#endif
+
 Configure(config_interrogatedb);
 NotifyCategoryDef(interrogatedb, "");
 
 ConfigureFn(config_interrogatedb) {
   //  interrogate_request_library("types");
+
+#ifdef USE_WIN32_DBGHEAP
+  if(!config_interrogatedb.GetBool("use-win32-dbgheap", false)) {
+      // deflt disable complete heap verify every 1024 allocations (VC7 deflt).
+      // With vc7 stl small-string-optimization causing more allocs, 
+      // this can cause order-of-magnitude slowdowns in dbg builds
+      ::_CrtSetDbgFlag(0x0);
+  }
+#endif
 }
 
 const DSearchPath &