I wrote:

> Nala Ginrut <nalagin...@gmail.com> writes:
>> --------------------cut-------------------
>> scheme@(guile-user)> ,time (define a (map (lambda (x) (expt x 5)) (iota
>> 10000)))
>> ;; 0.008019s real time, 0.007979s run time.  0.000000s spent in GC.
>> scheme@(guile-user)> ,time (define a (par-map (lambda (x) (expt x 5))
>> (iota 10000)))
>> ;; 6.596471s real time, 6.579375s run time.  1.513880s spent in GC.
>> --------------------end-------------------
> [...]
>> Well, is there any example?
>
> The timings above suggest that, on your machine, the overhead of
> 'par-map' is in the neighborhood of 660 microseconds per thread (that's
> the total run time divided by 10000 iterations).

BTW, I notice that the overhead of 'par-map' is much less for shorter
lists.  It's about 9 times faster for lists of length 1000, and about 20
times faster for lists of length 100.

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,time (define a (par-map (lambda (x) (expt x 5)) (iota 
10000)))
;; 8.293139s real time, 8.281802s run time.  1.310634s spent in GC.
scheme@(guile-user)> ,time (define a (for-each (lambda (k) (par-map (lambda (x) 
(expt x 5)) (iota 1000))) (iota 10)))
;; 0.908630s real time, 0.916819s run time.  0.070018s spent in GC.
scheme@(guile-user)> ,time (define a (for-each (lambda (k) (par-map (lambda (x) 
(expt x 5)) (iota 100))) (iota 100)))
;; 0.330130s real time, 0.418148s run time.  0.045255s spent in GC.
--8<---------------cut here---------------end--------------->8---

      Mark

Reply via email to