in reply to Re^2: Perl 6.0.0 is out - merry X-mas!
in thread Perl 6.0.0 is out - merry X-mas!
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.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Perl 6.0.0 is out - merry X-mas!
by Jenda (Abbot) on Jan 04, 2016 at 14:33 UTC | |
by Tux (Canon) on Jan 11, 2016 at 13:58 UTC | |
by Arunbear (Prior) on Jan 07, 2016 at 12:24 UTC | |
by Jenda (Abbot) on Jan 11, 2016 at 11:17 UTC | |
by hotchiwawa (Scribe) on Jan 04, 2016 at 14:40 UTC |