Подтвердить что ты не робот

Каковы ваши приемы для ускорения CPAN на ограниченных ресурсных устройствах?

Недавно я пытался обновить несколько модулей Perl на своем мобильном телефоне (nokia n900) и установить последнюю копию Module::Build в течение часа.

В большинстве случаев (70%), по-видимому, проводились синтаксический анализ и индексирование информации репозитория.

Кажется, есть несколько вариантов, например, не каждый раз восстанавливать кеш индекса, или использовать CPAN:: SQLite.

Я хотел бы продолжать использовать CPAN на устройстве, а не устанавливать модули вручную. Поэтому мне интересно, какие методы у людей были успешными на аналогичных ограниченных ресурсных устройствах (медленный процессор, ограниченный барабан, медленный диск (flash))?

4b9b3361

Ответ 1

Я считаю, что это была одна из основных причин, по которым Miyagawa создал cpanminus.

Из POD:

Другой установщик CPAN?

ОК, первая мотивация была такой: оболочка CPAN исчерпывает память (или сильно меняет местами и становится очень медленной) на самом доступном плане Slicehost/linode с 256 МБ ОЗУ. Должен ли я платить больше за установку модулей perl из CPAN? Я так не думаю.

Я не использовал cpanm на ограниченном ресурсном устройстве/машине, но я использовал его исключительно на своем Perl 5.12 dev и его мечта!

/I3az/

Ответ 2

Если модуль является чистым Perl (т.е. не имеет компонентов XS и не требует компиляции библиотеки), вы можете установить пакет на другой компьютер другой операционной системы в local::lib, а затем просто скопируйте этот каталог на свое устройство.

В противном случае (если необходима компиляция), тот же метод можно использовать только для сборки модуля один раз, пока вы устанавливаете его на устройстве той же архитектуры; после этого вы можете обмениваться библиотекой между несколькими устройствами. например как только вы создадите эти пакеты, вы можете разместить их на своей веб-странице, чтобы их можно было использовать среди других пользователей Nokia n900, и получить много друзей.:)

Ответ 3

Если вы работаете в среде с ограниченным ОЗУ, например, в беспроводном маршрутизаторе или что-то еще, может помочь своп. Я не думаю, что это совсем то, что вы ищете, но если ваши сборки CPAN исчерпаны или будут убиты, это поможет.

В оболочке:

# dd if=/dev/zero of=/path/to/swapfile.swp bs=1M count=512
# mkswap /path/to/swapfile.swp
# swapon /path/to/swapfile.swp

Это даст вам файл подкачки 500MiB. На моем 128MB маршрутизаторе это работало нормально; Я помещаю файл на прилагаемый флэш-накопитель USB.