Re: Low-level array performance

2008-06-17 Thread Simon Marlow
Dan Doel wrote: Issue 2: Reading from/writing to a MutableByteArray# is slower than an Addr# This is, I think, the crux of the issue. The main content of the benchmark is reversing/shifting items in an array. To get a somewhat easier look at the core, I boiled things down to a benchmark that

Re: Low-level array performance

2008-06-17 Thread Dan Doel
On Tuesday 17 June 2008, Simon Marlow wrote: So I tried your examples and the Addr# version looks slower than the MBA# version: Hmm... I tried with 6.8.2 and 6.8.3, using -O2 in both cases. I tried the Ptr version with and without -fvia-C -optc-O2, no difference. I had forgotten about the

Re: Low-level array performance

2008-06-17 Thread Daniel Fischer
Am Dienstag, 17. Juni 2008 18:32 schrieb Dan Doel: On Tuesday 17 June 2008, Simon Marlow wrote: So I tried your examples and the Addr# version looks slower than the MBA# version: Hmm... I tried with 6.8.2 and 6.8.3, using -O2 in both cases. I tried the Ptr version with and without

Re: Low-level array performance

2008-06-17 Thread Dan Doel
On Tuesday 17 June 2008, Daniel Fischer wrote: I've experimented a bit and found that Ptr is faster for small arrays (only very slightly so if compiled with -fvia-C -optc-O3), but ByteArr performs much better for larger arrays ... The GC time for the Addr# version is frightening I had an

ANNOUNCE: GHC version 6.8.3

2008-06-17 Thread Ian Lynagh
= The (Interactive) Glasgow Haskell Compiler -- version 6.8.3 = The GHC Team is pleased to announce a new patchlevel release of GHC. This release contains a number of

Re: Low-level array performance

2008-06-17 Thread haskell
I see that Dan Doel's post favoring Ptr/Addr# has the same allocation amounts (from +RTS -sstderr) for Ptr/Addr# and the MutableByteArray# Everyone else sees more allocation for Ptr/Addr# than MBA# and see MBA# as faster in these cases. I myself (on G4) see more allocation [just like Simon

Re: Low-level array performance

2008-06-17 Thread Daniel Fischer
Am Dienstag, 17. Juni 2008 20:35 schrieb Dan Doel: On Tuesday 17 June 2008, Daniel Fischer wrote: I've experimented a bit and found that Ptr is faster for small arrays (only very slightly so if compiled with -fvia-C -optc-O3), but ByteArr performs much better for larger arrays ... The

Re: Low-level array performance

2008-06-17 Thread Dan Doel
On Tuesday 17 June 2008, [EMAIL PROTECTED] wrote: I see that Dan Doel's post favoring Ptr/Addr# has the same allocation amounts (from +RTS -sstderr) for Ptr/Addr# and the MutableByteArray# Everyone else sees more allocation for Ptr/Addr# than MBA# and see MBA# as faster in these cases. I

Symbols in built executables

2008-06-17 Thread Bryan O'Sullivan
Here's something I just stumbled upon by accident: at least on Linux, GHC emits huge numbers of symbols into the binaries it generates. Here's Haddock, which I compiled without any funny debug options: $ du -h haddock-0.9 4.1M haddock-0.9 $ nm haddock-0.9 | wc -l 37938 $ strip haddock-0.9 $ du