STL Optimization Techniques
GDC 2001 Roundtable Report
Pete Isensee
Introduction
In March 2001, I presented a roundtable at the Game Developer's Conference in San Jose. The roundtable was held an hour a day for each of the three days of the conference. The roundtable generated excellent and thought-provoking conversation among game developers using or considering the STL. Discussion centered on the best ways to get good STL performance and improve performance. We talked about common STL mistakes and how to avoid them. We also discussed various STL implementations, debugging issues, custom containers and allocators, as well as libraries similar to STL.
83 total people attended the roundtable. 79 of those attendees were software developers. Of the 79 developers, 74 had written STL code, and over 40% had used STL in shipped games, with an estimate of 50+ titles represented. Two-thirds of the developers reported using STL for games in progress.
PCs represented the platform of choice for most of the developers, with over 80% reporting developing for PCs and 20% for consoles. A single attendee reported using STL for a handheld device (GameBoy Advanced).
The STL implementation most widely used was Dinkumware, the implementation that ships with Microsoft Visual Studio, used by 3 out of 4 developers. 15% use STLport, a highly cross-platform implementation based on the SGI implementation. The SGI implementation is used by 6%.
Three-fourths of the developers use the Visual C++ 6.0 compiler. 13% use GCC, 9% use Metrowerks, and a handful of developers use other compilers.
In the course of the three days, we generated the following list of STL optimization techniques and resources. Each of these techniques merits much more detail than a single line, but that work is left to a future article.
General
Compilation Speed
Containers
Objects
Iterators
Algorithms
STL Implementations
STL-compatible Libraries
Web Resources
Articles
Books and Authors
Last update Jan 2009
© 2009 Pete & Kristi Isensee. All Rights Reserved