Re: Low-level array performance

2008-06-18 Thread Dan Doel
On Wednesday 18 June 2008, Daniel Fischer wrote: > Am Dienstag, 17. Juni 2008 22:37 schrieb Dan Doel: > > I'll attach new, hopefully bug-free versions of the benchmark to this > > message. > > With -O2 -fvia-C -optc-O3, the difference is small (less than 1%), but > today, ByteArr is faster more oft

Re: Low-level array performance

2008-06-18 Thread Daniel Fischer
Am Dienstag, 17. Juni 2008 22:37 schrieb Dan Doel: > I'll attach new, hopefully bug-free versions of the benchmark to this > message. With -O2 -fvia-C -optc-O3, the difference is small (less than 1%), but today, ByteArr is faster more often. > > Of course, without the list overhead, the ByteArr

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.

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 > > ...

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 M

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

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

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 t

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-16 Thread Simon Peyton-Jones
w-haskell- | [EMAIL PROTECTED] On Behalf Of Dan Doel | Sent: 16 June 2008 20:52 | To: glasgow-haskell-users@haskell.org | Subject: Low-level array performance | | Greetings, | | Recently, due to scattered complaints I'd seen on the internet, I set about | to | rewrite the fannkuch [1] benc

Low-level array performance

2008-06-16 Thread Dan Doel
Greetings, Recently, due to scattered complaints I'd seen on the internet, I set about to rewrite the fannkuch [1] benchmark on the Great Computer Language Shootout. The current entry uses Ptr/Addr#, malloc, etc. so it's not particularly representative of code one would actually write in Haskel