size of the Thunderbird codebase
Joshua Cranmer 🐧
pidgeot18 at gmail.com
Mon Sep 14 14:00:43 UTC 2015
On 9/14/2015 5:55 AM, Aceman wrote:
> I found this comment on LWN interesting: http://lwn.net/Articles/656572/
> It compares size of codebase (in source lines of code) of all packages in the Debian database.
It's worth noting (from a later comment) that source packages whose code
is mostly in a tarball are basically woefully undercounted. This looks
to include heavy-hitters like OpenJDK or gcc (although llvm-toolchain
only clocked in at ~3MLOC, so gcc might not broach Firefox in size).
> >From the comment:
> The top-ten (not counting different versions of the same packages) is like this (format is sloc|package|version):
> Notice "icedove", the Debian branded Thunderbird. So comparing the total size of the package we need to use to build TB, we are quite big. Of course if we only count difference to iceweasel (Firefox), it is "just" 370 000 SLOC (they probably count Seamonkey specific parts too).
> I find it surprising e.g. Libreoffice codebase is smaller than Firefox.
Firefox has long been known to be a shortlist candidate for "largest
Debian project" (having a massive test suite, which is going to get
included in these line counts, does help to inflate those numbers
considerably). Thunderbird is larger simply because it includes all of
Firefox. Keep in mind that Firefox contains a fully-functional JIT and
it's running in complexity something on the order of python or ruby in
terms of SLOC from that alone), a non-trivial full-featured document
language (i.e., HTML/CSS), and a generic standard library for
manipulating that (which gives it the size of LibreOffice Writer right
there), as well as all the other web API stuff.
I suspect chromium is bloated because it likely includes a lot of
support infrastructure in the package (e.g., llvm, gcc), but web
browsers these days are as complex as language runtimes or OS kernels.
Which, when you think about it, they totally are.
Thunderbird and DXR developer
Source code archæologist
More information about the tb-planning