@@ -43,6 +43,20 @@ abstract class Oblig4 { | |||
// Requires x, y, n, MAX_X, MAX_Y, and coHull | |||
// to be filled out. | |||
Thread draw() { | |||
if (n > 20000) { | |||
System.out.println(name+": Too many dots to draw."); | |||
return null; | |||
} | |||
System.out.println(name+" coHull: "); | |||
for (int i = 0; i < coHull.size(); ++i) { | |||
if (i == 0) | |||
System.out.print(coHull.get(i)); | |||
else | |||
System.out.print(", "+coHull.get(i)); | |||
} | |||
System.out.println(""); | |||
DrawThread t = new DrawThread(this); | |||
t.start(); | |||
return t; |
@@ -0,0 +1,8 @@ | |||
Filling... | |||
Done. | |||
Sequential: 886.05μs | |||
Parallel: 2.76ms (0.32x speedup) | |||
Sequential coHull: | |||
290, 396, 896, 782, 178, 172, 433, 466, 228, 341, 836, 588, 789, 212, 83, 275, 551, 826, 840, 712, 311, 326, 62, 432, 196, 214, 98, 154, 615, 643, 922, 828, 394, 181, 783, 67, 721, 938, 932, 69, 682, 237, 545, 732, 569, 110, 785, 485 | |||
Parallel coHull: | |||
290, 396, 896, 782, 178, 172, 433, 466, 228, 341, 836, 588, 789, 212, 83, 275, 551, 826, 840, 712, 311, 326, 62, 432, 196, 214, 98, 154, 615, 643, 922, 828, 394, 181, 783, 67, 721, 938, 932, 69, 682, 237, 545, 732, 569, 110, 785, 485 |
@@ -0,0 +1,42 @@ | |||
Kompilering: `javac *.java` | |||
Kjøring: `java Main <tall>` | |||
# Eksempelutskrift | |||
I filen output.txt finner du et eksempel på å kjøre `java Main 1000`. | |||
# Tider | |||
CPU: Intel Core(TM) i7-6700K @ 4.00GHz | |||
Jeg aner ikke hvorfor jeg får så dårlig speed-up på n=1 million, men det skjer | |||
konsekvent hver gang, både på desktopen og serveren min. | |||
100: | |||
* Sekvensiell: 312.89μs | |||
* Parallell: 2.83ms (0.11x speedup) | |||
1 000: | |||
* Sekvensiell: 721.01μs | |||
* Parallell: 2.78ms (0.26x speedup) | |||
10 000: | |||
* Sekvensiell: 3.56ms | |||
* Parallell: 3.72ms (0.96x speedup) | |||
100 000: | |||
* Sekvensiell: 27.53ms | |||
* Parallell: 21.84ms (1.26x speedup) | |||
1 000 000: | |||
* Sekvensiell: 60.21ms | |||
* Parallell: 122.83ms (0.49x speedup) | |||
10 000 000: | |||
* Sekvensiell: 452.31ms | |||
* Parallell: 313.85ms (1.44x speedup) | |||
100 000 000: | |||
* Sekvensiell: 3.81s | |||
* Parallell: 2.66s (1.44x speedup) | |||