aboutsummaryrefslogtreecommitdiff
path: root/test/ec/perf_mod.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/ec/perf_mod.py')
-rwxr-xr-xtest/ec/perf_mod.py37
1 files changed, 28 insertions, 9 deletions
diff --git a/test/ec/perf_mod.py b/test/ec/perf_mod.py
index 37cf41b..49fe9a7 100755
--- a/test/ec/perf_mod.py
+++ b/test/ec/perf_mod.py
@@ -8,20 +8,33 @@ from utils import Profiler
@click.command()
@click.option("-p", "--profiler", type=click.Choice(("py", "c")), default="py")
-@click.option("-m", "--mod", type=click.Choice(("python", "gmp")), default="gmp" if has_gmp else "python")
+@click.option(
+ "-m",
+ "--mod",
+ type=click.Choice(("python", "gmp")),
+ default="gmp" if has_gmp else "python",
+)
@click.option("-o", "--operations", type=click.INT, default=100000)
-@click.option("-d", "--directory", type=click.Path(file_okay=False, dir_okay=True), default=None, envvar="DIR")
+@click.option(
+ "-d",
+ "--directory",
+ type=click.Path(file_okay=False, dir_okay=True),
+ default=None,
+ envvar="DIR",
+)
def main(profiler, mod, operations, directory):
with TemporaryConfig() as cfg:
cfg.ec.mod_implementation = mod
- n = 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff
+ n = 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
a = Mod(0x11111111111111111111111111111111, n)
- b = Mod(0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, n)
+ b = Mod(0xBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB, n)
click.echo(f"Profiling {operations} {n.bit_length()}-bit modular inverse...")
with Profiler(profiler, directory, f"mod_256b_inverse_{operations}_{mod}"):
for _ in range(operations):
a.inverse()
- click.echo(f"Profiling {operations} {n.bit_length()}-bit modular square root...")
+ click.echo(
+ f"Profiling {operations} {n.bit_length()}-bit modular square root..."
+ )
with Profiler(profiler, directory, f"mod_256b_sqrt_{operations}_{mod}"):
for _ in range(operations):
a.sqrt()
@@ -30,16 +43,20 @@ def main(profiler, mod, operations, directory):
with Profiler(profiler, directory, f"mod_256b_multiply_{operations}_{mod}"):
for _ in range(operations):
c = c * b
- click.echo(f"Profiling {operations} {n.bit_length()}-bit constant modular multiply...")
+ click.echo(
+ f"Profiling {operations} {n.bit_length()}-bit constant modular multiply..."
+ )
c = a
- with Profiler(profiler, directory, f"mod_256b_constmultiply_{operations}_{mod}"):
+ with Profiler(
+ profiler, directory, f"mod_256b_constmultiply_{operations}_{mod}"
+ ):
for _ in range(operations):
c = c * 48006
click.echo(f"Profiling {operations} {n.bit_length()}-bit modular square...")
c = a
with Profiler(profiler, directory, f"mod_256b_square_{operations}_{mod}"):
for _ in range(operations):
- c = c**2
+ c = c ** 2
click.echo(f"Profiling {operations} {n.bit_length()}-bit modular add...")
c = a
with Profiler(profiler, directory, f"mod_256b_add_{operations}_{mod}"):
@@ -50,7 +67,9 @@ def main(profiler, mod, operations, directory):
with Profiler(profiler, directory, f"mod_256b_subtract_{operations}_{mod}"):
for _ in range(operations):
c = c - b
- click.echo(f"Profiling {operations} {n.bit_length()}-bit modular quadratic residue checks...")
+ click.echo(
+ f"Profiling {operations} {n.bit_length()}-bit modular quadratic residue checks..."
+ )
with Profiler(profiler, directory, f"mod_256b_isresidue_{operations}_{mod}"):
for _ in range(operations):
a.is_residue()