[Melbourne-pm] Still performing well..
Toby Corkindale
toby.corkindale at strategicdata.com.au
Mon May 17 23:49:49 PDT 2010
On 18/05/10 16:17, Sam Watkins wrote:
> On Tue, May 18, 2010 at 01:49:23PM +1000, Toby Corkindale wrote:
>> After the last Perlmongers meeting I was curious to benchmark Perl vs Go
>> vs Scala in more than just a trivial case.
>>
>> I setup a test to read in a large CSV file, performing some minor
>> numeric and text manipulation upon each row, and outputing the results.
>>
>> I timed the results within the apps, so as to avoid the start-up time,
>> and will report both below.
>>
>>
>> Language : Process time : Total time
>> Perl 5.10 : 1089 ms : 1153 ms
>> Go : 1682 ms : 1687 ms
>> Scala 2.8 : 2729 ms : 3114 ms
>
> Text::CSV use C code (XS) by default, but I think Go should still be faster,
> as Text::CSV has to create all those perl data structures. If you did it in
> pure Perl (Text::CSV_PP) it would be a lot slower. Perhaps Go is so much
> slower than C, that the cost of setting up perl data structures doesn't matter.
>
> Can you provide your benchmark code? What did you use to the parse the CSV in
> Go? was it calling out to some Perl subroutines to do the work? ;)
http://github.com/TJC/PerfTesting
Feel free to fork the repo and then send back improvements to the tests,
or even tests written in other languages. (C, C++, Ruby, Python, Brace, etc)
Cheers,
Toby
More information about the Melbourne-pm
mailing list