from Key import Key import time from collections import OrderedDict def test_generation_perf(n = 100): results = OrderedDict() for bits in (192, 224, 256, 384, 521): t = time.time() for i in xrange(n): k = Key.generate(bits) t = time.time() - t results[bits] = t return results def test_signing_perf(n = 100): results = OrderedDict() for bits in (192, 224, 256, 384, 521): k = Key.generate(bits) t = time.time() for i in xrange(n): k.sign("random string") t = time.time() - t results[bits] = t return results def test_verification_perf(n = 100): results = OrderedDict() for bits in (192, 224, 256, 384, 521): k = Key.generate(bits) s = k.sign("random string") t = time.time() for i in xrange(n): k.verify("random string", s) t = time.time() - t results[bits] = t return results def print_dict(title, d): print title print '-' * len(title) for k, v in d.items(): print k, '\t', v print n = 100 print_dict("Key generation", test_generation_perf(n)) print_dict("Signing", test_signing_perf(n)) print_dict("Verifying", test_verification_perf(n))