[racket-users] Places performance & channel capacity

2017-06-12 Thread Andreas Olsson
A late answer but I made a parallel map implementation you might try. https://pkgs.racket-lang.org/package/pmap -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to

Re: [racket-users] Places performance & channel capacity

2016-01-22 Thread Gustavo Massaccesi
>In hindsight, I guess that's not too surprising since the majority of work is copying byte from >one place to another anyway (soundex isn't that slow), so if the parallel version has to copy >the line twice when the work is ~ copying the line once, it's going to be expensive getting >the data

Re: [racket-users] Places performance & channel capacity

2016-01-21 Thread Sam Tobin-Hochstadt
Hi Brian, A few suggestions: 1. You really want to use synchronization to determine when to end, not sleeping. Have each place write a message back to its parent when it is done, and have the parent wait for that message before finishing. 2. Async channels are implemented with threads, and

Re: [racket-users] Places performance & channel capacity

2016-01-21 Thread Brian Adkins
On Thursday, January 21, 2016 at 10:58:51 AM UTC-5, Sam Tobin-Hochstadt wrote: > Hi Brian, > > A few suggestions: > > 1. You really want to use synchronization to determine when to end, > not sleeping. Have each place write a message back to its parent when > it is done, and have the parent wait

Re: [racket-users] Places performance & channel capacity

2016-01-21 Thread Brian Adkins
On Thursday, January 21, 2016 at 12:50:26 PM UTC-5, antoine wrote: > Bonjour, > > Maybe for avoiding transforming mutable data to immutable data you could use > make-shared-bytes and transfer the data by this mean? Don't know the > underlying > implementation of make-shared-bytes it didn't seem

Re: [racket-users] Places performance & channel capacity

2016-01-21 Thread antoine
Bonjour, Maybe for avoiding transforming mutable data to immutable data you could use make-shared-bytes and transfer the data by this mean? Don't know the underlying implementation of make-shared-bytes it didn't seem to use POSIX shared memory objects. Use one make-shared-bytes per place and

Re: [racket-users] Places performance & channel capacity

2016-01-21 Thread antoine
To make it clear here is what i have in mind: #lang racket ;; dummy function, just remplace by A (define (do-stuff shared-data data-length) (values (make-bytes data-length 65) data-length)) (define p (place ch (define shared-data (place-channel-get ch)) (let loop ()

Re: [racket-users] Places performance & channel capacity

2016-01-21 Thread Brian Adkins
On Thursday, January 21, 2016 at 2:26:50 PM UTC-5, antoine wrote: > To make it clear here is what i have in mind: > > #lang racket > > ;; dummy function, just remplace by A > (define (do-stuff shared-data data-length) > (values >(make-bytes data-length 65) >data-length)) > > (define p

[racket-users] Places performance & channel capacity

2016-01-20 Thread Brian Adkins
My initial experiment with places is a bit disappointing: Sequential version: cpu time: 2084 real time: 2091 gc time: 91 Places version: cpu time: 16895 real time: 3988 gc time: 4244 Using 8x the CPU time seems quite high. And more importantly, the places version only wrote 128,541 lines to