From f03ca9174b64511a370061090b9821bab6c3d095 Mon Sep 17 00:00:00 2001
From: Adin Baskoro <13513058@std.stei.itb.ac.id>
Date: Fri, 19 Feb 2016 13:41:29 +0700
Subject: [PATCH] fix time benchmark

---
 omp_bucket   | Bin 15424 -> 15752 bytes
 omp_bucket.c |  15 +++++++---
 omp_hello.c  |  81 ---------------------------------------------------
 3 files changed, 11 insertions(+), 85 deletions(-)
 delete mode 100644 omp_hello.c

diff --git a/omp_bucket b/omp_bucket
index 36f09b9d2ef0b1b9f5598333201e7f95f2378f90..3e93d270673fe4e6d72f69658e25c67a55e92982 100755
GIT binary patch
delta 5012
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

delta 4660
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

diff --git a/omp_bucket.c b/omp_bucket.c
index ea3c453..f176507 100644
--- a/omp_bucket.c
+++ b/omp_bucket.c
@@ -11,7 +11,11 @@ void insertion_sort(int* sorted_array, int size, int element_num);
 int main(int argc, char *argv[]) {
 
     int i;
-    time_t time_count;
+
+    // Timer
+    struct timeval start, end;
+    float delta;
+
     // Num of threads
     int thread_count = atoi(argv[1]);
     // Num of elements
@@ -31,11 +35,14 @@ int main(int argc, char *argv[]) {
     memset (sorted_array, 0, (sizeof(int) * element_num));
 
     // Do bucket sort
-    time_count = clock();
+    gettimeofday(&start, NULL);
     #pragma omp parallel num_threads(thread_count)
     bucket_sort(sorted_array, element_num);
-    float final_time = (float) (clock()-time_count) / CLOCKS_PER_SEC *1000;
 
+    gettimeofday(&end, NULL);
+
+    delta = ((end.tv_sec  - start.tv_sec) * 1000000u +
+             end.tv_usec - start.tv_usec) / 1.e6;
     // Print result
     // printf("\n");
     // for (i=0;i<element_num;i++){
@@ -43,7 +50,7 @@ int main(int argc, char *argv[]) {
     // }
     // printf("\n");
 
-    printf("Time : %f ms\n", final_time);
+    printf("Time : %f s\n", delta);
     return 0;
 }
 
diff --git a/omp_hello.c b/omp_hello.c
deleted file mode 100644
index be44c44..0000000
--- a/omp_hello.c
+++ /dev/null
@@ -1,81 +0,0 @@
-#include <stdio.h> 
-#include <stdlib.h> 
-#include <omp.h> 
-#define MAX_VALUE 10000
-
-void bucket_sort(int* sorted_array, int element_num); /* Thread function */ 
-void insertion_sort(int* sorted_array, int size);
-
-
-int main(int argc, char *argv[]) { 
-    
-    int i;
-    
-    // Num of threads
-    int thread_count = atoi(argv[1]); 
-    // Num of elements
-    int element_num = atoi(argv[2]);
-    
-    int range = MAX_VALUE / thread_count;
-    
-    // Seed
-    srand(time(NULL));
-    
-    // Bucket
-    int* bucket = (int *)malloc(sizeof(int) * element_num);
-    memset (bucket, 0, (sizeof(int) * element_num));
-    
-    // Sorted Array
-    int* sorted_array = (int *)malloc(sizeof(int) * element_num);
-    memset (sorted_array, 0, (sizeof(int) * element_num));
-    
-    // Do bucket sort
-    #pragma omp parallel num_threads(thread_count) 
-    bucket_sort(sorted_array, element_num); 
-    
-    for (i=0;i<element_num;i++){
-        printf("%d\n", sorted_array[i]);
-    }
-    return 0; 
-} 
- 
-void insertion_sort(int* sorted_array, int size)
-{
-  int n, array[size], c, d, t;
-  
-  
-  int my_rank = omp_get_thread_num(); 
-  int thread_count = omp_get_num_threads(); 
-  
-  for (c = 0; c < n; c++) {
-    array[c] = rand() % (size*(thread_count+1));
-  }
-  
-  // Sorting
-  for (c = 1 ; c <= n - 1; c++) {
-    d = c;
- 
-    while ( d > 0 && array[d] < array[d-1]) {
-      t          = array[d];
-      array[d]   = array[d-1];
-      array[d-1] = t;
- 
-      d--;
-    }
-  } 
-  
-  memcpy(&array, sorted_array+(my_rank * size), size);
-
-}
-
-void bucket_sort(int* sorted_array, int element_num) { 
-    int my_rank = omp_get_thread_num(); 
-    int thread_count = omp_get_num_threads();
-    
-    int bucket_size = element_num / thread_count;
-    
-    insertion_sort(sorted_array, bucket_size);
-    
-    
-     
-} 
-- 
GitLab