Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Perl 6.0.0 is out - merry X-mas!

by Tux (Canon)
on Dec 27, 2015 at 11:05 UTC ( [id://1151216]=note: print w/replies, xml ) Need Help??


in reply to Perl 6.0.0 is out - merry X-mas!

And overall perl6 performance of perl6 keeps improving: Native pure-perl6 Text::CSV is faster than Text::CSV_XS in combination with Inline::Perl5. The Perl6 ecosystem (CPAN for perl6 for now) keeps growing and the documantation is improving every day.

I wholeheardedly agree with the thank-you words that Damian Conway wrote on his blog.

Thanks to all developers that enriched out programming landscape and -culture. Even if you will never ever use this language, I think it is worth looking at: you will also learn from things you do not like. Be surprised however about all the things you now can do with it already.


Enjoy, Have FUN! H.Merijn

Replies are listed 'Best First'.
Re^2: Perl 6.0.0 is out - merry X-mas!
by Jenda (Abbot) on Dec 28, 2015 at 09:48 UTC
    Native pure-perl6 Text::CSV is faster than Text::CSV_XS in combination with Inline::Perl5.

    The performance of Inline::Perl5 must be abysmal then. What's the performance of Perl6 (FOR GAWD'S SAKE AT LEAST DROP THE SPACE FROM THE NAME OF THE OTHER LANGUAGE!) Text::CSV compared with Perl Text::CSV (not CSV_XS)?

    Jenda
    Enoch was right!
    Enjoy the last years of Rome.

      Today it is (time in seconds needed to parse 10_000 lines of CSV with 5 fields each):

      Perl5 0.016 Text::CSV::Easy_XS 0.016 Text::CSV::Easy_PP 0.033 Text::CSV_XS using bind_columns () 0.037 Text::CSV_XS 0.504 Text::CSV_PP (Text::CSV) 1.295 Pegex::CSV Perl6 17.474 Inline::Perl5 + Text::CSV_XS line-based 17.057 Inline::Perl5 + Text::CSV_XS IO-based 18.182 Inline::Perl5 + Text::CSV_PP (perl5's Text::CSV) 13.577 Text::CSV (perl6's Text::CSV) 49.948 CSV::Parser

      There are plans to work on optimizing NativeCall soonish, so all timings using Inline::Perl5 might speed up because of that.

      The timings for Text::CSV::Easy_?? are timing the use of a module that only parses 100% valid CSV. It offers no options to deal with abnormalities.

      Given these numbers, we (the perl6 community) still need an overall performance gain of a factor 27 (13.6 → 0.5) to be able to say that pure-perl modules in perl6 are as fast as comparable pure-perl modules in perl5.

      Personally I don't envision perl6 becoming as fast as perl5 with dedicated XS code, as Text::CSV_XS, at least not in the foreseeable future.


      Enjoy, Have FUN! H.Merijn

        So the quickest solution in Perl6 is only about 367 times slower than the "default" Perl5 solution. I guess I'd wait for a few more Christmases even if I actually liked the language.

        Jenda
        Enoch was right!
        Enjoy the last years of Rome.

Re^2: Perl 6.0.0 is out - merry X-mas!
by vkon (Curate) on Dec 28, 2015 at 10:07 UTC
    I am not CSV user, but - if anyone says me that Inline::C does not give you enough performance - then there is something wrong with implementation.

    How come some XS module utilizes Inline::C?? When you're using XS - you already at C level. What a design requires you to use Inline::C

    Therefore your sentence about performance is not convincing, and even - other way round - I now suspect there's something hidden in calculation here.

      Therefore your sentence about performance is not convincing, and even - other way round - I now suspect there's something hidden in calculation here.

      perl6 module Inline::Perl5 which (using perl6 module NativeCall) loads perl5 interpreter which then loads perl5 module Text::CSV_XS ...

      This includes at least four levels of indirection, none of which includes perl5 module Inline::C

        ok, /me wrong: it was Inline::Perl, ok then...

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-03-29 09:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found