Skip to content

EASTL (EA) Source-Level Deep Analysis

Source path: references/impl/EASTL/include/EASTL/

EASTL is an STL replacement implementation open-sourced by Electronic Arts in 2007. Redesigned for game runtime environments: deterministic memory behavior, zero exception overhead, explicit allocator control.

Core Design Philosophy

EASTL's central argument: the standard STL's design assumes "general-purpose computing," whereas game engines require "predictable real-time computing."

Table of Contents

ChapterSource PathContent
Allocator Modelallocator.hNon-template instantiation, dual allocate overloads, dummy_allocator, debug naming
fixed_* Containersfixed_vector.h, fixed_string.hInline buffer, overflow mechanism, aligned_buffer
Intrusive Containers and Hashtableintrusive_list.h, hashtable.hIntrusive design, open-addressing hash, red-black tree
String, Span, and Sortstring.h, span.h, sort.hThree-tier storage string, Span view, radix sort

Comparison with Standard Library

DimensionEASTLstd (Standard)
Allocatornon-template, instance-passedtemplate parameter binding
Exceptionscompletely unusedrelies on exceptions
SSOimplementation-dependent15-22 bytes
fixed containersnative supportnone (requires std::pmr)
Intrusive containersnative supportnone
Game enginedesign targetnot a target
Generalitygame/embeddedgeneral-purpose

Released under the MIT License