The Standard Template Library, or STL for short, is a library of generic algorithms and data structures that has been incorporated in the C++ language standard and now ships with all modern C++ compilers.

In existing STL implementations many STL components boast good performance, some even outdo most of their hand-crafted competition. In many cases, however, there is still room for improvement on both an algorithmic and an implementational level as suggested, for example, by research conducted here at DIKU (Performance Engineering Laboratory).

The purpose of this project is:

  • to study and analyse existing specifications for and implementations of STL to determine the best approaches to optimization,
  • to design alternative/enhanced versions of individual STL components using standard algorithmic and performance engineering techniques, and
  • to implement and document the new versions in C++.

Those will be the main strands of activity, but the project will also be an exercise in software development using up-to-date methodology and tools.

© Performance Engineering Laboratory and the CPH STL contributors, 2000–2017
Last modification: 2017-08-06