ChainSafe / blst-ts

Typescript wrapper for https://github.com/supranational/blst native bindings, a highly performant BLS12-381 signature library
Other
18 stars 13 forks source link

feat: add spec-tests-bls from lodestar and update download-spec-test logic #144

Closed matthewkeil closed 4 months ago

matthewkeil commented 5 months ago

Split off from #143

Inclusions

github-actions[bot] commented 5 months ago

Performance Report

✔️ no performance regression detected

Full benchmark results | Benchmark suite | Current: d879634bead618c9d5e9277654641859df909751 | Previous: - | Ratio | |-|-|-|-| | PublicKey serialization | 995.00 ns/op | | PublicKey deserialize | 22.998 us/op | | PublicKey deserialize and validate - 1 keys | 83.882 us/op | | PublicKey deserialize and validate - 100 keys | 8.2794 ms/op | | PublicKey deserialize and validate - 10000 keys | 834.84 ms/op | | SecretKey.fromKeygen | 2.3630 us/op | | SecretKey serialization | 872.00 ns/op | | SecretKey deserialization | 1.5790 us/op | | SecretKey.toPublicKey | 138.35 us/op | | SecretKey.sign | 534.64 us/op | | Signature serialization | 1.0680 us/op | | Signature deserialize | 44.288 us/op | | Signatures deserialize and validate - 1 sets | 121.08 us/op | | Signatures deserialize and validate - 100 sets | 11.977 ms/op | | Signatures deserialize and validate - 10000 sets | 1.2035 s/op | | aggregatePublicKeys - 1 sets | 2.5170 us/op | | aggregatePublicKeys - 8 sets | 10.529 us/op | | aggregatePublicKeys - 32 sets | 38.136 us/op | | aggregatePublicKeys - 128 sets | 147.88 us/op | | aggregatePublicKeys - 256 sets | 296.91 us/op | | aggregateSignatures - 1 sets | 4.2820 us/op | | aggregateSignatures - 8 sets | 23.973 us/op | | aggregateSignatures - 32 sets | 91.102 us/op | | aggregateSignatures - 128 sets | 360.39 us/op | | aggregateSignatures - 256 sets | 725.20 us/op | | aggregateVerify - 1 sets | 1.5743 ms/op | | aggregateVerify - 8 sets | 5.7269 ms/op | | aggregateVerify - 32 sets | 20.351 ms/op | | aggregateVerify - 128 sets | 78.786 ms/op | | aggregateVerify - 256 sets | 156.78 ms/op | | verifyMultipleAggregateSignatures - 1 sets | 1.7437 ms/op | | verifyMultipleAggregateSignatures - 8 sets | 7.0554 ms/op | | verifyMultipleAggregateSignatures - 32 sets | 25.739 ms/op | | verifyMultipleAggregateSignatures - 128 sets | 99.997 ms/op | | verifyMultipleAggregateSignatures - 256 sets | 198.78 ms/op | | Same message - 1 sets | 1.7017 ms/op | | Same message - 8 sets | 2.5732 ms/op | | Same message - 32 sets | 5.5569 ms/op | | Same message - 128 sets | 17.393 ms/op | | Same message - 256 sets | 33.189 ms/op | | libuv multithreading - addVerificationRandomness true | 23.761 s/op | | libuv multithreading - addVerificationRandomness false | 23.763 s/op |

by benchmarkbot/action