TuxML / tuxml

The main repository of the TuxML project contains the scripts for building Linux kernel configurations in the large.
Apache License 2.0
4 stars 2 forks source link

What's the influence of compilers on binary kernel size? #34

Open FAMILIAR-project opened 3 years ago

FAMILIAR-project commented 3 years ago

Prior works have been done on gcc 6.4 for several versions of the kernel (4.13.3, 4.15, 4.20, 5.0, 5.4, 5.7, 5.8), over 20K+ configurations (or more) per version. We have pretty good results for predicting binary kernel size. A threat is that the gathered data has only been computed with gcc 6.4, because this compiler was the "one" for 4.13.3. We can wonder to what extent a change in compiler version can change our results and prediction. For instance, given the same configuration and the same kernel version 5.8, is the binary size the same with gcc 6.4 and gcc 10? Formally, given the same (random) configuration (says c) and the same kernel version (says kv), is the binary kernel size the same using different compiler versions (says cc1 and cc2)? We can think of a function like this: ksize (c, kv, cc) = bz with c a configuration, kv a kernel version, cc a compiler, bz the binary size Right now, we can envision to operate over: kv in {4.13.3, 4.15, 4.20, 5.0, 5.4, 5.7, 5.8}, cc in {gcc 6.4, gcc 8.0, gcc 10, clang} Examples are:

Another, perhaps simpler, and similar experiment is as follows: