Don Stewart wrote:
jsnow:
A new version of my raytracer is out. ...
Very impressive. Did you consider cabalising the Haskell code, so it
can be easily distributed from hackage.haskell.org?
I note on the website you say:
"no threading (shared-memory concurrency is not supported by ocaml,
in haskell it's buggy)"
Could you elaborate on this? Shared memory concurrency is a sweet spot
in Haskell, and heavily utilised, so I think we'd all like to know more
details..
-- Don
The concurrency bug has to do with excessive memory use, and was discussed
earlier here on the mailing list (search for Glome).
http://hackage.haskell.org/trac/ghc/ticket/2185
The other problem I had with concurrency is that I was getting about a
50% speedup instead of the 99% or so that I'd expect on two cores. I
figured I'm probably doing something wrong.
I don't have any objection to using cabal, I just haven't gone to the
trouble to figure it out yet. Maybe in the next release.
Sebastian Sylvan wrote:
Not sure what you need shared memory concurrency for in this case as
it seems to be a straightforward parallelism problem (i.e. the
different threads would be different pixels, there is no sharing needed).
The scene is shared between threads. (Complex scenes can be quite
large.) I'm assuming this is handled as a read-only shared memory
region or something similar, as one might expect, and is not actually
copied.
-jim
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe