Re: Perl 6.0.0 is out - merry X-mas!
by Tux (Canon) on Dec 27, 2015 at 11:05 UTC
|
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
| [reply] |
|
| [reply] |
|
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
| [reply] [d/l] |
|
|
|
|
|
|
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.
| [reply] |
|
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
| [reply] |
|
Re: Perl 6.0.0 is out - merry X-mas!
by Laurent_R (Canon) on Dec 26, 2015 at 20:32 UTC
|
| [reply] |
Re: Perl 6.0.0 is out - merry X-mas!
by Your Mother (Archbishop) on Dec 28, 2015 at 16:14 UTC
|
FWIW, I switched an alias I use somewhat frequently (mostly for test code/data or for throwaway passwords) to generate UUIDs. Problem isn’t important, just that it was easy to do. Install–
~>git clone https://github.com/tadzik/rakudobrew ~/.rakudobrew
~>export PATH=~/.rakudobrew/bin:$PATH
~>rakudobrew build moar v6.c
~>rakudobrew build-panda
~>panda install UUID
Switch alias from Perl to Perl6–
~>which uuid
uuid: aliased to perl -MData::UUID -le 'print Data::UUID->new->create
+_str'
~>emacs .aliases
~>which uuid
uuid: aliased to perl6 -MUUID -e 'say ~UUID.new'
~>uuid
ed10881e-dac6-431a-a8ae-9ba2a49be8bc
| [reply] [d/l] [select] |
Re: Perl 6.0.0 is out
by Discipulus (Canon) on Dec 27, 2015 at 23:15 UTC
|
| [reply] [d/l] |
Re: Perl 6.0.0 is out - merry X-mas!
by Anonymous Monk on Dec 19, 2016 at 21:26 UTC
|
So here we are one year later. Who is using Perl6 and what are you using it for? | [reply] |
|
I'm developing a Perl 6 based GraphQL implementation.
It isn't ready for public release yet, but if anyone is interested, contact me.
I'll also be describing it a bit at the January Philadelphia Perl Mongers meeting.
It is my first real Perl 6 project, and I've been very impressed. I still have a tendency to try doing Perl 5ish things, it is a bit of an adjustment, but once it clicks, I have a real appreciation for the thought that went into the Perl 6 design.
Thank you so much to all of those who contributed to it over the years. I know it has been a long and trying ordeal, but I really think the final product (6.c) has been worth it. I look forward to the rapidly improving implementations of it (Rakudo/MoarVM) ultimately fulfilling that vision.
| [reply] |
|
I dabble with it from time-to-time just to keep familiar with it, and I started writing a logging module with it for learning purposes a while back (had to abandon it due to lack of time, but it's still there for later), but I don't use it for anything outside of just playing around.
| [reply] |
|
Same here, I use it for play and read on Perl 6 posts for (self-) education.
I've been spending time elsewhere, most notably in end-user training in the last 12 months.
Cheers, Sören
Créateur des bugs mobiles - let loose once, run everywhere.
(hooked on the Perl Programming language)
| [reply] |