diff options
Diffstat (limited to 'measurements/2018-11-03/format.py')
-rw-r--r-- | measurements/2018-11-03/format.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/measurements/2018-11-03/format.py b/measurements/2018-11-03/format.py new file mode 100644 index 000000000..b31a34709 --- /dev/null +++ b/measurements/2018-11-03/format.py @@ -0,0 +1,31 @@ +import sys, collections + + +results = {} + +def do_impl(prime, impl, time): + if prime not in results.keys(): + results[prime] = {} + if impl not in results[prime].keys(): + results[prime][impl] = 1e400 + results[prime][impl] = min(results[prime][impl], time) + +for line in sys.stdin: + prime, impl, time = line.split() + # impl = {'fiat_solinas32':'fiat_solinas', + # 'fiat_solinas64':'fiat_solinas', + # 'fiat_montgomery64':'fiat_montgomery', + # 'fiat_montgomery32':'fiat_montgomery', + # }.get(impl, impl) + time = float(time) + do_impl(prime, impl, time) + # do_impl(prime,'xfiat' if 'fiat' in impl else 'xgmp', time) + +def format_prime(p): + return p.replace('x','*').replace('p','+').replace('e','^').replace('m','-') + +impls = sorted(set(sum((list(d.keys()) for d in results.values()),[]))) +print('\t'.join(['.']+impls)) +for p in sorted(list(results.keys())): + r = results[p].get('xgmp', 1e400) / results[p].get('xfiat', 1e400) + print('\t'.join([format_prime(p)]+[str(results[p].get(i,'-')) for i in impls])) |