Beefy Boxes and Bandwidth Generously Provided by pair Networks Joe
We don't bite newbies here... much
 
PerlMonks  

Re^9: Perl 5 Optimizing Compiler, Part 9: RPerl.org & The Low-Magic Perl Commandments

by salva (Monsignor)
on Nov 12, 2013 at 10:21 UTC ( #1062167=note: print w/ replies, xml ) Need Help??


in reply to Re^8: Perl 5 Optimizing Compiler, Part 9: RPerl.org & The Low-Magic Perl Commandments
in thread Perl 5 Optimizing Compiler, Part 9: RPerl.org & The Low-Magic Perl Commandments

if any not-low-magic code is encountered

I hope you mean not-low-magic data here!

If I call some low-magic sub passing non-magic arguments I would expect it to run fast under RPerl.

If I call some low-magic sub passing some argument with magic attached I would expect it to run correctly even if not faster.

I would expect that to happen dynamically without me, the programmer, having to worry about where my data comes from or where it goes.


Comment on Re^9: Perl 5 Optimizing Compiler, Part 9: RPerl.org & The Low-Magic Perl Commandments
Re^10: Perl 5 Optimizing Compiler, Part 9: RPerl.org & The Low-Magic Perl Commandments
by Will_the_Chill (Pilgrim) on Nov 12, 2013 at 12:37 UTC
    salva,

    You are correct in your assessment that no-magic args (data) passed to a low-magic subroutine (operation) will run faster under RPerl, and magic args passed to a low-magic subroutine will fall back to run slowly and correctly.

    When I said "any not-low-magic code", that is in fact what I meant. I was making a general statement that RPerl will fall back to slow high-magic mode whenever any magic data OR magic operations are encountered. Args to subs count as data, the subs count as ops, and any builtins or sub calls inside the sub also count as ops. We're currently extending the use of the term "magic" to include both magic data and ops that do magical'ish things. (See previous comments in this thread about use of the term.) Sorry for any confusion.

    If you wonder what counts as "magic" operations, look at The Low-Magic Perl Commandments under the "Operations" section.

    Perling,
    ~ Will

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (7)
As of 2014-04-16 11:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (424 votes), past polls