int main (int argc, char *argv[]) { struct GNUNET_CRYPTO_EccDlogContext *edc; struct GNUNET_TIME_Absolute start; struct GNUNET_TIME_Relative delta; if (! gcry_check_version ("1.6.0")) { FPRINTF (stderr, _ ("libgcrypt has not the expected version (version %s is required).\n"), "1.6.0"); return 0; } if (getenv ("GNUNET_GCRYPT_DEBUG")) gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1u , 0); GNUNET_log_setup ("perf-crypto-ecc-dlog", "WARNING", NULL); start = GNUNET_TIME_absolute_get (); edc = GNUNET_CRYPTO_ecc_dlog_prepare (MAX_FACT, MAX_MEM); printf ("DLOG precomputation 1M/1K took %s\n", GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start), GNUNET_YES)); GAUGER ("UTIL", "ECC DLOG initialization", GNUNET_TIME_absolute_get_duration (start).rel_value_us / 1000LL, "ms/op"); start = GNUNET_TIME_absolute_get (); /* first do a baseline run without the DLOG */ test_dlog (edc, GNUNET_NO); delta = GNUNET_TIME_absolute_get_duration (start); start = GNUNET_TIME_absolute_get (); test_dlog (edc, GNUNET_YES); delta = GNUNET_TIME_relative_subtract (GNUNET_TIME_absolute_get_duration (start), delta); printf ("%u DLOG calculations took %s\n", TEST_ITER, GNUNET_STRINGS_relative_time_to_string (delta, GNUNET_YES)); GAUGER ("UTIL", "ECC DLOG operations", delta.rel_value_us / 1000LL / TEST_ITER, "ms/op"); GNUNET_CRYPTO_ecc_dlog_release (edc); return 0; }
int main (int argc, char *argv[]) { struct GNUNET_CRYPTO_EccDlogContext *edc; if (! gcry_check_version ("1.6.0")) { FPRINTF (stderr, _ ("libgcrypt has not the expected version (version %s is required).\n"), "1.6.0"); return 0; } if (getenv ("GNUNET_GCRYPT_DEBUG")) gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1u , 0); GNUNET_log_setup ("test-crypto-ecc-dlog", "WARNING", NULL); edc = GNUNET_CRYPTO_ecc_dlog_prepare (MAX_FACT, MAX_MEM); test_dlog (edc); test_math (edc); GNUNET_CRYPTO_ecc_dlog_release (edc); return 0; }