On Fri, Aug 05, 2005 at 01:13:06PM +0400, Bulat Ziganshin wrote:
> Hello Till,
> 
> Friday, August 05, 2005, 10:04:53 AM, you wrote:
> 
> TM>                MonadState  IOArray IOArray          ST
> TM>                with                with             with
> TM>                FiniteMap           unsafePerformIO  MutArr
> 
> TM> safe           yes        yes         no            yes
> 
> TM> efficient      no         yes         yes           yes
> 
> 
> afaik, ST efficient only with small enough arrays. one time i tried
> STArray of about 100 000 elements and seen that things goes much worse
> than in IO monad with IOArray. on small arrays STArray performs good
> enough
> 
> (i was trying to create sorting routine. afair, it was an insert sort)

It might have been caused by a recently fixed (in CVS) unfeature/bug,
described on
http://sourceforge.net/tracker/index.php?func=detail&aid=1019758&group_id=8032&atid=108032

IIRC, if the same code could be used both for "ST s a" and for
"IO a", GHC could fail to specialize the "ST s a" version because
it had a typevariable too much.

Groeten,
Remi

-- 
Nobody can be exactly like me. Even I have trouble doing it.

Attachment: pgpGhGRrLbEhN.pgp
Description: PGP signature

_______________________________________________
Haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to