[ Texas Instruments @ 06.11.2011. 14:06 ] @
Laptop na kojem sam ovo isprobao je Dell Inspiron N5110 core i7 (2630qm, Ondemand frekvencija), 8GB ddr3 memorije 1333MHz, hard disk 5400 ob/min.
Sistem je ubuntu 11.04, a kernel koji sam (kros)kompajlirao je 2.6.38 za freescale i.mx535 (arm cortex A8) procesor. Kros kompajler je code sourcery 2009q1-203 (gcc 4.3.3).
Pošto imam dosta ram memorije reših da isprobam kakve su performanse ako bih kompajlirao sa ramdiskom.
Odvojio sam 2GB za ramdisk.

mkdir -p /mnt/tmp

mount -t tmpfs -o size=2048m tmpfs /mnt/tmp


Kompajliranje sam vršio standardno

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- mrproper
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- imx5_defconfig
time make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage


Vremena koja sam dobio za različite vrednosti -j parametra.

bez -j
disk
real 6m42.540s
user 5m31.160s
sys 0m33.410s

tmpfs
real 6m49.308s
user 5m36.520s
sys 0m35.120s


j5
disk
real 1m38.684s
user 6m49.540s
sys 0m21.300s

tmpfs
real 1m38.711s
user 6m50.580s
sys 0m22.380s


j9
disk
real 1m23.658s
user 8m25.850s
sys 0m27.070s

tmpfs
real 1m23.658s
user 8m27.840s
sys 0m27.230s


j20
disk
real 1m23.996s
user 8m38.800s
sys 0m28.340s

tmpfs
real 1m24.695s
user 8m42.020s
sys 0m29.270s

U svim slučajevima je kompajliranje na disku nešto brže nego korišćenjem ramdiska. Optimalno za ovaj procesor je sa j9 parametrom, s' obzirom da ima 8 logičkih jezgara i tu su se vremena slučajno poklopila. Kada sam ponovo probao, dobio sam da je opet na disku neznatno brže. E sad, meni nije baš najjasnije zbog čega su ovakvi rezultati? Disk bi trebalo da je usko grlo prilikom kompajliranja i očekivao sam da će korišćenjem ramdiska vremena biti nešto kraća, a ne duža ili u najboljem slučaju identična kao sa diskom.
[ niceness @ 07.11.2011. 08:42 ] @
Još dok sam koristio gentoo, $PORTAGE_TMPDIR mi je jedno vreme bio na tmpfs i nisam video baš neko značajno ubrzanje, tako da me ovaj rezultat nije nešto iznenadio.
Kompajliranje je (uglavnom) cpu ograničeno, a operativni sistemi su postali prilično dobri u keširanju prisupa disku.
Zbog ovoga memorije nikada dosta, ako je programi ne koristi, OS će znati šta da radi sa njom :)

Zašto je ponekad bilo _sporije_ od diska? Blage veza nemam.
Potrebno je puno detaljnije testirati da bi došli do nekog smislenog zaključka.