-also bench hash on small inputs
authorChristian Grothoff <christian@grothoff.org>
Mon, 14 Sep 2015 07:12:16 +0000 (07:12 +0000)
committerChristian Grothoff <christian@grothoff.org>
Mon, 14 Sep 2015 07:12:16 +0000 (07:12 +0000)
src/util/perf_crypto_hash.c

index 31af97b093a235a4977a6228fb864946f352d4db..d61662dcc29dcc6e98b26b4b85be571c17d9b10b 100644 (file)
@@ -42,6 +42,19 @@ perfHash ()
 }
 
 
+static void
+perfHashSmall ()
+{
+  struct GNUNET_HashCode hc;
+  unsigned int i;
+  char buf[64];
+
+  memset (buf, 1, sizeof (buf));
+  for (i = 0; i < 1024; i++)
+    GNUNET_CRYPTO_hash (buf, sizeof (buf), &hc);
+}
+
+
 static void
 perfHKDF ()
 {
@@ -67,9 +80,15 @@ main (int argc, char *argv[])
 {
   struct GNUNET_TIME_Absolute start;
 
+  start = GNUNET_TIME_absolute_get ();
+  perfHashSmall ();
+  printf ("1024x 64-byte Hash perf took %s\n",
+          GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start),
+                                                 GNUNET_YES));
+
   start = GNUNET_TIME_absolute_get ();
   perfHash ();
-  printf ("Hash perf took %s\n",
+  printf ("1024x 64k Hash perf took %s\n",
           GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start),
                                                  GNUNET_YES));
   GAUGER ("UTIL", "Cryptographic hashing",