benchmark as jacobian
This commit is contained in:
parent
928b86a9fb
commit
f29898d9dc
|
@ -1,5 +1,6 @@
|
|||
import crypto from "crypto";
|
||||
import * as blst from "@chainsafe/blst-ts";
|
||||
import {blst as blstBindings} from "@chainsafe/blst-ts/dist/bindings";
|
||||
import * as herumi from "../../src";
|
||||
import {runBenchmark} from "./runner";
|
||||
|
||||
|
@ -116,6 +117,25 @@ import {runBenchmark} from "./runner";
|
|||
},
|
||||
});
|
||||
|
||||
runBenchmark<blst.AggregatePublicKey[], void>({
|
||||
id: `BLST aggregatePubkeys as jacobian (${aggCount})`,
|
||||
|
||||
prepareTest: () => {
|
||||
return {
|
||||
input: range(aggCount).map(() => {
|
||||
const pk = blst.SecretKey.fromKeygen(crypto.randomBytes(32)).toPublicKey();
|
||||
return blst.AggregatePublicKey.fromPublicKey(pk);
|
||||
}),
|
||||
};
|
||||
},
|
||||
testRunner: (pks) => {
|
||||
const p1Arr = pks.map((pk) => pk.value);
|
||||
p1Arr.reduce((agg, pk) => {
|
||||
return blstBindings.P1.add(agg, pk);
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
runBenchmark<herumi.PublicKey[], void>({
|
||||
id: `HERUMI aggregatePubkeys (${aggCount})`,
|
||||
|
||||
|
|
Reference in New Issue