Changes between Version 54 and Version 55 of DataParallel/BenchmarkStatus
- Timestamp:
- 12/01/10 20:22:07 (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DataParallel/BenchmarkStatus
v54 v55 11 11 [[br]] 12 12 = Summary = 13 * Evens gets slower asnumber of threads increases, probably because it's using a filtering operation.14 * !QuickHull is 4x slower than the immutable Data.Vector version in absolute terms. This may be related to the problem with Evens.15 * Vectorised sequential !QuickSortdoesn't compile due to a blow-up in !SpecConstr.16 * Vectorised NBody has a core-lint error due to a bug in the rule matcher. If you turn off -dcore-lint it segfaults when run.13 * Evens: gets slower as the number of threads increases, probably because it's using a filtering operation. 14 * !QuickHull: vectorised.par.N1 version is 6x slower than the immutable Data.Vector version in absolute terms. This may be related to the problem with Evens. 15 * !QuickSort: vectorised.seq version doesn't compile due to a blow-up in !SpecConstr. 16 * NBody: has a core-lint error due to a bug in the rule matcher. If you turn off -dcore-lint it segfaults when run. Before recent GHC changes it compiled (with core-lint error), but vectorised.par Barnes-Hut algorithm was 50x slower than the version using immutable Data.Vector. 17 17 18 !ToDo: Benchmarks are currently being run with -fasm, and not via the LLVM backend. This will affect comparisons with C, but not with Data.Vector as it uses the same backend. 18 = !ToDo = 19 * Benchmarks are currently being run with -fasm, and not via the LLVM backend. This will affect comparisons with C, but not with Data.Vector as it uses the same backend. 19 20 20 21 [[br]] … … 108 109 || dph.quickhull.vectorised.par.N2 || 0.809s || 0.21 || || 109 110 || dph.quickhull.vectorised.par.N4 || 0.686s || 0.24 || || 110 || dph.quickhull.vector-mutable.seq.N4 || 0.086s || 1.93 || ||111 || dph.quickhull.vector-forkIO.par.N4 || 0.064s || 2.59 || A||112 || dph.quickhull.c.seq || 0.044s || 3.77 || B||111 || dph.quickhull.vector-mutable.seq.N4 || 0.086s || 1.93 || A || 112 || dph.quickhull.vector-forkIO.par.N4 || 0.064s || 2.59 || B || 113 || dph.quickhull.c.seq || 0.044s || 3.77 || C || 113 114 114 A: Uses mutable Data.Vectors, unsafe operations, forkIO and atomicModifyIORef. Code is uglier than the C version.[[br]] 115 B: Sequential C version with pre-allocated mutable intermediate buffers.[[br]] 115 A: Uses mutable Data.Vectors for intermediate buffers.[[br]] 116 B: Uses mutable Data.Vectors, forkIO and atomicModifyIORef. Concurrent threads fill a shared output vector. Code is uglier than the C version.[[br]] 117 C: Sequential C version with pre-allocated mutable intermediate buffers.[[br]] 116 118 117 '''Status''': Benchmark scales but is 4xslower than version using immutable Data.Vectors. !QuickHull is based around filtering operations, so the fact that Evens is also slow is probably related.119 '''Status''': Benchmark scales but single threaded vectorised.par version is 6x slower than slower than version using immutable Data.Vectors. !QuickHull is based around filtering operations, so the fact that Evens is also slow is probably related. 118 120 119 121
