Measuring the progress of my OS
Posted: Thu Jul 09, 2020 2:07 pm
Recently I took an operating systems class which rekindled my interest in my hobby OS. I managed to port Doom, implement multitasking, and started writing a GUI and getting programs to display their output in windows.
I've been feeling pretty good about that.
With all this progress, I was wondering how big my OS has gotten, as I do on occasion. I would usually look up some PowerShell command to count lines but I didn't want to keep doing that. Plus we all know lines of code isn't a good metric. But it IS a metric. I mean, I think it's safe to say an OS with a million lines of code is doing a lot more than an OS with a thousand lines of code.
That got me thinking, what IS a good metric for OS development? Lines of code can fluctuate; sometimes when I'm improving something my number of lines actually decreases. So is there any metric that's reliable?
Then it hit me: the more my OS progresses, the more I add "TODO" and "HACK" to the comments of my code. So I decided to write a little AutoHotKey script that counts these very reliable metrics. The script is far from perfect but I thought I'd share what it finds anyway.
Here's how my OS measures up:
So my fledgling OS has 205 TODO's and 21 HACK's. Not bad!
Just for fun, I thought I'd compare that to some other open-source operating systems.
First up is an OS I can't pronounce but have been watching for a while:
Only 13 TODO's? I was really surprised; I thought toaruos was further along than that! I guess Klange has some work to do.
Next is another OS I've seen on the forums here:
Fun fact: managarm is an anagram for managram. With 583 TODO's, this OS clearly has potential.
If you're not aware of Serenity you really should be. The momentum this project has is incredible!
but with 561 TODO's it's only about three times as good as my own OS. It's good to know that I can catch up!
Now for the poster-child of open-source operating systems:
1,355 TODO's is not too shabby at all!
Finally, my personal favorite, ReactOS:
A whopping 4,996 TODO's demonstrate that ReactOS is easily the most advanced open-source OS, nearly four times as advanced as Linux!
Well I hope you had fun as much fun as I did analyzing some projects.
Management-types take note: TODO's is the new hot metric you should all be using!
I've been feeling pretty good about that.
With all this progress, I was wondering how big my OS has gotten, as I do on occasion. I would usually look up some PowerShell command to count lines but I didn't want to keep doing that. Plus we all know lines of code isn't a good metric. But it IS a metric. I mean, I think it's safe to say an OS with a million lines of code is doing a lot more than an OS with a thousand lines of code.
That got me thinking, what IS a good metric for OS development? Lines of code can fluctuate; sometimes when I'm improving something my number of lines actually decreases. So is there any metric that's reliable?
Then it hit me: the more my OS progresses, the more I add "TODO" and "HACK" to the comments of my code. So I decided to write a little AutoHotKey script that counts these very reliable metrics. The script is far from perfect but I thought I'd share what it finds anyway.
Here's how my OS measures up:
So my fledgling OS has 205 TODO's and 21 HACK's. Not bad!
Just for fun, I thought I'd compare that to some other open-source operating systems.
First up is an OS I can't pronounce but have been watching for a while:
Only 13 TODO's? I was really surprised; I thought toaruos was further along than that! I guess Klange has some work to do.
Next is another OS I've seen on the forums here:
Fun fact: managarm is an anagram for managram. With 583 TODO's, this OS clearly has potential.
If you're not aware of Serenity you really should be. The momentum this project has is incredible!
but with 561 TODO's it's only about three times as good as my own OS. It's good to know that I can catch up!
Now for the poster-child of open-source operating systems:
1,355 TODO's is not too shabby at all!
Finally, my personal favorite, ReactOS:
A whopping 4,996 TODO's demonstrate that ReactOS is easily the most advanced open-source OS, nearly four times as advanced as Linux!
Well I hope you had fun as much fun as I did analyzing some projects.
Management-types take note: TODO's is the new hot metric you should all be using!