不容易。
Rust有同样的问题,它的标准库的HashMap性能是和stl同一级别的。
开发团队解释说这是为了“安全”,确保在任何场景下都能正确的工作,防止HashDos之
类的攻击。
和STL一样,提供了API,不担心dos的话可以自己换hash算法,crates上提供了一些第三
方的库可用
at the time of writing the default is an algorithm called SipHash 1-3. This
algorithm is high quality—it provides high protection against collisions—b
ut is relatively slow, particular for short keys such as integers.
【 在 z16166 的大作中提到: 】
: 上面贴了个截图,是评论区有人喷C++委员会的,为啥不弄个性能好的内置在std中
: 这种可能在不同的场景有不同的要求,诸如插入多、查询多、查询miss多、引用不变性等要求,要完全满足这些需求而且性能做到很高,估计还是很有难度的,可能偏一方面。std这个按说找个性能更好的替换掉,貌似不是难事?
--
FROM 111.199.188.*