diff --git a/bucket b/bucket
deleted file mode 100755
index 05d8d887a10d32713c84e305652d2c1941f0bfa8..0000000000000000000000000000000000000000
Binary files a/bucket and /dev/null differ
diff --git a/result/Laporan.jpg b/result/Laporan.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..199e211a27bf60b8629caa2a59b4ef9f45a98f20
Binary files /dev/null and b/result/Laporan.jpg differ
diff --git a/result/Makefile b/result/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..1eaf36dd25a72a4b644bd385519411d40a759e0e
--- /dev/null
+++ b/result/Makefile
@@ -0,0 +1,2 @@
+all:
+	gcc --std=gnu99 bucket.c -o bucket -fopenmp
diff --git a/result/bucket b/result/bucket
new file mode 100755
index 0000000000000000000000000000000000000000..8fb51e471dc2e54918ea742eeb1030cae54a8022
Binary files /dev/null and b/result/bucket differ
diff --git a/bucket.c b/result/bucket.c
similarity index 88%
rename from bucket.c
rename to result/bucket.c
index 7d2e6d92e8462cd09db095d755741805914ce96d..30b66cf6de4c2838a98a779dc1f090891306f29f 100644
--- a/bucket.c
+++ b/result/bucket.c
@@ -123,21 +123,21 @@ int main(int argc, char** argv) {
         }
     }
 
-    /* for (int i = 0; i < num_thread; i++) { */
-    /*     printf("%d : ", i); */
-    /*     for (int j = 0; j < bucket_sizes[i]; j++) { */
-    /*         printf("%d, ", all_data[i][j]); */
-    /*     } */
-    /*     printf("\n"); */
-    /* } */
-
     /* Sroted array */
-    int *sorted_array = malloc(sizeof(int) * NbElmts - 10);
+    int *sorted_array = malloc(sizeof(int) * NbElmts);
+
 
-    #pragma omp parallel num_threads(num_thread), shared(sorted_array)
+    double delta;
+
+#pragma omp parallel num_threads(num_thread), shared(sorted_array)
     {
         int my_num_thread = omp_get_thread_num();
         int start_index = 0;
+
+        struct timespec start, end;
+        clock_gettime(CLOCK_MONOTONIC, &start);
+
+
         for (int i = 0; i < my_num_thread ; i++) {
             start_index += bucket_sizes[i];
         }
@@ -163,11 +163,10 @@ int main(int argc, char** argv) {
             }
         }
 
-        printf("Sorted for thread %d : \n", my_num_thread);
-        for (int i = 0; i < my_bucket_size; i++) {
-            printf("%d ", data[i]);
-        }
-        printf("\n");
+        clock_gettime(CLOCK_MONOTONIC, &end);
+
+        delta = (end.tv_sec - start.tv_sec) + (end.tv_nsec - start.tv_nsec)/1.e9;
+
         memcpy(sorted_array + start_index, data, sizeof(int) * my_bucket_size);
     }
 
@@ -178,5 +177,13 @@ int main(int argc, char** argv) {
     }
     printf("\n");
 
+    printf("Performance : %.3lf s\n", delta);
+
+    free(rand_nums);
+    free(sorted_array);
+    for (int i = 0; i < num_thread; i++) {
+        free(all_data[i]);
+    }
+
     return 0;
 }