Yesterday I wrote about what the diffstat between MySQL 5.5 and MariaDB 5.5 was, and previously to that, about the MariaDB code size as reported by sloccount. Let’s look at MySQL 5.6.
A naive wc based “lines of code” for MySQL 5.6 sql/ directory is ~490kLOC which contasts with MySQL 5.5 being ~375kLOC by the same measure. If we diffstat the sql/ directory like I did for MariaDB 5.5 we get:
357 files changed, 172871 insertions(+), 67922 deletions(-)
Versus, as you remember from yesterday for MariaDB 5.5 over MySQL 5.5:
250 files changed, 83639 insertions(+), 23090 deletions(-)
The MySQL 5.5 to 5.6 sql/ changes line up with What I found in my post MySQL modularity, are we there yet? in that the core server code for MySQL has grown by about 100,000 lines of code.
The jump from MySQL 5.5 to MariaDB 5.5 is a smaller one than jumping from MySQL 5.5 to MySQL 5.6, at least in terms of changed server code.
A judgement all on if a smaller diff is a safer jump or not will rest more with the quality of that code more than anything else. As we’ve seen previously, modularity isn’t coming to the MySQL code base any time soon.
Oh! I figured out what this series is! It’s like back in the day where you used to post one picture per post so your count would increase. (seriously, lines of code aren’t necessarily an indicator of anything)
New #mysql planet post : diffstat of MySQL 5.6 versus 5.5 http://t.co/G2YeiycoIA
IIRC one reason why you will see a difference between MariaDB 5.5 and MySQL 5.5 is some of the code is the same but in different files. Also why MySQL 5.1 and 5.5 should have a largish diff.
Still, very interesting stuff.
shorter posts avoid tl;dr too
I’m simply trying to use total lines of code and diffstat size as some kind of measure to back up any feelings that I have. I prefer some kind of evidence backing up my claims rather than just hypothesizing without any evidence.
It’s not perfect at all. That being said, there’s a point at which no single human can reasonably or easily understand an entire code base – and if it isn’t modular, they’re going to understand even less of it which simply cannot be a good thing for quality.
Kostja Osipov liked this on Facebook.