-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[15] Come posso rendere più veloce il mio programma scritto in Perl?

Il massimo è trovare un algoritmo migliore. Spesso la differenza è notevole. Potreste controllare il capitolo 8 del Camel Book, che contiene alcuni trucchi per migliorare l'efficienza. Anche il libro di Jon Bentley, "Programming Pearls" (non è un errore di battitura!), contiene buoni suggerimenti sull'ottimizzazione. Per quanto riguarda i benchmark, il consiglio si riassume in: realizzate dei benchmark e fate profiling per essere sicuri di ottimizzare nel punto giusto, cercate degli algoritmi migliori anziché mettere a punto i dettagli, e quando tutti i tentativi falliscono, considerate la possibilità di comprare hardware più veloce. Potreste voler leggere la risposta alla precedente domanda "Come effettuo il profiling dei miei programmi Perl?" se non l'avete già fatto.

Un approccio diverso consiste nell'applicare le tecniche di Autoloading al codice utilizzato di rado. Guardate i moduli AutoSplit e AutoLoad nella distribuzione standard. Oppure potete capire qual è il collo di bottiglia e scrivere solo quella parte in C, così, come si usava individuare i colli di bottiglia nel codice C per poi riscriverli in assembler. Analogo alla riscrittura del codice in C è l'uso di moduli nei quali le sezioni critiche sono scritte in C (ad esempio, il modulo PDL di CPAN).

Se al momento il vostro eseguibile perl è linkato ad una libc.so condivisa, allora in molti casi potete ottenere un miglioramento della performance del 10-25% ricompilandolo e linkandolo ad una libc.a statica. Questo produrrà un eseguibile perl più grande, ma i vostri programmi (e i programmatori) vi ringrazieranno. Guardate il file INSTALL nella distribuzione del codice per ulteriori informazioni.

Il programma undump era un vecchio tentativo di velocizzare i programmi Perl memorizzandoli su disco in forma già compilata. Non è più un'opzione praticabile, dato che funziona solo su alcune architetture, e comunque non era una buona soluzione.

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google