diff options
| author | Yawning Angel <yawning@schwanenlied.me> | 2024-08-20 12:03:04 +0900 |
|---|---|---|
| committer | Yawning Angel <yawning@schwanenlied.me> | 2025-03-23 19:14:33 +0900 |
| commit | 9fdcc4e39a4cfd160b36cbd144f77e4502f133f9 (patch) | |
| tree | d39c933d625a541e5c1f1ba3d881b1df4beba4f5 /tests/benchmark | |
| parent | bb395aeb41873632c35846f2077eea01a69ce1c1 (diff) | |
core/crypto/x448: Initial import
Diffstat (limited to 'tests/benchmark')
| -rw-r--r-- | tests/benchmark/crypto/benchmark_crypto.odin | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/benchmark/crypto/benchmark_crypto.odin b/tests/benchmark/crypto/benchmark_crypto.odin index b139ea669..72e6d0932 100644 --- a/tests/benchmark/crypto/benchmark_crypto.odin +++ b/tests/benchmark/crypto/benchmark_crypto.odin @@ -14,6 +14,7 @@ import "core:crypto/chacha20poly1305" import "core:crypto/ed25519" import "core:crypto/poly1305" import "core:crypto/x25519" +import "core:crypto/x448" // Cryptographic primitive benchmarks. @@ -237,6 +238,26 @@ benchmark_crypto :: proc(t: ^testing.T) { time.duration_microseconds(elapsed) / iters, ) } + { + point_str := "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef" + scalar_str := "cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe" + + point, _ := hex.decode(transmute([]byte)(point_str), context.temp_allocator) + scalar, _ := hex.decode(transmute([]byte)(scalar_str), context.temp_allocator) + out: [x448.POINT_SIZE]byte = --- + + iters :: 10000 + start := time.now() + for i := 0; i < iters; i = i + 1 { + x448.scalarmult(out[:], scalar[:], point[:]) + } + elapsed := time.since(start) + + fmt.sbprintfln(&str, + "x448.scalarmult: ~%f us/op", + time.duration_microseconds(elapsed) / iters, + ) + } } @(private) |