Скоростные характеристики hasher

Материал из ALT Linux Wiki

Результаты некоторого исследования скоростных характеристик hasher.

Стенд:

  • AMD Athlon 64 3000+ (1800 MHz)
  • ASUS A8V-E Deluxe (1000 MHz HT, chipset VIA K8T890)
  • HDD WD SATA 7200 RPM

Усредненная скорость HDD по hdparm -t: 55.15 MB/sec
Усредненная скорость RAM по hdparm -T: 863.05 MB/sec

Методика тестирования: необходимо определить, какие накладные расходы по времени предполагает использование hasher в тех или иных вариантах по сравнению с выполнением обычного rpmbuild в хост-системе. Для этого берем очень простой пакет, который собирается в rpmbuild за секунды:

$ time rpmbuild --rebuild samba-client-control-1.1-alt1.src.rpm
0.54user 0.15system 0:03.27elapsed 21%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+61787minor)pagefaults 0swaps

Итоговое время сборки собственно самого пакета - около 3.27 секунд. Собираем этот пакет в разных вариантах и опциях:

Сборки в hasher

Hasher без cache и без tmpfs

$ time hsh ~/build2 samba-client-control-1.1-alt1.src.rpm
114.88user 12.44system 4:22.17elapsed 48%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (232major+1195190minor)pagefaults 0swaps

Hasher с cache и без tmpfs

$ time hsh ~/build2 samba-client-control-1.1-alt1.src.rpm
24.29user 6.49system 1:11.92elapsed 42%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (178major+425037minor)pagefaults 0swaps

Hasher без cache и с tmpfs

$ time hsh ~/build3 samba-client-control-1.1-alt1.src.rpm
110.24user 8.19system 2:13.23elapsed 88%CPU (0avgtext+0avgdata
0maxresident)k
0inputs+0outputs (44major+1190881minor)pagefaults 0swaps

Hasher с cache и с tmpfs

$ time hsh ~/build3 samba-client-control-1.1-alt1.src.rpm
24.05user 2.98system 0:32.47elapsed 83%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (17major+424424minor)pagefaults 0swaps

Hasher без cache и с ramdisk / reiserfs

100.08user 10.58system 2:15.40elapsed 81%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (988major+1156338minor)pagefaults 0swaps

Hasher с cache и с ramdisk / reiserfs

10.30user 5.93system 0:23.49elapsed 69%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (379major+381057minor)pagefaults 0swaps

Сводная таблица результатов

Нахождение build Cache Время
hdd - 4:22
hdd + 1:12
tmpfs - 2:13
tmpfs + 0:32
ramdisk / reiserfs - 2:15
ramdisk / reiserfs + 0:23