]> git.kaiwu.me - klib.git/commitdiff
benchmark performance given unaligned memory
authorHeng Li <lh3@live.co.uk>
Mon, 18 Apr 2011 02:06:31 +0000 (22:06 -0400)
committerHeng Li <lh3@live.co.uk>
Mon, 18 Apr 2011 02:06:31 +0000 (22:06 -0400)
ksort_test.c

index f34f63a1e995dacf3303514e994e1d1a34442c6e..92c7d3d169fa354378926c0236f6b8f5439700dc 100644 (file)
@@ -34,6 +34,21 @@ int main(int argc, char *argv[])
                }
        }
 
+#ifndef _ALIGNED_ONLY
+       { // test unaligned ksmall
+               srand48(11);
+               unsigned char *a;
+               int *b;
+               a = malloc(N * sizeof(int) + 1);
+               b = (int*)(a + 1);
+               for (i = 0; i < N; ++i) b[i] = (int)lrand48();
+               t1 = clock();
+               ks_introsort(int, N, b);
+               t2 = clock();
+               fprintf(stderr, "introsort [%d]: %.3lf (unaligned: 0x%lx) \n", b[10500], (double)(t2-t1)/CLOCKS_PER_SEC, (size_t)b);
+       }
+#endif
+
        t1 = clock();
        ks_introsort(int, N, array);
        t2 = clock();