Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Perl 5 Optimizing Compiler, Part 7: Video Chat w/ Ingy & Reini, Today 9/18 8pm Central Time

by Anonymous Monk
on Sep 18, 2012 at 06:27 UTC ( #994192=note: print w/ replies, xml ) Need Help??


in reply to Perl 5 Optimizing Compiler, Part 7: Video Chat w/ Ingy & Reini, Today 9/18 8pm Central Time

Many other have told this to you. And I don't really want to pour water on your enthusiasm.

Perl 5 is slow not because its Perl 5 or because its not C. Its slow because it does a lot of things for you automatically. In other words its slowness comes from 'doing those extra things'. Now you can probably extract some speed out of it, but that is going to be in the >10% range and not the kind of speed you are hoping to extract.

There are other problems with Perl 5, solutions to some of those are in urgent priority than other ones. For example chromatic mentions C-Types as one of them. Another one he mentions is a MOP in the core. Many others have mentioned such needs after their hard experiences hitting rough edges over the years

Large break through level changes in Perl 5 are not possible with sane design consistency. Hence the Perl 6 Project. Some problems with Perl 5 can't be solved as is, or without breaking backwards compatibility. Adding new syntactic power to Perl 5 has shown some success and in some cases it has proven to be a failure(like the smartmatch operator). The reason as Larry Wall mentions, there are a lot of individual design changes that make perfect sense. But not when you add them all.

Your time is better spent either solving the pressing problems Perl 5 has. Or contributing to the Perl 6 project.

Especially Perl 6, that is likely to solve bigger problems in the longer run.


Comment on Re: Perl 5 Optimizing Compiler, Part 7: Video Chat w/ Ingy & Reini, Today 9/18 8pm Central Time
Re^2: Perl 5 Optimizing Compiler, Part 7: Video Chat w/ Ingy & Reini, Today 9/18 8pm Central Time
by Will_the_Chill (Pilgrim) on Sep 18, 2012 at 06:42 UTC
    Anonymous Monk,

    Thank you for your feedback. I think, in general, you are repeating the general wisdom, and the general wisdom is right, in general.

    Basically what we're probably looking at right now is carefully and systematically re-writing much of Perl 5. LLVM will probably be a good target backend, and will also require significant upgrading to handle Perl semantics in an optimized fashion.

    For example, here's a copy of Reini's most recent ideas on optimization options:
    https://gist.github.com/3740313

    Thanks,
    ~ Will
Re^2: Perl 5 Optimizing Compiler, Part 7: Video Chat w/ Ingy & Reini, Today 9/18 8pm Central Time
by Anonymous Monk on Sep 18, 2012 at 06:53 UTC

    Many other have told this to you. And I don't really want to pour water on your enthusiasm. ... Your time is better spent either solving the pressing problems Perl 5 has. Or contributing to the Perl 6 project.

    I would think you'd have learned already -- the Chill is on a mission -- and none of your annoying "don't experiment, do what I say" naysaying is going to steer that river avalanche in a different direction

      none of your annoying "don't experiment, do what I say" naysaying is going to steer that river avalanche in a different direction

      Nor should it.

      Why are people so intent on keeping Perl5 stuck in its rut?


      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.

      RIP Neil Armstrong

        Everybody hates change. Except communists and terrorists.
        Why are people so intent on keeping Perl5 stuck in its rut?

        Sounds like a false dilemma to me!

        I'd like a faster Perl 5, but given my experience trying to get a performant Perl 6 and Parrot, I think I have some practical thoughts on what makes a Perl implementation fast or slow and how to get there from here.

        If you want to get more than 5% here or 10% there, you have to address the difficult problem, namely that the current Perl 5 implementation optimizes for dynamicity, whereas in the real world, code that's already into its runtime is 90% static. Perl 5's polymorphism is in the wrong place because it was too expensive in 1993 to put it in the right place.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (16)
As of 2014-11-21 17:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (114 votes), past polls