Friday, 3 May 2019

Re: Aggregate usage statistics request for Boost


On Fri, 3 May 2019 at 10:03, Joshua Marshall <> wrote:
Hello all,

A few of us with Boost are trying to decide support of different compilers.  I know that Ubuntu collects some anonymized statistics which could help us some.  Could someone please collect and forward the following bits of information to :
Install base size of Ubuntu 14.04 to 19.04
Per OS version, what versions of GCC, Clang, and Boost are installed on what percentage of the install base.

From Ubuntu development point of view, our biggest concern is that no stable releases of boost claim to be supported or tested with the next GCC compiler. 

For example, for 19.10 we will be switching to GCC-9 by default, yet boost 1.70.0 primary test compilers do not include GCC-9 for Linux. Ideally, we would like to see boost upstream include next-gcc as part of primary or additional test compilers for every boost release.

W.R.T. Install base size ratios and which boosts are in use -> we do not have statistics on what you are asking for. I.e. default compilers are installed on all systems (to support dkms), some boost runtime libraries are also always installed as quite a few packages depend on boost runtimes. And dev packages are not tracked and impossible to tell if they are installed by accident or on purpose.

We can say generically, that our LTS releases are used a lot more than non-LTS releases, and thus by extension default compilers and boost versions within those are used more. And LTS cycles do follow an overlap, where for a while after one LTS release, the previous LTS is the most popular, and then it rolls over eventually.

Our default compiler is GCC for all packages. LLVM toolchain is used for mesa and intel graphics compiler, and like that's it. Mesa requirements are what drives LLVM toolchain updates in Ubuntu.

Next LTS
20.04 -> to be determined

Current Development
19.10 -> 1.67.0, gcc 8.3 being switched to gcc 9, clang 8.0

Current LTS releases (most popular at the moment)
18.04 -> 1.65.1, gcc 7.4, clang 6.0
16.04 -> 1.58.0, gcc 5.3, clang 3.8

Past basic support, in Extended Maintainance Support LTS (very old)
14.04 -> 1.54.0, gcc 4.8, clang 3.4
12.04 -> 1.48.0, gcc 4.6, clang 3.0