]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/isa-l/erasure_code/gf_vect_mul_perf.c
Import ceph 15.2.8
[ceph.git] / ceph / src / isa-l / erasure_code / gf_vect_mul_perf.c
index bc9eff288fae5765a47c13c882029c98f25edd80..58194ccebcf8f7abc0b8df5e04920e1110669432 100644 (file)
@@ -2,7 +2,7 @@
   Copyright(c) 2011-2015 Intel Corporation All rights reserved.
 
   Redistribution and use in source and binary forms, with or without
-  modification, are permitted provided that the following conditions 
+  modification, are permitted provided that the following conditions
   are met:
     * Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.
@@ -37,7 +37,6 @@
 #ifdef CACHED_TEST
 // Cached test, loop many times over small dataset
 # define TEST_LEN     8*1024
-# define TEST_LOOPS   4000000
 # define TEST_TYPE_STR "_warm"
 #else
 # ifndef TEST_CUSTOM
 #  define TEST_SOURCES 10
 #  define GT_L3_CACHE  32*1024*1024    /* some number > last level cache */
 #  define TEST_LEN     GT_L3_CACHE / 2
-#  define TEST_LOOPS   1000
 #  define TEST_TYPE_STR "_cold"
 # else
 #  define TEST_TYPE_STR "_cus"
-#  ifndef TEST_LOOPS
-#    define TEST_LOOPS 1000
-#  endif
 # endif
 #endif
 
 
 typedef unsigned char u8;
 
+void gf_vect_mul_perf(u8 a, u8 * gf_const_tbl, u8 * buff1, u8 * buff2)
+{
+       gf_vect_mul_init(a, gf_const_tbl);
+       gf_vect_mul(TEST_LEN, gf_const_tbl, buff1, buff2);
+}
+
 int main(int argc, char *argv[])
 {
-       int i;
        u8 *buff1, *buff2, gf_const_tbl[64], a = 2;
-       struct perf start, stop;
+       struct perf start;
 
        printf("gf_vect_mul_perf:\n");
 
-       gf_vect_mul_init(a, gf_const_tbl);
-
        // Allocate large mem region
        buff1 = (u8 *) malloc(TEST_LEN);
        buff2 = (u8 *) malloc(TEST_LEN);
@@ -80,20 +78,13 @@ int main(int argc, char *argv[])
        memset(buff1, 0, TEST_LEN);
        memset(buff2, 0, TEST_LEN);
 
-       gf_vect_mul(TEST_LEN, gf_const_tbl, buff1, buff2);
-
        printf("Start timed tests\n");
        fflush(0);
 
-       gf_vect_mul(TEST_LEN, gf_const_tbl, buff1, buff2);
-       perf_start(&start);
-       for (i = 0; i < TEST_LOOPS; i++) {
-               gf_vect_mul_init(a, gf_const_tbl);
-               gf_vect_mul(TEST_LEN, gf_const_tbl, buff1, buff2);
-       }
-       perf_stop(&stop);
+       BENCHMARK(&start, BENCHMARK_TIME, gf_vect_mul_perf(a, gf_const_tbl, buff1, buff2));
+
        printf("gf_vect_mul" TEST_TYPE_STR ": ");
-       perf_print(stop, start, (long long)TEST_LEN * i);
+       perf_print(start, (long long)TEST_LEN);
 
        return 0;
 }