adjust the size of the memory pools
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 6b349f0..95c164c 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -1502,11 +1502,11 @@
DeleteChildren();
delete [] _charBuffer;
-#if 0
- textPool.Trace( "text" );
- elementPool.Trace( "element" );
- commentPool.Trace( "comment" );
- attributePool.Trace( "attribute" );
+#if 1
+ _textPool.Trace( "text" );
+ _elementPool.Trace( "element" );
+ _commentPool.Trace( "comment" );
+ _attributePool.Trace( "attribute" );
#endif
#ifdef DEBUG
diff --git a/tinyxml2.h b/tinyxml2.h
index cf60a58..bd504fc 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -98,9 +98,9 @@
#define TIXML_SSCANF sscanf
#endif
-static const int TIXML2_MAJOR_VERSION = 1;
-static const int TIXML2_MINOR_VERSION = 0;
-static const int TIXML2_PATCH_VERSION = 10;
+static const int TIXML2_MAJOR_VERSION = 1;
+static const int TIXML2_MINOR_VERSION = 0;
+static const int TIXML2_PATCH_VERSION = 10;
namespace tinyxml2
{
@@ -359,7 +359,16 @@
return _nUntracked;
}
- enum { COUNT = 1024/SIZE }; // Some compilers do not accept to use COUNT in private part if COUNT is private
+ // This number is perf sensitive. 4k seems like a good tradeoff on my machine.
+ // The test file is large, 170k.
+ // Release: VS2010 gcc(no opt)
+ // 1k: 4000
+ // 2k: 4000
+ // 4k: 3900 21000
+ // 16k: 5200
+ // 32k: 4300
+ // 64k: 4000 21000
+ enum { COUNT = (4*1024)/SIZE }; // Some compilers do not accept to use COUNT in private part if COUNT is private
private:
union Chunk {
diff --git a/xmltest.cpp b/xmltest.cpp
index 5f7cb30..24a68bd 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -289,6 +289,7 @@
if ( !errorID ) {
printf( "Load time=%d\n", loadTime - startTime );
printf( "Delete time=%d\n", deleteTime - loadTime );
+ printf( "Total time=%d\n", deleteTime - startTime );
}
exit(0);
}