Read the time of the simulator in setting timestamp and seeding the randomness
Free buffer and hash
Make m_hash a two-dimensional char array instead of an array of std::string
Use GetSerializedSize instead of GetMaxSerializedSize
Use char* instead of std::string for the hash parameter of insert
Make hash_ as a char* instead of std::string and revert back to boost::intrusive::unordered_set