Update: This chart has been updated and I’ve added charts for C++11 Concurrency, C++14, and C++17 here.
One of the things I wanted to see was not just how support had advanced between versions of each compiler, but how compilers had changed relative to one another over time. I extracted the numbers for C++11 from Christophe’s document, found the release dates for each compiler, and created a chart that puts it all together.
It’s interesting to see how far behind Clang starts in comparison to the others, and that it ends up in a close dance with GCC on the way to full C++11 support. It also highlights how disappointing VC++ has been in terms of language feature advancement — particularly when VS2010 was ahead of Clang and ICC for C++11 features.
Creating the chart also served as an opportunity to play around with data visualization using Bokeh. As such, you can click on the chart above and you’ll see a version that you can zoom, pan, and resize (which is only a small part of what Bokeh offers). I intend to write about my experiences with Bokeh at a later date.
Release dates for each compiler were taken from the following pages:
- Visual Studio: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio
- GCC: https://gcc.gnu.org/releases.html
- Clang: http://llvm.org/releases/
- ICC: http://en.wikipedia.org/wiki/Intel_C++_Compiler
The date used to mark the approval of the C++11 standard is taken from http://en.wikipedia.org/wiki/C++11