aboutsummaryrefslogtreecommitdiff
path: root/test/ec
diff options
context:
space:
mode:
authorJ08nY2024-07-16 16:33:26 +0200
committerJ08nY2024-07-16 16:33:26 +0200
commiteea57d6019d7b13a3c9e01cf1ecb11b132e5e291 (patch)
treea89f8e3f5ff6aee78e8bfb7c3617b382c8f9bdf8 /test/ec
parentd6fc0ada881aad78543124bd2ffb63ce187b4e0f (diff)
downloadpyecsca-eea57d6019d7b13a3c9e01cf1ecb11b132e5e291.tar.gz
pyecsca-eea57d6019d7b13a3c9e01cf1ecb11b132e5e291.tar.zst
pyecsca-eea57d6019d7b13a3c9e01cf1ecb11b132e5e291.zip
Diffstat (limited to 'test/ec')
-rwxr-xr-xtest/ec/perf_formula.py24
-rwxr-xr-xtest/ec/perf_mod.py48
-rwxr-xr-xtest/ec/perf_mult.py4
3 files changed, 59 insertions, 17 deletions
diff --git a/test/ec/perf_formula.py b/test/ec/perf_formula.py
index 782631c..1092ab5 100755
--- a/test/ec/perf_formula.py
+++ b/test/ec/perf_formula.py
@@ -9,12 +9,19 @@ from test.utils import Profiler
@click.command()
-@click.option("-p", "--profiler", type=click.Choice(("py", "c", "raw")), default="py")
+@click.option(
+ "-p",
+ "--profiler",
+ type=click.Choice(("py", "c", "raw")),
+ default="py",
+ envvar="PROF",
+)
@click.option(
"-m",
"--mod",
type=click.Choice(("python", "gmp", "flint")),
default="flint" if has_flint else "gmp" if has_gmp else "python",
+ envvar="MOD",
)
@click.option("-o", "--operations", type=click.INT, default=5000)
@click.option(
@@ -36,7 +43,10 @@ def main(profiler, mod, operations, directory):
)
one_point = p256.generator
with Profiler(
- profiler, directory, f"formula_dbl2016rcb_p256_{operations}_{mod}"
+ profiler,
+ directory,
+ f"formula_dbl2016rcb_p256_{operations}_{mod}",
+ operations,
):
for _ in range(operations):
one_point = dbl(p256.curve.prime, one_point, **p256.curve.parameters)[0]
@@ -45,7 +55,10 @@ def main(profiler, mod, operations, directory):
)
other_point = p256.generator
with Profiler(
- profiler, directory, f"formula_add2016rcb_p256_{operations}_{mod}"
+ profiler,
+ directory,
+ f"formula_add2016rcb_p256_{operations}_{mod}",
+ operations,
):
for _ in range(operations):
one_point = add(
@@ -59,7 +72,10 @@ def main(profiler, mod, operations, directory):
)
eone_point = ed25519.generator
with Profiler(
- profiler, directory, f"formula_mdbl2008hwcd_ed25519_{operations}_{mod}"
+ profiler,
+ directory,
+ f"formula_mdbl2008hwcd_ed25519_{operations}_{mod}",
+ operations,
):
for _ in range(operations):
dblg(ed25519.curve.prime, eone_point, **ed25519.curve.parameters)
diff --git a/test/ec/perf_mod.py b/test/ec/perf_mod.py
index a0d6577..7783f09 100755
--- a/test/ec/perf_mod.py
+++ b/test/ec/perf_mod.py
@@ -9,12 +9,19 @@ from test.utils import Profiler
@click.command()
-@click.option("-p", "--profiler", type=click.Choice(("py", "c", "raw")), default="py")
+@click.option(
+ "-p",
+ "--profiler",
+ type=click.Choice(("py", "c", "raw")),
+ default="py",
+ envvar="PROF",
+)
@click.option(
"-m",
"--mod",
type=click.Choice(("python", "gmp", "flint")),
default="flint" if has_flint else "gmp" if has_gmp else "python",
+ envvar="MOD",
)
@click.option("-o", "--operations", type=click.INT, default=100000)
@click.option(
@@ -31,18 +38,24 @@ def main(profiler, mod, operations, directory):
a = make_mod(0x11111111111111111111111111111111, n)
b = make_mod(0xBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB, n)
click.echo(f"Profiling {operations} {n.bit_length()}-bit modular inverse...")
- with Profiler(profiler, directory, f"mod_256b_inverse_{operations}_{mod}"):
+ with Profiler(
+ profiler, directory, f"mod_256b_inverse_{operations}_{mod}", operations
+ ):
for _ in range(operations):
a.inverse()
click.echo(
f"Profiling {operations} {n.bit_length()}-bit modular square root..."
)
- with Profiler(profiler, directory, f"mod_256b_sqrt_{operations}_{mod}"):
+ with Profiler(
+ profiler, directory, f"mod_256b_sqrt_{operations}_{mod}", operations
+ ):
for _ in range(operations):
a.sqrt()
click.echo(f"Profiling {operations} {n.bit_length()}-bit modular multiply...")
c = a
- with Profiler(profiler, directory, f"mod_256b_multiply_{operations}_{mod}"):
+ with Profiler(
+ profiler, directory, f"mod_256b_multiply_{operations}_{mod}", operations
+ ):
for _ in range(operations):
c = c * b
click.echo(
@@ -50,33 +63,46 @@ def main(profiler, mod, operations, directory):
)
c = a
with Profiler(
- profiler, directory, f"mod_256b_constmultiply_{operations}_{mod}"
+ profiler,
+ directory,
+ f"mod_256b_constmultiply_{operations}_{mod}",
+ operations,
):
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}"):
+ with Profiler(
+ profiler, directory, f"mod_256b_square_{operations}_{mod}", operations
+ ):
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}"):
+ with Profiler(
+ profiler, directory, f"mod_256b_add_{operations}_{mod}", operations
+ ):
for _ in range(operations):
c = c + b
click.echo(f"Profiling {operations} {n.bit_length()}-bit modular subtract...")
c = a
- with Profiler(profiler, directory, f"mod_256b_subtract_{operations}_{mod}"):
+ with Profiler(
+ profiler, directory, f"mod_256b_subtract_{operations}_{mod}", operations
+ ):
for _ in range(operations):
c = c - b
click.echo(
f"Profiling {operations} {n.bit_length()}-bit modular quadratic residue checks..."
)
- with Profiler(profiler, directory, f"mod_256b_isresidue_{operations}_{mod}"):
+ with Profiler(
+ profiler, directory, f"mod_256b_isresidue_{operations}_{mod}", operations
+ ):
for _ in range(operations):
a.is_residue()
click.echo(f"Profiling {operations} {n.bit_length()}-bit modular random...")
- with Profiler(profiler, directory, f"mod_256b_random_{operations}_{mod}"):
+ with Profiler(
+ profiler, directory, f"mod_256b_random_{operations}_{mod}", operations
+ ):
for _ in range(operations):
Mod.random(n)
diff --git a/test/ec/perf_mult.py b/test/ec/perf_mult.py
index 82d2976..402aa26 100755
--- a/test/ec/perf_mult.py
+++ b/test/ec/perf_mult.py
@@ -41,7 +41,7 @@ def main(profiler, mod, operations, directory):
f"Profiling {operations} {p256.curve.prime.bit_length()}-bit scalar multiplication executions..."
)
one_point = p256.generator
- with Profiler(profiler, directory, f"mult_ltr_rcb_p256_{operations}_{mod}"):
+ with Profiler(profiler, directory, f"mult_ltr_rcb_p256_{operations}_{mod}", operations):
for _ in range(operations):
mult.init(p256, one_point)
one_point = mult.multiply(
@@ -52,7 +52,7 @@ def main(profiler, mod, operations, directory):
)
with local(DefaultContext()):
one_point = p256.generator
- with Profiler(profiler, directory, f"mult_ltr_rcb_p256_wtrace_{operations}_{mod}"):
+ with Profiler(profiler, directory, f"mult_ltr_rcb_p256_wtrace_{operations}_{mod}", operations):
for _ in range(operations):
mult.init(p256, one_point)
one_point = mult.multiply(