123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- Resultatet av å kjøre `java Main test` på en server med en
- quad core Intel Xeon E31225 @ 3.1 GHz (ingen hyperthreading):
-
- Test results for n=100000000, k=100:
- Arrays.sort: 10s
- Sequential: 133ms (77.76x speedup)
- Parallel: 41ms (248.75x speedup)
-
- Test results for n=100000000, k=20:
- Arrays.sort: 10s
- Sequential: 151ms (68.92x speedup)
- Parallel: 42ms (247.82x speedup)
-
- Test results for n=10000000, k=100:
- Arrays.sort: 909ms
- Sequential: 17ms (53.39x speedup)
- Parallel: 5ms (166.95x speedup)
-
- Test results for n=10000000, k=20:
- Arrays.sort: 909ms
- Sequential: 17ms (52.74x speedup)
- Parallel: 5ms (177.27x speedup)
-
- Test results for n=1000000, k=100:
- Arrays.sort: 77ms
- Sequential: 1ms (39.75x speedup)
- Parallel: 1ms (44.55x speedup)
-
- Test results for n=1000000, k=20:
- Arrays.sort: 77ms
- Sequential: 1ms (50.59x speedup)
- Parallel: 694μs (112.21x speedup)
-
- Test results for n=100000, k=100:
- Arrays.sort: 6ms
- Sequential: 219μs (30.48x speedup)
- Parallel: 430μs (15.55x speedup)
-
- Test results for n=100000, k=20:
- Arrays.sort: 6ms
- Sequential: 163μs (40.80x speedup)
- Parallel: 521μs (12.82x speedup)
-
- Test results for n=10000, k=100:
- Arrays.sort: 551μs
- Sequential: 65μs (8.43x speedup)
- Parallel: 295μs (1.87x speedup)
-
- Test results for n=10000, k=20:
- Arrays.sort: 551μs
- Sequential: 19μs (28.97x speedup)
- Parallel: 172μs (3.19x speedup)
-
- Test results for n=1000, k=100:
- Arrays.sort: 52μs
- Sequential: 27μs (1.92x speedup)
- Parallel: 190μs (0.27x speedup)
-
- Test results for n=1000, k=20:
- Arrays.sort: 52μs
- Sequential: 4μs (11.88x speedup)
- Parallel: 174μs (0.30x speedup)
-
- Vedlagt er diagram.png som viser en graf. Jeg har tegnet opp de sekvensielle
- og de parallelle løsningene i samme graf.
-
- ## Kommentar
-
- For verdier av n rundt 10000 får jeg en speedup over Arrays.sort på over 1.
- For verdier av n rundt 1000000 er den parallelle koden raskere enn
- den sekvensielle.
-
- Algoritmen A2 er veldig rask; den tar kun et millisekund å finne de 100
- første elementene selv når vi har en million elementer i arrayet, så
- tiden det tar å spinne opp tråder er veldig betydelig. Det er først når
- det begynner å ta flere millisekunder at tiden det tar å spinne opp
- alle trådene blir verdt det, og det skal flere millioner elementer i arrayet
- til for at det tar mer enn et millisekund.
|