Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^3: Why doesn't perl optimize this?

by nbtrap (Sexton)
on Jun 04, 2013 at 02:09 UTC ( #1036861=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Why doesn't perl optimize this?
in thread Why doesn't perl optimize this?

I know the difference. My question was not about the difference, it was about why the difference is not optimized away in cases like the one I cited.


Comment on Re^3: Why doesn't perl optimize this?
Re^4: Why doesn't perl optimize this?
by LanX (Canon) on Jun 04, 2013 at 10:29 UTC
    You seem to believe in magical powers of static code analysis in a dynamic language.

    plz tell me

    sub func { my ($code,@a) = @_; my $b = [@a]; eval $code; return $b; }

    How is the compiler supposed to know that '@a' can be destroyed w/o knowing what happens in '$code' at runtime?

    Cheers Rolf

    ( addicted to the Perl Programming Language)

      I agree that the compiler can't know in the case you cite. But what about the case I cited?
        > But what about the case I cited?

        It's extremely complicated and risky to cover ALL edge cases. It's not worth it and BrowserUK already told you!

        If you think such code analysis is easy, please better try implementing a JIT compiler for Perl...

        Cheers Rolf

        ( addicted to the Perl Programming Language)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (11)
As of 2014-09-16 19:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (44 votes), past polls