diff options
Diffstat (limited to 'test/ec/perf_mod.py')
| -rwxr-xr-x | test/ec/perf_mod.py | 37 |
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() |
