number of shards are calculated and std::unordered_map is changed to boost for performance.
unordered map is changed to boost.