Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re^4: question regarding "Tie" in Perl

by BrowserUk (Pope)
on Nov 05, 2013 at 01:49 UTC ( #1061226=note: print w/ replies, xml ) Need Help??

in reply to Re^3: question regarding "Tie" in Perl
in thread question regarding "Tie" in Perl

Cool'n'all as that is, by deferring the construction of constants to runtime, you disavail yourself of various compile-time optimisations that Perl has.

Even the very act of interpolating a read-only variable is an active pessimisation, as whilst perl will enforce the read-onliness, Perl does not (cannot) know that it need not re-interpolate the variable every time it is used:

use constant CONSTANT => 10;; Internals::SvREADONLY( my $READONLY = 10, 1);; [Type of arg 1 to Internals::SvREADONLY must be one of [$%@] (not scal +ar assignment) at (eval 11) line 1, near "1)" $READONLY = 10; Internals::SvREADONLY( $READONLY, 1);; ++$READONLY;; [Modification of a read-only value attempted at (eval 13) line 1, <STD +IN> line 6. cmpthese -1,{ a=>q[ for(1..1000){ my $string = "the constant is " . CONSTANT . " +\n" } ], b=>q[ for(1..1000){ my $string = "the readonly is $READONLY\n"; } + ], };; Rate b a b 3893/s -- -46% a 7236/s 86% --

A small a difference as that may be; it is all those avoidable small bits that add up.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Comment on Re^4: question regarding "Tie" in Perl
Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1061226]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2014-07-23 01:01 GMT
Find Nodes?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:

    Results (130 votes), past polls