computer language shootout
Thomas Hallgren
hallgren@cse.ogi.edu
Mon, 30 Jul 2001 11:33:05 -0700
Josef Svenningsson wrote:
>On Mon, 30 Jul 2001, Simon Marlow wrote:
>
>>I've looked at a few. The most common factor in the worst performers
>>seems to be the performance of String-related operations. I tried
>>converting a few to use PackedStrings but that didn't help much.
>>
>Well, I think the common factor is I/O. ...
>
Couldn't it sometimes also be really simple things, like how much time
is spent in the garbage collector? As illustrated below, it first
appears that HBC is faster than GHC (5.00.2) on a simple I/O & String
manipulation benchmark, but, as the last test shows...
linux% cat interact.hs
main = interact (unlines . lines)
linux% hbc -O interact.hs
linux% time a.out < Input500 > Output500
7.870u 0.210s 0:08.08 100.0% 0+0k 0+0io 159pf+0w
linux% ghc -O2 interact.hs
linux% time a.out < Input500 > Output500
10.010u 0.190s 0:10.26 99.4% 0+0k 0+0io 150pf+0w
linux% time a.out +RTS -H2M < Input500 > Output500
6.220u 0.140s 0:06.35 100.1% 0+0k 0+0io 163pf+0w
linux% rpm -q ghc
ghc-5.00.2-1
The file Input500 is http://www.bagley.org/data/shootout/wc/Input,
repeated 500 times.
/Thomas Hallgren