AnvilStats: made FastNBT faster by tweaking the pre-allocation.

Although the file is shared between AnvilStats and MCServer, MCServer doesn't use this tweak (it uses too much memory)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@931 0a769ca7-a7f5-676a-18bf-c427514a06d6
master
madmaxoft@gmail.com 2012-10-05 08:33:25 +00:00
parent 75a1bd8a37
commit c26a593228
2 changed files with 31 additions and 1 deletions

View File

@ -356,6 +356,30 @@
<File
RelativePath="..\source\WorldStorage\FastNBT.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="NBT_RESERVE_SIZE=10000"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="NBT_RESERVE_SIZE=10000"
/>
</FileConfiguration>
<FileConfiguration
Name="Release profiled|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="NBT_RESERVE_SIZE=10000"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\source\WorldStorage\FastNBT.h"

View File

@ -10,6 +10,12 @@
// The number of NBT tags that are reserved when an NBT parsing is started.
// You can override this by using a cmdline define
#ifndef NBT_RESERVE_SIZE
#define NBT_RESERVE_SIZE 200
#endif // NBT_RESERVE_SIZE
#define RETURN_FALSE_IF_FALSE(X) do { if (!X) return false; } while (0)
@ -54,7 +60,7 @@ bool cParsedNBT::Parse(void)
return false;
}
m_Tags.reserve(200);
m_Tags.reserve(NBT_RESERVE_SIZE);
m_Tags.push_back(cFastNBTTag(TAG_Compound, -1));