[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