On 10/21/06, Audrey Tang <[EMAIL PROTECTED]> wrote:
> let proc n x = do
Hmm, am I missing something here, but how does forkIO (and data
parallelism) fit in into that scheme?
I R DUM.
let proc n x = forkIO $ do
--
Taral <[EMAIL PROTECTED]>
"You can't prove anything."
-- Gödel's Incompetenc
在 Oct 21, 2006 9:58 AM 時,Taral 寫到:
On 10/21/06, Audrey Tang <[EMAIL PROTECTED]> wrote:
I wonder if there is a more efficient way doing this...
I would use an IOArray:
let l = length xs
arr <- newArray_ (0, l)
count <- newQSemN 0
let proc n x = do
rv <- runEvalIO env (reduce x)
writeAr
On 10/21/06, Audrey Tang <[EMAIL PROTECTED]> wrote:
I wonder if there is a more efficient way doing this...
I would use an IOArray:
let l = length xs
arr <- newArray_ (0, l)
count <- newQSemN 0
let proc n x = do
rv <- runEvalIO env (reduce x)
writeArray arr n rv
signalQSemN count 1
se
I hacked +RTS -N support into Pugs today; here's a short writeup:
http://pugs.blogs.com/pugs/2006/10/smp_paralleliza.html
Pugs's current implementation for concurrent operations on lists is
very naive:
chan<- newChan
forM ([0..] `zip` xs) $ \(n, x) -> forkIO $