[Haskell-cafe] FPS lib

John Meacham john at repetae.net
Tue Oct 18 20:23:00 EDT 2005


On Wed, Oct 19, 2005 at 10:07:37AM +1000, Donald Bruce Stewart wrote:
> kr.angelov:
> > Hello Guys,
> > 
> > I tried my own version of PackedStrings and the results are very nice.
> > It is entirely based on ByteArray# and Int#. I have made two tests:
> > 
> > Elapsed time
> > |     | FastPackedString | PackedString |
> > +-----+------------------+--------------+
> > |test1|           99.26s |        3.81s |
> > |test2|          175.88s |        5.28s |
> >
> > Maximum Memory Residency
> > |     | FastPackedString | PackedString |
> > +-----+------------------+--------------+
> > |test1|          40.60Mb |      36.25Mb |
> > |test2|          91.58Mb |      33.94Mb |
> 
> Wow. Now this is really surprising. 
> 
> Firstly, I would point out that only testing pack and concat may be
> slightly unrepresentative :)
> 
> However, on my machine:
> 
>     OpenBSD/Pentium-M 1.6G/ghc-6.5 -O
>     Elapsed time:        FPS          Simon's PackedString   Krasimir's
>     test1                1.966s (40M)      2.151s (36M)      2.235s (36M)
>     test2                6.048s (24M)      3.160s (73M)      2.318s (39M)
> 
> Which is basically what I expected. Though perhaps I need to improve
> concat (we currently do things a little strangely in concat, due to the
> darcs legacy), but pack itself is nice and fast.
> 
>     Linux/Pentium 4 3.6G/ghc-6.4.1 -O
>     test1               35.37s            30.97s             2.180s
>     test2               90.93s            60.55s             1.916s
> 
> Ah!! So what's going on on Linux, I wonder. Could it be something about
> 6.4.1? Are we seeing the difference between ForeignPtrs from 6.4 to 6.5?
> I will investigate.
> 
> I'd be very wary of switching entirely to non-portable ghc primop-based
> code, as FPS already run ons hugs and I think nhc.

can we add Data.PackedString and my PackedString (in the jhc repo) to
the testing lineup?

actually, is the test code available somewhere?

        John

-- 
John Meacham - ⑆repetae.net⑆john⑈ 


More information about the Haskell-Cafe mailing list