Parallel processing and further use of output
John Colvin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Sep 28 05:46:05 PDT 2015
On Monday, 28 September 2015 at 12:18:28 UTC, Russel Winder wrote:
> As a single data point:
>
> ====================== anonymous_fix.d ========== 500000500000
>
> real 0m0.168s
> user 0m0.200s
> sys 0m0.380s
> ====================== colvin_fix.d ==========
> 500000500000
>
> real 0m0.036s
> user 0m0.124s
> sys 0m0.000s
> ====================== norwood_reduce.d ==========
> 500000500000
>
> real 0m0.009s
> user 0m0.020s
> sys 0m0.000s
> ====================== original.d ==========
> 218329750363
>
> real 0m0.024s
> user 0m0.076s
> sys 0m0.000s
>
>
> Original is the original, not entirely slow, but broken :-).
> anonymous is the anonymous' synchronized keyword version, slow.
> colvin_fix is John Colvin's use of atomicOp, correct but only
> ok-ish on speed. Jay Norword first proposed the reduce answer
> on the list, I amended it a tiddly bit, but clearly it is a
> resounding speed winner.
Pretty much as expected. Locks are slow, shared accumulators
suck, much better to write to thread local and then merge.
More information about the Digitalmars-d-learn
mailing list