root@slackhome:/home/ndtimofeev# time installpkg slackware64-current/slackware64-current/slackware64/l/qt-r964497-x86_64-1.txz
Verifying package qt-r964497-x86_64-1.txz.
Installing package qt-r964497-x86_64-1.txz [ADD]:
PACKAGE DESCRIPTION:
# Qt (a multi-platform C++ graphical user interface toolkit)
#
# Qt is a complete and well-developed object-oriented framework for
# developing graphical user interface (GUI) applications using C++.
#
Executing install script for qt-r964497-x86_64-1.txz.
Package qt-r964497-x86_64-1.txz installed.
real 0m18.816s
user 0m13.077s
sys 0m4.400s
root@slackhome:/home/ndtimofeev# mkdir test
root@slackhome:/home/ndtimofeev# tar xf slackware64-current/slackware64-current/slackware64/l/qt-r964497-x86_64-1.txz -C test/
root@slackhome:/home/ndtimofeev# cd test
root@slackhome:/home/ndtimofeev/test# makepkg -c n -l y ../qt-r964497-x86_64-1.tgz > /dev/null
root@slackhome:/home/ndtimofeev/test# time installpkg ../qt-r964497-x86_64-1.tgz
Verifying package qt-r964497-x86_64-1.tgz.
Installing package qt-r964497-x86_64-1.tgz:
PACKAGE DESCRIPTION:
# Qt (a multi-platform C++ graphical user interface toolkit)
#
# Qt is a complete and well-developed object-oriented framework for
# developing graphical user interface (GUI) applications using C++.
#
Executing install script for qt-r964497-x86_64-1.tgz.
Package qt-r964497-x86_64-1.tgz installed.
real 0m18.998s
user 0m7.780s
sys 0m4.156s
Вообще, по идее - умеет: у xz есть опция --threads=N, а в git-версии даже есть автоопределение количества ядер на проце. Однако заставить это заиспользовать мне так и не удалось: то ли это работает лишь на очень больших архивах (может быть, ограничения из-за алгоритма), то ли просто еще не доделали - глубоко в сорцы пока залезал.
первый тест, от которого я начал негодовать, заключался в примерно следующем (действия производились над 300-мегабайтным пакетом):
1) извлечь из архива один файл, распарсить 2) сделать tar tf и получить список файлов в пакете 3) распаковать
Так ставятся пакеты в mopslinux, если сам пакет лежит на локальном диске. Разница была примерно в 2.5 раза.
Теперь я собрал 13rc1 в исошник и подсунул стандартному мопсовому инсталлятору, и скорость установки почему-то стала выше чем с tgz, причем явно не в пределах погрешности (хотя для очистки совести попозже прогоню еще раз тест с теми же пакетами но в tgz).
Выходит, что таки быстро оно работает :)
Осталось понять лишь, почему в первом случае образовалось такое падение производительности...
Именно про него. Велосипед-велосипедом конечно, но когда всё это начиналось - нормальных аналогов в общем-то не было, да и сейчас пожалуй нету (если ошибаюсь - ткните пальцем, с удовольствием посмотрю). Идеального менеджера пакетов конечно не получилось, но в целом достаточно удобно и функционально :)
root@slackhost:~# time installpkg qt-r964497-x86_64-1.txz
Verifying package qt-r964497-x86_64-1.txz.
Installing package qt-r964497-x86_64-1.txz:
PACKAGE DESCRIPTION:
# Qt (a multi-platform C++ graphical user interface toolkit)
#
# Qt is a complete and well-developed object-oriented framework for
# developing graphical user interface (GUI) applications using C++.
#
Executing install script for qt-r964497-x86_64-1.txz.
Package qt-r964497-x86_64-1.txz installed.
real 1m42.770s
user 1m18.181s
sys 0m20.289s
root@slackhost:~# time installpkg qt-r964497-x86_64-1.tgz
Verifying package qt-r964497-x86_64-1.tgz.
Installing package qt-r964497-x86_64-1.tgz:
PACKAGE DESCRIPTION:
# Qt (a multi-platform C++ graphical user interface toolkit)
#
# Qt is a complete and well-developed object-oriented framework for
# developing graphical user interface (GUI) applications using C++.
#
Executing install script for qt-r964497-x86_64-1.tgz.
Package qt-r964497-x86_64-1.tgz installed.
real 0m54.951s
user 0m29.774s
sys 0m19.597s
root@slackhost:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Celeron (Coppermine)
stepping : 3
cpu MHz : 668.176
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse up
bogomips : 1336.35
clflush size : 32
power management:
Хм...
Почитай новость от Fri May 8 18:49:03 CDT 2009. Выжимка: "The size of the main package tree in /slackware has been reduced 1.9GB to 1.4GB by converting most packages to .txz"
Ну так спорт то кто? Просто на 32-битных процессорах gz ощутимо быстрее. Причём меня даже больше заинтересовало что на _64 не xz работает быстрее, а gz медленнее.
>Именно про него. Велосипед-велосипедом конечно, но когда всё это начиналось - нормальных аналогов в общем-то не было, да и сейчас пожалуй нету (если ошибаюсь - ткните пальцем, с удовольствием посмотрю). Идеального менеджера пакетов конечно не получилось, но в целом достаточно удобно и функционально :)
Хотел поглядеть mopslinux (последний раз видел его когда-то давно, когда таскал оттуда кириллические keymap'ы). Что-то у меня последняя beta в последнем virtualbox'е не поднялась. Проблема: при загрузке текст лога выводится поверх старого текста и получается каша. Хост: каррент64 слаки.