Also of interest to me is whether the fact that its not precompiled could affect its performance, again with reference to other languages. Would it be better to compile the code first so that each time it is run it doesn't have to be interpreted each time.
That's two separate questions. First, let me clearify something. Perl code
is compiled before it's run. The Perl code itself is never "interpreted each time" as with, for instance, shell code. Perl code is compiled when you start the program, and then the resulting code is run.
As for whether it impacts performance, yes, in some ways. Both negatively, and positively. Let me list some cons first:
- Because Perl code is compiled each time the program is run, compilation needs to be fast. Perl can't spend a lot of time optimizing the resulting byte code, sometimes resulting in code that might not be as fast as it could have been.
- If you run the same, unmodified, code many times, over and over compiling the same thing can be percieved as "wasteful".
The pros:
- Perl source code takes much less disk space than any compiled code, so by doing "just in time" compiling, one saves disk space.
- There's no risk of having the source code and the binary code be out of sync, as there's no separate binary around.
- No need to generate binaries for different platforms. Most code I write on my OS will run on your OS without even knowing what your OS is.
- A much shorter write/test cycle - no separate compilation cycle needed.
In short, whether or not it's "better" to compile the code first is a matter of preference - you win some, but you lose some as well. It's a trade-off, and for now, it means you'll have to live with "just in time" compiling.
In Perl6, you probably will have the option to save the byte code after compilation.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.