Vraag Wat zijn je trucs voor het versnellen van CPAN op apparaten met beperkte middelen?


Ik was onlangs bezig met het upgraden van een paar Perl-modules op mijn mobiele telefoon (nokia n900) en installeerde de nieuwste versie van Module::Build voor een uur.

Het grootste deel van de tijd (70%) leek besteed te worden aan het parseren en indexeren van de informatie in de repository.

Het lijkt erop dat er een paar opties zijn, zoals het niet opnieuw opbouwen van de indexcache of het gebruik van CPAN :: SQLite.

Ik wil graag CPAN op het apparaat blijven gebruiken in plaats van de modules handmatig te installeren. Dus ik vraag me af met welke technieken mensen succesvol zijn geweest op vergelijkbare beperkte bronapparaten (trage CPU, beperkte ram, langzame schijf (flits))?


10
2017-07-02 20:56


oorsprong


antwoorden:


Ik geloof dat dit een van de belangrijkste redenen was waarom Miyagawa aangemaakt cpanminus.

Van de POD:

Nog een CPAN-installatieprogramma?

OK, de eerste motivatie was dit: de CPAN-shell heeft onvoldoende geheugen (of ruilt zwaar en wordt erg traag) op het meest betaalbare plan van Slicehost / linode met slechts 256 MB RAM. Moet ik meer betalen om perl-modules van CPAN te installeren? Ik denk het niet.

Ik heb het niet gebruikt cpanm op een apparaat / machine met beperkte middelen, maar ik gebruik het uitsluitend op mijn Perl 5.12-dev en het was een droom!

/ I3az /


6
2017-07-03 09:39



Als de module pure Perl is (d.w.z. geen XS-componenten heeft en geen bibliotheek vereist om te worden gecompileerd), kunt u het pakket op een andere machine van een ander besturingssysteem installeren in een lokale :: lib map en kopieer deze map vervolgens eenvoudigweg naar uw apparaat.

Anders (als compilatie noodzakelijk is), kan dezelfde techniek worden gebruikt om de module slechts eenmaal te bouwen, zolang u deze op een apparaat met dezelfde architectuur installeert; daarna kunt u de bibliotheek delen tussen meerdere apparaten. bijv. Zodra je deze pakketten hebt gebouwd, kun je ze op je webpagina plaatsen om te worden gedeeld met andere Nokia n900-gebruikers en veel vrienden te krijgen. :)


1
2017-07-02 21:29



Als u in een beperkte RAM-omgeving werkt, zoals een draadloze router of zo, kan het toevoegen van swap helpen. Ik denk niet dat dit behoorlijk is wat je zoekt, maar als je CPAN-build geen geheugen meer heeft of wordt vermoord, zal dit helpen.

In een schaal:

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

Hiermee krijg je een 500MiB-wisselbestand. Op mijn 128MB router werkte dit prima; Ik heb het bestand op een aangesloten USB-stick geplaatst.


1
2018-01-19 09:30