dadv: (chuck)
Choose your future ([personal profile] dadv) wrote2011-06-14 01:48 am

buildworld

Повторил старый тест на сегодняшней FreeBSD 8.2-STABLE/UFS.

На двухъядерной домашней системе создал /dev/md0 в 2G размером, смонтировал (async) в /mnt/tmp, скопировал туда /usr/src, создал там же obj и tmp и запустил:

# cd /mnt/tmp/src; time env TMPDIR=/mnt/tmp/tmp MAKEOBJDIRPREFIX=/mnt/tmp/obj make -j3 MODULES_WITH_WORLD=yes buildworld
...
real 61m8.607s
user 99m57.180s
sys 11m30.844s

Эффективность распараллеливания на два ядра более 91%.
Затем то же самое сделал без md:

real    62m21.302s
user    100m22.833s
sys     12m6.297s

Разница — 1 минута и 12.7 секунды. Как и на 7.0, морочиться с созданием RAM-диска нет смысла, FreeBSD достаточно хорошо кеширует UFS.

[identity profile] dadv.livejournal.com 2011-06-14 07:44 am (UTC)(link)
У тебя ускорение в 5.62 раза. 8 "ядер" с учетом гипертредовых? Тогда эффективность у тебя 70%, что тоже неплохо - эффективность обычно падает при росте количества ядер.

[identity profile] tigerby.livejournal.com 2011-06-14 07:47 am (UTC)(link)
да я больше замерял ради того чтобы убедиться что сборка с использованием hdd (не)значительно медленнее чем при использовании md/tmpfs, нужно будет еще как-нибудь попробовать на портах:)