[Haskell-cafe] Foreign function performance: monadic vs pure

Serguei Son serguei.son at gmail.com
Mon Apr 11 15:55:04 CEST 2011


Felipe Almeida Lessa <felipe.lessa <at> gmail.com> writes:

> 
> On Mon, Apr 11, 2011 at 10:14 AM, Maciej Marcin Piechotka
> <uzytkownik2 <at> gmail.com> wrote:
> >> main = mapM (\x -> return $! c_sin_u) [1..n]
> > 0.012 s
> 
> This should be
> 
>   main = mapM (\x -> return $! c_sin_u x) [1..n]
> 

So if I must use a safe function returning IO a,
there is no way to improve its performance? To give you
a benchmark, calling gsl_ran_ugaussian a million times
in pure C takes only a second or two on my system.






More information about the Haskell-Cafe mailing list