Altered LLIndexedVector. There's zero point to having a lookup map into an array like this. Just iterating down the array is faster than the map lookup (which iterates down a linked list...). A hash map would be a different case entirely.
This commit is contained in:
@@ -30,8 +30,12 @@
|
||||
|
||||
#include "message.h"
|
||||
|
||||
U32 sMsgDataAllocSize = 0;
|
||||
U32 sMsgdataAllocCount = 0;
|
||||
|
||||
void LLMsgVarData::addData(const void *data, S32 size, EMsgVariableType type, S32 data_size)
|
||||
{
|
||||
sMsgDataAllocSize += size;
|
||||
mSize = size;
|
||||
mDataSize = data_size;
|
||||
if ( (type != MVT_VARIABLE) && (type != MVT_FIXED)
|
||||
@@ -45,6 +49,7 @@ void LLMsgVarData::addData(const void *data, S32 size, EMsgVariableType type, S3
|
||||
}
|
||||
if(size)
|
||||
{
|
||||
++sMsgdataAllocCount;
|
||||
delete[] mData; // Delete it if it already exists
|
||||
mData = new U8[size];
|
||||
htonmemcpy(mData, data, mType, size);
|
||||
@@ -120,7 +125,7 @@ std::ostream& operator<<(std::ostream& s, LLMessageBlock &msg)
|
||||
for (LLMessageBlock::message_variable_map_t::iterator iter = msg.mMemberVariables.begin();
|
||||
iter != msg.mMemberVariables.end(); iter++)
|
||||
{
|
||||
LLMessageVariable& ci = *(*iter);
|
||||
LLMessageVariable& ci = *iter->second;
|
||||
s << ci;
|
||||
}
|
||||
|
||||
@@ -164,7 +169,7 @@ std::ostream& operator<<(std::ostream& s, LLMessageTemplate &msg)
|
||||
for (LLMessageTemplate::message_block_map_t::iterator iter = msg.mMemberBlocks.begin();
|
||||
iter != msg.mMemberBlocks.end(); iter++)
|
||||
{
|
||||
LLMessageBlock* ci = *iter;
|
||||
LLMessageBlock* ci = iter->second;
|
||||
s << *ci;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user