TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

EA open sources their internal version of STL

89 pointsby seekelyover 14 years ago

6 comments

ukdmover 14 years ago
Source: <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html" rel="nofollow">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n227...</a><p>Differences between std STL and EASTL<p>First, EASTL provides a set of containers, iterators, and algorithms that are identical in interface and behavior to std STL versions with one exception: allocators. EASTL has a different allocator specification which is simpler, more efficient, more flexible, and easier to use than std::allocator. Both std::allocator and eastl::allocator are described below. EASTL follows the defect reports and TR1 as well. EASTL additionally provides and uses some of the TR1 functionality as well, including most significantly the smart pointers, type traits, and hashing containers.<p>Second, EASTL provides extension functionality to the above containers, iterators, and algorithms. An example of this is the push_back(void), set_capacity(size), and validate() functions added to eastl::vector. The majority of these extensions are driven by the need for higher performance (push_back(void)), higher clarity (set_capacity), or higher debuggability (validate()). There are about 30 such extensions to the various entities in the library. These are described in detail below.<p>Third, EASTL provides additional containers and algorithms that don't correspond to std STL. These include intrusive_list, vector_map, fixed_hash_set, slist, ring_buffer, radix_sort, has_trivial_relocate, and others. These are described in detail below.<p>There are additional differences not related to the functional specification. They include a programming philosophy that emphasizes readability, consistency, and optimal performance on limited hardware.
评论 #1833042 未加载
jrockwayover 14 years ago
This is why game companies use C++. They've already reimplemented it internally and don't ever want to do that again.
评论 #1833036 未加载
评论 #1831747 未加载
评论 #1831538 未加载
Keyframeover 14 years ago
<a href="http://news.ycombinator.com/item?id=1798215" rel="nofollow">http://news.ycombinator.com/item?id=1798215</a> - barrybe set up that github.<p>Here are first rough benchmarks: <a href="http://msinilo.pl/blog/?p=668" rel="nofollow">http://msinilo.pl/blog/?p=668</a>
bhickeyover 14 years ago
Why the heck are they hosting it at <a href="http://gpl.ea.com" rel="nofollow">http://gpl.ea.com</a> when they've released the code under the 3-clause BSD license?
w1ntermuteover 14 years ago
What's their reason for open sourcing it?
评论 #1832961 未加载
axusover 14 years ago
E. A. STL. It's in the game.<p>But don't say it like that, it's against the license ;p