Optimizing A String Class for Computer Graphics in Cpp
summary
SIMDString is a drop-in std::string replacement tuned for graphics that embeds small strings on the object, uses SIMD intrinsics, and relies on a custom freelist allocator and template-configurable inline buffer (16–128 bytes). It intentionally aliases const-segment strings to avoid copies, benchmarks against std::string, Folly and EA implementations, and shows roughly >5x faster on typical small-string workloads; variants run in production at NVIDIA and Roblox and in long-running research engines.
AI-written summary · about
chapters (12)
- 0:00String optimization intro
- 1:26Why strings matter
- 3:53CPU vs GPU strings
- 8:26Optimized string needs
- 10:56Designing SymbiString
- 12:20Optimizing constant segments
- 17:34Alternative optimizations
- 18:56Benchmarking method
- 21:44Performance comparison
- 22:52SymbiString adoption
- 23:34Conclusion and future
- 24:15Q&A
related talks
01h 06mSIMD in C++20: eve of a new era
52mAdvanced SIMD Algorithms in Pictures
05mstd::basic_string: for more than just text
01h 08mAn implementer's view of Boost.SIMD
04mDangling in French and English
01h 00mVectorizing Computational Fluid Dynamics (CFD) Code in C++ Using std::simd
33mxsimd: from xtensor to firefox
42mFaster programs with your compilers autovectorization feature
