-dead
[oweals/gnunet.git] / src / util / perf_crypto_hash.c
index a6f6ba340b39bb9d6b86121d71b5416974b7838a..d1f4c9dc1bd3310fa4e8abb897fc16b4ec50e1b3 100644 (file)
 #include "gnunet_common.h"
 #include "gnunet_crypto_lib.h"
 #include "gnunet_time_lib.h"
+#include <gauger.h>
 
 static void
 perfHash ()
 {
-  GNUNET_HashCode hc1;
-  GNUNET_HashCode hc2;
-  GNUNET_HashCode hc3;
+  struct GNUNET_HashCode hc1;
+  struct GNUNET_HashCode hc2;
+  struct GNUNET_HashCode hc3;
   int i;
   char *buf;
 
@@ -41,11 +42,11 @@ perfHash ()
   memset (buf, 1, 1024 * 64);
   GNUNET_CRYPTO_hash ("foo", 3, &hc1);
   for (i = 0; i < 1024; i++)
-    {
-      GNUNET_CRYPTO_hash (&hc1, sizeof (GNUNET_HashCode), &hc2);
-      GNUNET_CRYPTO_hash (&hc2, sizeof (GNUNET_HashCode), &hc1);
-      GNUNET_CRYPTO_hash (buf, 1024 * 64, &hc3);
-    }
+  {
+    GNUNET_CRYPTO_hash (&hc1, sizeof (struct GNUNET_HashCode), &hc2);
+    GNUNET_CRYPTO_hash (&hc2, sizeof (struct GNUNET_HashCode), &hc1);
+    GNUNET_CRYPTO_hash (buf, 1024 * 64, &hc3);
+  }
   GNUNET_free (buf);
 }
 
@@ -57,7 +58,12 @@ main (int argc, char *argv[])
   start = GNUNET_TIME_absolute_get ();
   perfHash ();
   printf ("Hash perf took %llu ms\n",
-          GNUNET_TIME_absolute_get_duration (start).value);
+          (unsigned long long)
+          GNUNET_TIME_absolute_get_duration (start).rel_value);
+  GAUGER ("UTIL", "Cryptographic hashing",
+          1024 * 64 * 1024 / (1 +
+                              GNUNET_TIME_absolute_get_duration
+                              (start).rel_value), "kb/s");
   return 0;
 }