= SSD for compilation =

After I tried to compile Elektra on my laptop I was fascinated how fast
it is. The compilation time was reduced from 8 minutes to 1 minute. The
question arose if just upgrading to a SSD also brings improvements, or
if the speedup is because of CPU/Memory.

For comparision we build Elektra on different machines and for some of
those we first use HDD and then SSD.

== EliteBook  ==

The fastest and latest hardware:

full build:  make -j 5  246,18s user 11,11s system 480% cpu 53,598 total
empty build: make -j 5  0,26s user 0,15s system 139% cpu 0,290 total

Simply amazing how fast this can be..

on tmpfs it goes like:
full build:  make -j 5  244,18s user 10,71s system 481% cpu 52,971 total
empty build: make -j 5  0,24s user 0,14s system 135% cpu 0,287 total

so not really faster

== Desktop ==

full build:  make -j 5  612,43s user 39,11s system 180% cpu 6:01,44 total
empty build: make -j 5  1,20s user 1,26s system 108% cpu 2,275 total

Using Samsung 840 PRO (with SATA 2)
make clean -j 5  0,90s user 0,68s system 111% cpu 1,412 total
full build:  make -j 3  287,08s user 29,03s system 174% cpu 3:01,07 total
empty build: make -j 3  1,23s user 1,16s system 101% cpu 2,361 total

The full build is nearly twice as fast, but compilation on a already
finished build (empty build), which is more important for work has no
difference. The reason is that either reading on raid is faster or
because everything is memcached already.

So you need better CPU/Ram, as seen in EliteBook to improve this. There
it is 10 times faster which is basically no waiting.

on tmpfs it needs:
full build:  make -j 5  627,40s user 36,98s system 180% cpu 6:07,56 total
empty build: make -j 5  1,06s user 0,98s system 112% cpu 1,816 total
clean:       make -j 5 clean  0,66s user 0,61s system 118% cpu 1,067 total

It seems that SSD is faster than compilation on tmpfs?

same test again after make clean:
full build: make -j 5  621,59s user 33,60s system 179% cpu 6:06,00 total
empty build: make -j 5  1,12s user 1,16s system 117% cpu 1,942 total

== New Desktop ==

These tests were done later 07.09.2014 and Elektra 0.8.8 is used.

Using raid5:
full build:  make -j 5  172,26s user 8,08s system 482% cpu 37,367 total
empty build: make -j 5  0,10s user 0,05s system 82% cpu 0,188 total

Using ssd:
full build:  make -j 5  171,91s user 7,98s system 484% cpu 37,104 total
empty build: make -j 5  0,11s user 0,05s system 82% cpu 0,194 total
full build:  make -j 6  198,72s user 8,78s system 575% cpu 36,073 total
empty build: make -j 6  0,12s user 0,08s system 109% cpu 0,185 total
full build:  make -j 7  225,02s user 9,91s system 666% cpu 35,266 total
empty build: make -j 7  0,19s user 0,10s system 157% cpu 0,183 total
full build:  make -j 8  246,71s user 10,58s system 742% cpu 34,641 total
empty build: make -j 8  0,20s user 0,12s system 199% cpu 0,159 total
full build:  make -j 9  246,98s user 10,38s system 745% cpu 34,539 total
empty build: make -j 9  0,24s user 0,08s system 181% cpu 0,181 total
full build:  make -j 16  251,60s user 10,31s system 752% cpu 34,810 total
empty build: make -j 16  0,18s user 0,12s system 166% cpu 0,182 total


== Thinkpad X41 ==

The slowest hardware

full rebuild with HDD took: 434 user 8:08,11 total
full rebuild with SSD took:
make -j 3  414,74s user 14,93s system 92% cpu 7:42,74 total

So no improvement at all on old hardware, even though the SSD is
much faster the compilation process seems to be already CPU/memory bound
in this situation.
Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif