final version of the merge sort benchmark.
authoryeom <yeom>
Tue, 27 Jul 2010 01:10:35 +0000 (01:10 +0000)
committeryeom <yeom>
Tue, 27 Jul 2010 01:10:35 +0000 (01:10 +0000)
Robust/src/Benchmarks/oooJava/mergesort/BMergeSort4.java
Robust/src/Benchmarks/oooJava/mergesort/MergeSort.java
Robust/src/Benchmarks/oooJava/mergesort/makefile

index 74983e95723efbbf8829afe69f7779bf6f0d3095..254df675b2773355fa87bdef77ebdc22648798eb 100644 (file)
@@ -6,11 +6,15 @@ public class MergeSort4 extends MergeSort {
 \r
   public static void main(String[] args) {\r
     int problemSize = 4194304;\r
+    int parallelBranch=32;\r
     if (args.length > 0) {\r
       problemSize = Integer.parseInt(args[0]);\r
     }\r
+    if (args.length > 1) {\r
+      parallelBranch = Integer.parseInt(args[1]);\r
+    }\r
     MergeSort4 sort = new MergeSort4();\r
-    sort.run(problemSize);\r
+    sort.run(problemSize,parallelBranch);\r
   }\r
 \r
   public MergeSort4() {\r
@@ -19,11 +23,14 @@ public class MergeSort4 extends MergeSort {
 \r
   public void runWorkAndTest() {\r
     sese run{\r
+      long startT=System.currentTimeMillis();\r
       int output[]=sort(input, 0, input.length);\r
+      long endT=System.currentTimeMillis();\r
+      System.out.println("running time="+(endT-startT));\r
     }\r
-    sese test{\r
-      checkSorted(output);\r
-    }\r
+//    sese test{\r
+//      checkSorted(output);\r
+//    }\r
   }\r
 \r
   public int[] serializedSort(int A[], int low, int high) {\r
index 755cfbfd4290fe84b358abb57432422a68ca34f4..8301df61261105fe2130ef2dacac630c546ef812 100644 (file)
@@ -28,10 +28,9 @@ public class MergeSort {
   protected int[] result;\r
   protected int size;\r
 \r
-  public void run(int size) {\r
-    this.size = size;\r
+  public void run(int size, int branchSize) {\r
     long startT = System.currentTimeMillis();\r
-    initialize();\r
+    initialize(size, branchSize);\r
     System.out.println("init time=" + (System.currentTimeMillis() - startT));\r
     runWorkAndTest();\r
   }\r
@@ -42,9 +41,9 @@ public class MergeSort {
     INSERTION_SIZE = 2000;\r
   }\r
 \r
-  public void initialize() {\r
-\r
-    SERIALIZED_CUT_OFF = size / 32;\r
+  public void initialize(int size, int branchSize) {\r
+    this.size = size;\r
+    SERIALIZED_CUT_OFF = size / branchSize;\r
 \r
     input = new int[size];\r
     result = new int[size];\r
@@ -231,7 +230,7 @@ public class MergeSort {
 \r
     }\r
 \r
-    quickSort(arr, lo, left + 1);\r
+    quickSort(arr, lo, left);\r
     quickSort(arr, left + 1, hi);\r
 \r
   }\r
index c97479b52289488c16f0b14993c08085a2ad6cc9..6da9451e8a37f8ca1cafc980f20a4f3147de0ff3 100644 (file)
@@ -1,7 +1,7 @@
 #raytracer
 PROGRAM=MergeSort4
 
-SOURCE_FILES=MergeSort4.java
+SOURCE_FILES=BMergeSort4.java
 
 BUILDSCRIPT=../../../buildscript
 
@@ -15,7 +15,7 @@ default:
        $(BUILDSCRIPT) -nojava $(USEOOO) $(BSFLAGS) $(DISJOINT) -o $(PROGRAM)p $(SOURCE_FILES) -builddir par
 
 single:
-       $(BUILDSCRIPT) $(BSFLAGS) -o $(PROGRAM)s -builddir sing $(SOURCE_FILES) 
+       $(BUILDSCRIPT) $(BSFLAGS) -thread -o $(PROGRAM)s -builddir sing $(SOURCE_FILES) 
 
 ooo:
        $(BUILDSCRIPT) $(USEOOO) $(BSFLAGS) $(DISJOINT) -o $(PROGRAM)p -builddir par $(SOURCE_FILES)