I've never seen GO before this thread,  but after a glance at the GO web site, 
I suspect the difference may have more to do with concurrency than compiling.  
Perl is written in C and natively pretty good at file and string manipulation. 
My gut says a 2x win for this problem just by using GO compiled to a "static 
binary" is much too big a difference. 

Is the code for the GO program being compared to the posted perl script also 
available?

I'm curious,
-Andrew

> On Mar 14, 2014, at 12:42 PM, [email protected] wrote:
> 
> From what I can see GO is purely compiled down to object code and linked into 
> static binaries.  IMHO Perl, as an interpreted language, is doing *super* to 
> be *only* twice the runtime of Go!   Maybe others have a better handle on 
> this.  
> 
>> On March 8, 2014 3:26:31 PM EST, Gyepi SAM <[email protected]> wrote:
>>> On Sat, Mar 08, 2014 at 02:12:50PM -0500, David Larochelle wrote:
>>>> On Sat, Mar 8, 2014 at 1:40 PM, Gyepi SAM <[email protected]>
>>> wrote:
>>> 
>>>> For fun, I wrote a version in Go and it's twice as fast as the perl
>>>> version. I imagine a C version would be faster yet, but I get paid
>> for that
>>>> kind of fun. I'd be happy to send you the Go version if you're
>> interested.
>>> 
>>> 
>>> 
>>> I'm curious how you account for disk caches when your bench marking.
>> I
>>> fully expect that the CPU version of the code will be faster in GO
>> than
>>> Perl. But I wonder how much this matters if the file isn't already in
>> the
>>> disk cache.
>>> 
>>> An interesting test would be to run the GO version first on a file
>> that's
>>> you can be sure is not in the disk cache, then to run the Perl
>> version on
>>> that file. I.e. let Perl benefit from the disk cache and see if GO is
>> still
>>> faster.
>> 
>> I have an SSD drive on my linux laptop so disk caching plays less of a
>> role in
>> my tests. I clear the cache with:
>> 
>>   echo 3 | sudo tee /proc/sys/vm/drop_caches
>> 
>> I repeated the tests after clearing the disk cache each time and also
>> ran each
>> test multiple times without clearing cache. The cached versions are a
>> few
>> seconds faster, but the overall results are the same; the Go version is
>> about twice as fast.
>> 
>> -Gyepi
>> 
>> _______________________________________________
>> Boston-pm mailing list
>> [email protected]
>> http://mail.pm.org/mailman/listinfo/boston-pm
> 
> _______________________________________________
> Boston-pm mailing list
> [email protected]
> http://mail.pm.org/mailman/listinfo/boston-pm

_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to