Home
Search Perl pages
Subjects
By activity
Professions, Sciences, Humanities, Business, ...
User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...
Text Strings
Conversions, tests, processing, manipulation,...
Math
Integer, Floating point, Matrix, Statistics, Boolean, ...
Processing
Algorithms, Memory, Process control, Debugging, ...
Stored Data
Data storage, Integrity, Encryption, Compression, ...
Communications
Networks, protocols, Interprocess, Remote, Client Server, ...
Hard World Timing, Calendar and Clock, Audio, Video, Printer, Controls...
File System
Management, Filtering, File & Directory access, Viewers, ...
|
|
|
The best way to do this is to come up with a better algorithm. This can
often make a dramatic difference. Chapter 8 in the Camel has some
efficiency tips in it you might want to look at.
Other approaches include autoloading seldom-used Perl code. See the AutoSplit and AutoLoader modules in the standard distribution for that. Or you could locate the bottleneck and think about writing just that part in
C, the way we used to take bottlenecks in
C code and write them in assembler. Similar to rewriting in
C is the use of modules that have critical sections written in
C (for instance, the
PDL module from
CPAN).
In some cases, it may be worth it to use the backend compiler to produce byte code (saving compilation time) or compile into
C, which will certainly save compilation time and sometimes a small amount (but not much) execution time. See the question about compiling your Perl programs.
If you're currently linking your perl executable to a shared libc.so, you
can often gain a 10-25% performance benefit by rebuilding it to link with a
static libc.a instead. This will make a bigger perl executable, but your
Perl programs (and programmers) may thank you for it. See the INSTALL file in the source distribution for more information.
Unsubstantiated reports allege that Perl interpreters that use sfio outperform those that don't (for
IO intensive applications). To try this, see the
INSTALL file in the source distribution, especially the ``Selecting File
IO mechanisms'' section.
The undump program was an old attempt to speed up your Perl program by
storing the already-compiled form to disk. This is no longer a viable
option, as it only worked on a few architectures, and wasn't a good
solution anyway.
Source: Perl FAQ: Programming Tools Copyright: Copyright (c) 1997 Tom Christiansen and Nathan Torkington. |
Next: How can I make my Perl program take less memory?
Previous: What is undump?
(Corrections, notes, and links courtesy of RocketAware.com)
Up to: PERL
Rapid-Links:
Search | About | Comments | Submit Path: RocketAware > Perl >
perlfaq3/How_can_I_make_my_Perl_program_r.htm
RocketAware.com is a service of Mib Software Copyright 2000, Forrest J. Cavalier III. All Rights Reserved. We welcome submissions and comments
|