From 2f19e94b0ce78d6ccc9eedbf04b8a3460fd05565 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Mon, 29 Apr 2024 21:59:51 +0200 Subject: Sort benchmarks --- sort-benchmark/integers/sort.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 sort-benchmark/integers/sort.c (limited to 'sort-benchmark/integers/sort.c') diff --git a/sort-benchmark/integers/sort.c b/sort-benchmark/integers/sort.c new file mode 100644 index 0000000..2a23d9d --- /dev/null +++ b/sort-benchmark/integers/sort.c @@ -0,0 +1,29 @@ +#define _POSIX_C_SOURCE 200809L /* Required to use clock_gettime */ + +#include +#include +#include + +int a[ARRAYSIZE]; + +int compar(const void *x, const void *y) { return *(int *)x - *(int *)y; } + +int main() { + srand(time(NULL)); + for (int i = 0; i < ARRAYSIZE; i++) a[i] = rand() % 1000000000; + + struct timespec begin; + clock_gettime(CLOCK_MONOTONIC, &begin); + + qsort(a, ARRAYSIZE, sizeof(int), compar); + + struct timespec end; + clock_gettime(CLOCK_MONOTONIC, &end); + double time = end.tv_sec - begin.tv_sec + + (end.tv_nsec - begin.tv_nsec) / 1000000000.0; + + printf("(%d) C time for %d numbers: %lfs\n", + a[ARRAYSIZE/2], ARRAYSIZE, time); + + return 0; +} -- cgit v1.3