diff options
Diffstat (limited to 'src/cli/implementation/speed_prime.cpp')
-rw-r--r-- | src/cli/implementation/speed_prime.cpp | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/cli/implementation/speed_prime.cpp b/src/cli/implementation/speed_prime.cpp deleted file mode 100644 index a7a344bef..000000000 --- a/src/cli/implementation/speed_prime.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* -* (C) 2015 Simon Warta (Kullo GmbH) -* -* Botan is released under the Simplified BSD License (see license.txt) -*/ - -#include "speed.h" - -using namespace Botan; - -#if defined(BOTAN_HAS_NUMBERTHEORY) - -#include <botan/numthry.h> -#include <chrono> - -namespace { -const size_t RSA_EXP = 65537; -const size_t RSA_BITS = 2048; - -const auto SAMPLE_DATA = std::vector<BigInt>{ - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895363"), - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895377"), - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895381"), - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895389"), - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895399"), - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895401"), - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895431"), - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895441"), - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895461"), - BigInt("147572674850319649408425528388978190129147580193826207917614581140087181349813950149403694089438460074197915858493514824951402666113125007396293585089750170962882245605820159076002066981429137353341175732273168874025070408827561035943771554301600092787967626039381375658829078877390735440179859333066156895471"), - }; -} - -#endif // BOTAN_HAS_NUMBERTHEORY - -std::map<std::string, double> benchmark_is_prime(RandomNumberGenerator& rng, - const std::chrono::milliseconds runtime) - { - std::map<std::string, double> speeds; - -#if defined(BOTAN_HAS_NUMBERTHEORY) - - std::chrono::nanoseconds time_used(0); - size_t reps = 0; - - auto start = std::chrono::high_resolution_clock::now(); - - while(time_used < runtime) - { - // main work - for (const BigInt &p : SAMPLE_DATA) - { - is_prime(p, rng, 64, true); - } - - ++reps; - time_used = std::chrono::high_resolution_clock::now() - start; - } - - const double seconds_used = static_cast<double>(time_used.count()) / 1000000000; - speeds["base"] = reps / seconds_used; // ie, return ops per second - -#endif // BOTAN_HAS_NUMBERTHEORY - - return speeds; - } - -std::map<std::string, double> benchmark_random_prime(RandomNumberGenerator& rng, - const std::chrono::milliseconds runtime) - { - std::map<std::string, double> speeds; - -#if defined(BOTAN_HAS_NUMBERTHEORY) - - std::chrono::nanoseconds time_used(0); - size_t reps = 0; - - auto start = std::chrono::high_resolution_clock::now(); - - while(time_used < runtime) - { - // main work - random_prime(rng, (RSA_BITS + 1) / 2, RSA_EXP); - - ++reps; - time_used = std::chrono::high_resolution_clock::now() - start; - } - - const double seconds_used = static_cast<double>(time_used.count()) / 1000000000; - speeds["base"] = reps / seconds_used; // ie, return ops per second - -#endif // BOTAN_HAS_NUMBERTHEORY - - return speeds; - } - |