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.