VOOZH about

URL: https://www.phoronix.com/news/Mesa-17-Code-Size-Changes

⇱ Mesa 17.0 Saw Less Code Changes Than Earlier Releases, But More Notable Features - Phoronix


👁 Phoronix

Mesa 17.0 Saw Less Code Changes Than Earlier Releases, But More Notable Features

Written by Michael Larabel in Mesa on 20 January 2017 at 07:52 AM EST. 3 Comments
With Mesa 17.0 up to its release candidates and being under a feature freeze, I explored this morning how the size of the changes for Mesa 17.0 compare to earlier Mesa milestones.

Mesa 17.0 ships with many exciting end-user changes such as OpenGL 4.5 for RadeonSI, OpenGL 4.5 for Haswell, many RADV and ANV Vulkan driver improvements, improved OpenGL 4.x Nouveau support, and many other features I'll recap shortly in a Mesa 17.0 feature overview article.

While there are many things to get excited about for Mesa 17.0, it actually saw much less code churn than previous Mesa releases. Not that it's a bad thing, but I found the statistics interesting and likely a sign of the maturing of the Mesa code-base with needing less radical changes for supporting the latest OpenGL 4.x functionality and more code sharing going on with the Vulkan drivers.
[michael@f25-michael mesa]$ git diff --shortstat mesa-13.0.0 mesa-17.0.0-rc1
1351 files changed, 96215 insertions(+), 35801 deletions(-)
[michael@f25-michael mesa]$ git diff --shortstat mesa-12.0.0 mesa-13.0.0
1840 files changed, 149191 insertions(+), 65620 deletions(-)
[michael@f25-michael mesa]$ git diff --shortstat mesa-11.2.0 mesa-12.0.0
1766 files changed, 196972 insertions(+), 40607 deletions(-)
[michael@f25-michael mesa]$ git diff --shortstat mesa-11.1.0 mesa-11.2.0
1742 files changed, 107248 insertions(+), 27533 deletions(-)
[michael@f25-michael mesa]$ git diff --shortstat mesa-11.0.0 mesa-11.1.0
1348 files changed, 108044 insertions(+), 44463 deletions(-)

Of any of the recent Mesa releases back to 11.0, the changes going from Mesa 13.0.0 to 17.0.0-rc1 are the smallest. There were less than 100,000 insertions of code and just 35,000 deletions of code. In comparison, the previous four Mesa releases all saw over 100,000 lines of insertions (and with Mesa 12.0 closer to 200,000). There are also a few hundred less files modified for Mesa 17.0 development than with the three previous releases. Just some interesting food for thought this morning.

For those curious about the Mesa code-base as of this morning and its overall size:

[michael@f25-michael mesa]$ cloc .
 5476 text files.
 5366 unique files. 
 699 files ignored.

github.com/AlDanial/cloc v 1.70 T=20.22 s (236.3 files/s, 97289.9 lines/s)
---------------------------------------------------------------------------------------
Language files blank comment code
---------------------------------------------------------------------------------------
C 2022 149846 151022 763903
C/C++ Header 1681 60772 88310 294254
C++ 344 33725 41880 179980
XML 114 4235 832 83983
HTML 198 7311 32 31178
Python 97 5875 6960 23405
Assembly 24 2417 1453 7441
make 178 2046 3271 6310
yacc 2 712 441 3836
m4 8 386 144 3305
Perl 1 334 72 1895
Windows Module Definition 6 2 20 1510
Bourne Shell 78 348 137 972
lex 2 139 201 733
Bourne Again Shell 7 25 11 577
Protocol Buffers 1 51 2 374
XSLT 1 29 21 146
YAML 2 29 43 120
DOS Batch 2 17 1 119
Lisp 8 0 0 89
DTD 1 6 63 75
CSS 1 9 3 51
---------------------------------------------------------------------------------------
SUM: 4778 268314 294919 1404256
---------------------------------------------------------------------------------------

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.