Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
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?
Replies are listed 'Best First'.
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 imbibing at the Monastery: (14)
As of 2015-07-28 22:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (260 votes), past polls