Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Perl 5 Optimizing Compiler, Part 10: Kickstarter & Performance Benchmarks

by Will_the_Chill (Pilgrim)
on Nov 27, 2013 at 00:41 UTC ( #1064505=perlnews: print w/ replies, xml ) Need Help??

Howdy Monks,

We've added initial performance benchmarks, which are very promising indeed!

http://rperl.org/performance_benchmarks.html

Also, our Kickstarter campaign is now live, please consider backing the RPerl v1.0 project, our pledge drive ends on Wednesday December 4th, so don't delay!

http://www.kickstarter.com/projects/wbraswell/perl-5-optimizing-compiler-rperl-v10

Thank you all so much for your support to make Perl better and faster for everyone!

Perling,
~ Will the Chill

Comment on Perl 5 Optimizing Compiler, Part 10: Kickstarter & Performance Benchmarks
Re: Perl 5 Optimizing Compiler, Part 10: Kickstarter & Performance Benchmarks
by vkon (Deacon) on Nov 28, 2013 at 17:49 UTC
    in this thing, the "perl 11" is a very nice invention
    this seemingly solves the problem when perl6 name stays on the way, and current p5p pumpking holders refuse to recognize this problem, thus provibiting a discussion of "perl7" or smth like that.

    Within this "perl11.org", there is perl11 and there is p2.

    Can you shed a light on how these will compare to each other?
    Which one is faster? what about compatibility with each other?

    TIA

      Why, since you think its pointless and bound to fail? Trying to waste someones time?
        bound to fail - yes.... pointless - mostly yes, but not entirely pointless...
        glad you've asked.
      Hi vkon,

      Great questions! You are correct, there is an issue with Perl 6 blocking progress and P5P Pumpkings also blocking progress. Saint Larry says we can have no Perl 7 until Perl 6 is finished, which may be never!

      Perl 11 is a philosophy, specifically the idea that we can re-unify Perl 5 and Perl 6 if we are able to make Perl pluggable at the 3 main levels of grammar/parser, compiler/bytecode, and VM/interpreter/runtime. Perl 11 is not an actual software product itself, and Perl 11 is not an actual version of Perl. (Yet.) There are multiple projects that fall under the Perl 11 umbrella, many of which are listed on the Perl 11 website. I'm currently working on a more exhaustive comparison table for ALL Perl projects, and I'm already up to 37 of them!

      P2 is Reini Urban's software project to build a new JIT runtime for both Perl 5 and Perl 6 using the pre-existing Potion VM. The "2" in "P2" comes from adding together the two "1" digits in "Perl 11". :-)

      RPerl is my software project to build a Perl-to-C optimizing compiler for low-magic Perl 5 code. RPerl is very different than P2, in that RPerl is focused on high-speed and low-magic Perl 5 only. Also, RPerl uses the existing Perl 5 code, and P2 is totally new and different than the existing Perl 5.

      There are also several other Perl 11 projects, you may wish to read more about them at the Perl 11 website.

      Did I answer your questions? Will you please consider making a generous pledge to support RPerl development?

      Thanks!

      Perling,
      ~ Will
        yes, that answers my questions, thanks,
        nice answer, indeed
        ... yet I have another Q, if I may

        This "frequently asked questions" section - what, people continuously asked you in mailing list or whatever else with namely these questions, so you've grouped them and placed in a public place?
        How often these Qs are indeed asked??

        I'm currently working on a more exhaustive comparison table for ALL Perl projects, and I'm already up to 37 of them!

        If you don't already have it, don't leave out Topaz, which, while long dead, was helpful to chip in working on Parrot.

        --
        A math joke: r = | |csc(θ)|+|sec(θ)| |-| |csc(θ)|-|sec(θ)| |
Re: Perl 5 Optimizing Compiler, Part 10: Kickstarter & Performance Benchmarks
by Laurent_R (Parson) on Nov 28, 2013 at 23:44 UTC
    Sure enough, the benchmark results you are reporting look great. But you are not saying at all how they were obtained. And it seems from you own admission that some of the program versions were "hand-compiled", whatever this means. Sorry, too sketchy to be convincing. Your idea might be great, and I would like to believe in it, but so far, I wish you have convinced me.
      Hi Laurent_R,

      Sorry if I'm not being clear. In the second paragraph of the Performance Benchmarks page you will see I have linked to the actual source code files that were run to generate the timings.

      The first step toward reproducing the benchmarks yourself is to get RPerl installed and passing the basic tests, please see the use RPerl; page for more info. RPerl is still alpha software being developed, so don't hesitate to let me know if you need help or have any questions. I'm often in #perl11 on irc.perl.org if you use IRC.

      We already have the basic scalar, array, and hash data types working in RPerl. The "hand-compiled" part of the performance benchmark refers to the fact that RPerl v1.0 is not complete yet and thus there is not yet an actual automatic compiling mechanism in place. Using the working RPerl data types I played the part of a compiler and manually compiled the sorting algorithm code from pure Perl 5 into both RPerl Perl-data mode and RPerl C-data mode, as explained in the Performance Benchmark page.

      Did I answer your questions? My goal is to win your support and convince you to make a pledge to the RPerl Kickstarter campaign.

      Thanks!

      Perling,
      ~ Will
        reini stated that his typed data in perl will be a huge speed win (preseented at Riga YAPC2011)

        will his approach outperform yours and by what %-tage? where to invest?

Re: Perl 5 Optimizing Compiler, Part 10: Kickstarter & Performance Benchmarks
by frew (Acolyte) on Nov 30, 2013 at 21:08 UTC
    Care to comment on this, from the kickstarter? "RPerl is 100% free-of-charge for all non-commercial use."

    Does anyone really want to have to pay to use perl? There's no way I'd donate to something that's not going to be Free.
    fREW Schmidt
    http://blog.afoolishmanifesto.com
      frew,

      Thanks for your question, it's been asked before and is now clarified in the FAQ:

      Q: How much does RPerl cost?

      A: RPerl is 100% free-of-charge for all non-commercial use as licensed under the same terms as Perl 5.18.0. This means you can use RPerl at home or at work, but you can't re-sell RPerl without the source code and you can't change the copyright terms.

      Does that answer your question?

      Thanks!

      Perling,
      ~ Will

        Thatís cool, because Perl is happily being used commercially too. So if itís ďunder the same terms as Perl 5.18.0Ē, I do quite believe you shouldnít be emphasising that itís free for non-commercial use. Or itís not under the exact same terms.

        Decide.

Re: Perl 5 Optimizing Compiler, Part 10: Kickstarter & Performance Benchmarks
by sundialsvc4 (Monsignor) on Dec 02, 2013 at 04:54 UTC

    Great idea:   hurry up and send me your money so that I can develop a new language and license it for any “commercial” (according to Will, no doubt) use.   It will produce “better benchmarks,” yes.   And, tell us all about it, Will, what about the hundreds of thousands of dollars a year in royalties that you dream such a contraption, funded by others, would produce for those of you who “own” it?   Your apparent motives in this are not well hid.

    Unfortunately, language compilers are notoriously bad revenue producers.   There are simply too many of them out there already which produce excellent runtime results (when you actually need such results), and which are not only royalty-free but free.   (Like gcc, for instance, or perl.)

    Runtime speed is easily dealt with:   you throw Moore’s Law at it.   Even if the machinery cost five-figures in the currency unit of your choice, that pales in comparison with the cost of rewriting it ... or of trusting your soul to a brand-new language system.

      sundialsvc4,

      Your capacity for trolling knows no bounds!

      From the RPerl FAQ:

      Q: How much does RPerl cost?

      A: RPerl is 100% free-of-charge and is licensed under the same terms as Perl 5.18.0. This means you can use RPerl for free at home or at work, but you can't re-sell RPerl without the source code and you can't change the copyright terms.

      Wrong again my friend, but entertaining nevertheless!

      Perling,
      ~ Will the Chill
      congratulations, you've managed to miss and miscontrue all the details ... third time today
Re: Perl 5 Optimizing Compiler, Part 10: Kickstarter & Performance Benchmarks
by sundialsvc4 (Monsignor) on Dec 03, 2013 at 02:09 UTC

    So, perhaps I am just missing something here ...

    You appear to either have developed ... or to now be seeking gratuitous public payments so that you can develop ... “a Perl-5 compatible optimizing compiler.”   And, also apparently, you will not be dissuaded from this quest:   every few weeks, another ...

    Font-

    -laden

    post

    ... shows up here.

    “Okay, we get it.”   You have (at least, started to) create(d) a static-code compiler for a dynamic language, and you have produced some impressive-to-you “benchmarks.”   This, somehow, is supposed to be (a) “breathtakingly impressive,” and (b) ipso-facto worthy of a material underwriting contribution.

    So far, if I may be so blunt-and-rude as to be the one to say it, it seems to me that the one-and-only distinguishing factor between you and the “Perl-6” crowd is that you seem to be asking for money.

    “Yes, as a matter of fact,I do ‘have money.’”   As do we all.   What have you done to deserve it?   Did the Perl-5 community ever ask for “an optimizing compiler?”   (Likewise:   did it ever ask that the Perl-5 language be utterly re-designed?)

      sundialsvc4,

      I'm not redesigning Perl 5 in any way, the low-magic Perl 5 that will be parsed and compiled by RPerl v1.0 is an explicit subset of Perl 5, there are no changes to the language in that sense. On the other hand, Perl 6 was never really intended to be backward compatible with Perl 5 (viv and STD_P5.pm6 notwithstanding), and to be perfectly clear the RPerl project has nothing whatsoever to do with Perl 6. I think Saint Larry is super cool and I hope Perl 6 happens someday, but RPerl only pertains to Perl 5.

      As you correctly (wow!) point out, I am in the process of creating a static compiler for a dynamic language. As I have mentioned in multiple locations, RPerl v1.0 will be released this Christmas.

      Yes, you really are rude and seemingly ignorant, but that's not stopping me from answering your questions as best as I can.

      I am asking for money because I am not currently funded by any companies or other organizations. You are not contributing your own money, so why should it bother you if scores of other people pledge over $1,400 to RPerl? Maybe you are jealous? I can't figure that part out.

      Over the years I've heard many people ask about a Perl optimizing compiler, and I've needed one myself for quite some time. Saint Larry says we should "Let Many Flowers Bloom", so I can't help but wonder why you have such a hateful attitude toward the Perl 11 flowers and RPerl specifically? Social maladjustment?

      If you don't need RPerl to make your own code run fast, that's fine, no biggie. But why be such a jerk about it when the rest of us are interested in it as a project?

      Seriously dude, why the beef? Can't we all just get along?

      Thanks!

      Perling,
      ~ Will
Re: Perl 5 Optimizing Compiler, Part 10: Kickstarter & Performance Benchmarks
by vkon (Deacon) on Dec 28, 2013 at 19:54 UTC
    any news on the matter?

    Your FAQ reads that the release is at Christmas...

        vkon & Corion,

        I'm sure you know by now that we've released RPerl v1.0 beta on New Year's Day, better late than never for a nice little Christmas present, haha! :-)

        We're working now to get rid of the "beta" and have another release very soon. Thanks for your continued interest in RPerl!

        Perling,
        ~ Will the Chill

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (13)
As of 2014-09-19 12:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

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











    Results (137 votes), past polls