[Haskell-cafe] newbie questions (read, etc., with Data.ByteString.Lazy.Char8)

wman 666wman at gmail.com
Mon Oct 6 23:54:44 EDT 2008


just for the kicks i tried the new version of bytestring without -O2 and the
results were even worse:

time Main1 < nums
real    0m40.092s
user    0m0.015s
sys     0m0.015s

time Main3 < nums
real    0m41.405s
user    0m0.015s
sys     0m0.015s

it got pwned even by this very naive ruby scipt (which, btw, chewed through
some ~600 MB of memory ;-))

File.open("nums","r") do |f|
  puts((f.read.split.each {|x| x.to_i }).length)
end

time ruby nums.rb
real    0m21.609s
user    0m0.015s
sys     0m0.015s

so it probably can't be stressed enough: repeat "-O2"

and now seriously:

is there a reason why -O2 shouldn't be made the default (and allowing to
turn off optimizations by -O0 perhaps) ?

On Tue, Oct 7, 2008 at 5:36 AM, wman <666wman at gmail.com> wrote:

> new figures, after updating bytestring (0.9.0.1.1 -> 0.9.1.2) && using -O2
>
> time Main < nums
> real    0m2.531s
> user    0m0.015s
> sys     0m0.015s
>
> time Main2 < nums
> real    0m13.999s
> user    0m0.015s
> sys     0m0.015s
>
> time Main3 < nums
> real    0m2.796s
> user    0m0.015s
> sys     0m0.015s
>
> thats more like it, even the unpacking didn't hurt so much.
>
> the morals: "Thou shalt update your libraries" & "Thou shalt not forget to
> turn on optimizations" before bitching it's too slow ;-)))
>
> thx
>
> On Tue, Oct 7, 2008 at 5:19 AM, Don Stewart <dons at galois.com> wrote:
>
>> Hmm. How are you compiling it? Using bytestring 0.9.1.x ?
>>
>> Should be fast,
>>
>> http://shootout.alioth.debian.org/gp4/benchmark.php?test=sumcol&lang=all
>>
>> Assuming you're turning on optimisations ( ghc -O2 )
>>
>> -- Don
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20081007/97bb534a/attachment.htm


More information about the Haskell-Cafe mailing list