diff --git a/bucketsort.c b/bucketsort.c index 3530c991f3945e7355fe15c9419f5f1140c26987..48fed47c7fe5fa21e35a3465bd2b0625fc88326e 100644 --- a/bucketsort.c +++ b/bucketsort.c @@ -11,6 +11,7 @@ int nMember; int nThread; int main(int argc, char *argv[]) { + time_t start, stop; if(argc != 3){ fprintf(stderr, "Usage: bucketsort (jumlah elemen) (jumlah threads)\n"); exit(1); @@ -30,6 +31,7 @@ int main(int argc, char *argv[]) { for(i = 1; i<= nMember; i++){ member[i] = rand() % nMember; } + time(&start); int* membersorted = (int*) malloc (sizeof (int) * nMember); # pragma omp parallel num_threads(nThread) \ shared(member,index,membersorted,nMember,num) private(done,bucketMember,id,i,buckStat) @@ -40,7 +42,7 @@ int main(int argc, char *argv[]) { if (getThreadPos(member[i])==id) { bucketMember[buckStat] = member[i]; buckStat++; - printf("thread = %d, value = %d \n", id, member[i]); + //printf("thread = %d, value = %d \n", id, member[i]); } } sort(bucketMember,buckStat);; @@ -58,11 +60,12 @@ int main(int argc, char *argv[]) { } } } - /* Print Sorted */ - for (i = 0; i < nMember; i++) { - //printf("Hasil dari bucket ke-%d",i); - printf("%d -> %d \n",i+1, membersorted[i]); - } + time(&stop); + printf("bucketsort = %0.2f seconds \n", difftime(stop, start)); + time(&start); + sort(member, nMember); + time(&stop); + printf("normal sort = %0.2f seconds \n", difftime(stop, start)); } int *copyArray(int const * oldArray, size_t size) {