Нашел ссылку на сайт, где предлагается вариант ускорения работы с портежами с использованием SQLite. Кто-нибудь пробовал такие плюшки? Хотелось бы услышать мнение опытных товарищей. Сам не пробовал пока, а без опыта экспериментировать не рекомендую.
P.S.
Там же есть и другая полезная информация. Но некоторые вещи устаревшие, поэтому нужно фильтровать, что можно использовать, а что не стоит.
Установил на последнюю Stage сборку как описано в той инструкции. Все установилось с полпинка, но python и eix все же пришлось пересобрать с нужным флагом. С компиляцией все заняло около получаса на atom n270. Обновление портежей вроде происходит быстрее, время проверки зависимостей программ перед установкой похоже тоже сократилось. Это на глаз конечно. С обновлением и установкой проблем не заметил - все как обычно. А вот как нормально замерить разницу в производительности еще не прикидывал. Кстати, отключается еще легче - новые настройки комментируются, старые наоборот, файл modules просто переименовывается, а кеш пересоздается под обычный вариант.
А вот как нормально замерить разницу в производительности еще не прикидывал
# time emerge @world -epvt
# # Внести необходимые изменения и снова
# time emerge @world -epvt
Можно это проверить на давно не обновляемой системе (к примеру поставить в виртуалку 11.3, обновить портеж и проверить, потом то же самое, но уже с включенным кешированием) командой
# time emerge @world -DNupvt
В общем, если хотите проверить - дерзайте, думаю многим будут интересны результаты.
А зачем вообще это ускорение? Неужели портежи это как игрушка, должно быть красиво и летать? По моему работает вполне шустро и без проблем а если вдруг просчет зависимостей станет на 2-5 секунд быстрее но возможно вылезание непонятных багов, да нафиг оно тогда нужно? И так все работает, скорость приемлемая.
… а если вдруг просчет зависимостей станет на 2-5 секунд быстрее но возможно вылезание непонятных багов, да нафиг оно тогда нужно?..
Вопрос не в том что “возможно вылезание непонятных багов”. А в том, как сделать чтоб этих багов небыло.
А зачем вообще это ускорение?
А зачем тратить до полуминуты-минуты, в особо тяжелых случаях, на пересчет зависимостей если хочешь лишь посмотреть что изменилось с последним sync-ом портежей.
Замеры произведены сначала на обычной системе после ее загрузки, затем установлена поддержка sqlite, произведена перезагрузка и замеры повторились. Проверялось командой time emerge @world -epvt. Оба контрольных вывода прикладываю.
Без sqlite
real 3m38.873s
user 2m49.930s
sys 0m2.510s
С поддержкой sqlite
real 3m37.252s
user 2m54.650s
sys 0m3.830s
Сравнил, ранее полученное, время установки с обычными портежами пакета DBD-mysql-4.01.7, тестированного в топике Установка бинарных пакетов. Есть мысли как ускорить этот процесс? со временем установки time emerge -1bgk =dev-perl/DBD-mysql-4.01.7 с применением портежей, работающих на sqlite
real 1m10.915s
user 1m3.570s
sys 0m3.980s
В общем неоднозначные выводы. Как точнее оттестировать не знаю. Сам буду использовать со sqlite.