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

Reply via email to