Today, the first ever in-person meeting of the C++ SG14 “Games and Low Latency” took place at CppCon15.
You can check out the SG14 Minutes on the public mailing list if you’re interested in the details finer details.
During this meeting, we reviewed several papers and had a spirited discussion on the problems of C++’s exceptions model for game developers.
We reviewed a couple fixed-point math papers, including this paper by John McFarlane and an updated copy of this paper by Lawrence Crowl. Lawrence will be taking John’s paper to the SG6 “Numerics” group for further review and exploring potential mergers between the two papers.
The group also reviewed my flat containers paper. Several major open design questions were discussed in detail, and the paper was approved for moving further along the pipeline and presentation to the Library Evolution Working Group (LEWG).
Brent Friedman presented two papers, a raw storage iterator paper and a proposal for an unstable_remove algorithm. Both papers were well-received with little debate and will be presented to the LEWG.
A proposal for ring queues by Guy Davidson was presented to the group. The general idea was well received and a lot of feedback was given; an updated paper may be presented to LEWG.
Brett Searles presented a rough draft outline paper on improving the thread-safety of the STL to the group. Feedback was provided to further refine the paper for further discussion.
An early thread stack size control paper by Patrice Roy was presented with some involved discussion on specifics, but an overall positive response.
After paper review, the group discussed the C++ exception model. Patrice Roy presented his preliminary findings on the cost of exceptions with modern compilers, showing a non-zero cost to exceptions being enabled or used (in his micro-benchmarks, at least). Discussion quickly reached consensus that there is indeed a problem affecting both game developers and the wider community which should be investigated further in earnest. Further discussion led to brainstorming a number of potential paths to a solution.
We didn’t have time to discuss the remaining topics from our agenda; they will be discussed in our next telecom.