Compiling Perl, Python and Ruby
If I remember correctly I heard people from various downstream Linux distributions complain that perl is too big. I know that they have already started to split the standard distribution of perl into pieces. For example Debian, and thus Ubuntu have a separate package called perl-doc that includes the documentation of Perl.
On the other hand I know that the standard library of Python has a lot of modules that are not included in the standard distribution of Perl.
So I set out to check how much disk space do the standard distributions of the 3 major dynamic languages take up.
At least on a Linux box.
Perl
perl.org has links how to download binary version for the major operating systems, and the source code of Perl.
CPAN has the source code and the instruction how to compile and install Perl.
I picked up the tar.gz file of 5.18.0. The file size of the source: 17 Mb, Unzipped source: 87 Mb, Installed size: 71Mb
Instructions to download, build and install Perl:
wget http://www.cpan.org/src/5.0/perl-5.18.0.tar.gz
tar -xzf perl-5.18.0.tar.gz
cd perl-5.18.0
./Configure -des -Dprefix=$HOME/local/perl
make
make test
make install
Disk usage using du -ms several times I get the following directory sizes (in Mb):
perl 71
bin 3
lib 50
man 19
Python
python.org has instructions how to download Python.
Using Python 2.7.5 tgz file size of the source: 14Mb, Unzipped source: 70 Mb, Installed size: 108 Mb
Instructions to download, build and install Python:
wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
tar xzf Python-2.7.5.tgz
cd Python-2.7.5
./configure --prefix $HOME/local/python
make
make test
make install
Disk usage using du -ms several times I get the following directory sizes (in Mb):
python 108
bin 8
include 1
lib 99
libpython2.7.a 14
pkgconfig 1
python2.7 86
share 1
Ruby
ruby-lang.org has the instructions how to download Ruby.
Ruby 2.0.0-p247 file size 14Mb, Unzipped source: 74 Mb, Installed size: 352Mb
wget ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
tar xzf ruby-2.0.0-p247.tar.gz
cd ruby-2.0.0-p247/
./configure --prefix $HOME/local/ruby
make
make test
make install
Disk usage using du -ms several times I get the following directory sizes (in Mb):
ruby 352
bin 13
include 1
lib 72
libruby-static.a 41
pkgconfig 1
ruby 32
share 268
doc 198
man 1
ri 70
Summary
Perl | Python | Ruby | |
Version: | 5.18.0 | 2.7.5 | 2.0.0-p247 |
zipped size: | 17 | 14 | 14 |
unzipped size: | 87 | 70 | 74 |
installed size: | 71 | 108 | 352 |
Sizes in Mb after compilation and installation as described above on a Linux box.
So it seems Perl has the smallest footprint among the 3 languages.
At another time I think I'll need to compare what libraries each one of the languages comes with and how would installing comparative libraries in the other languages would impact the installation size.