eastl

EASTL versus STL, how can there be such a performance difference in std::vector<uint64_t>::operator[]

☆樱花仙子☆ 提交于 2020-01-01 04:18:05
问题 According to http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html vector<uint64>::operator[] is between 2% and 70% faster in EASTL than a "commonly used commercial version of STL". Unless the commercial version of STL uses range checking, which would make the comparison unfair, how can it possibly be such a speed difference for such a simple operation? Update: Seems the answer is that the EA engineers is simply cheating by comparing with a version which uses range checking...

EASTL versus STL, how can there be such a performance difference in std::vector<uint64_t>::operator[]

我只是一个虾纸丫 提交于 2019-12-03 11:52:24
According to http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html vector<uint64>::operator[] is between 2% and 70% faster in EASTL than a "commonly used commercial version of STL". Unless the commercial version of STL uses range checking, which would make the comparison unfair, how can it possibly be such a speed difference for such a simple operation? Update: Seems the answer is that the EA engineers is simply cheating by comparing with a version which uses range checking... The document states that they used VC++ 2005 for Windows testing, with which checked iterators are

How to track memory usage using EASTL?

╄→尐↘猪︶ㄣ 提交于 2019-12-02 09:49:38
问题 The Electronic Arts EASTL library's east::allocator requires the user to implement a special new operator (as shown in this sample). This new operator has a const char* name , which is supposed to be used to log application-specific information about memory allocations performed EASTL containers. The EASTL Best Practices guide also mentions that one should " Name containers to track memory usage. " However, there does not appear to be any corresponding const char* name passed by eastl:

How to track memory usage using EASTL?

心已入冬 提交于 2019-12-02 04:50:46
The Electronic Arts EASTL library's east::allocator requires the user to implement a special new operator (as shown in this sample ). This new operator has a const char* name , which is supposed to be used to log application-specific information about memory allocations performed EASTL containers. The EASTL Best Practices guide also mentions that one should " Name containers to track memory usage. " However, there does not appear to be any corresponding const char* name passed by eastl::allocator::deallocate , so there does not appear to be a built-in way to log memory deallocations . How is