根据http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html,EASTL
vector<uint64>::operator[]
比“常用的 STL 商业版本”快 2% 到 70%。
除非商业版的 STL 使用范围检查,否则比较不公平,那么简单的操作怎么可能有这么大的速度差异呢?
更新:
似乎答案是 EA 工程师只是通过与使用范围检查的版本进行比较来作弊......
根据http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html,EASTL
vector<uint64>::operator[]
比“常用的 STL 商业版本”快 2% 到 70%。
除非商业版的 STL 使用范围检查,否则比较不公平,那么简单的操作怎么可能有这么大的速度差异呢?
更新:
似乎答案是 EA 工程师只是通过与使用范围检查的版本进行比较来作弊......
我认为文档中的这段话至关重要
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html#eastl_allocator
它显然受到 Pablo Halpern 著名的“走向更好的分配器模型”文章的启发