Add benchmarks with criterion.
This commit is contained in:
parent
352fa7072a
commit
a0572c7ad7
|
@ -12,6 +12,14 @@ edition = "2018"
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
rustdoc-args = [ "--html-in-header", "katex-header.html" ]
|
rustdoc-args = [ "--html-in-header", "katex-header.html" ]
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
criterion = "0.2.11"
|
||||||
|
|
||||||
|
[[bench]]
|
||||||
|
name = "groups"
|
||||||
|
harness = false
|
||||||
|
required-features = ["groups"]
|
||||||
|
|
||||||
[dependencies.subtle]
|
[dependencies.subtle]
|
||||||
version = "2.1"
|
version = "2.1"
|
||||||
default-features = false
|
default-features = false
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
#[macro_use]
|
||||||
|
extern crate criterion;
|
||||||
|
|
||||||
|
extern crate bls12_381;
|
||||||
|
use bls12_381::*;
|
||||||
|
|
||||||
|
use criterion::{black_box, Criterion};
|
||||||
|
|
||||||
|
fn criterion_benchmark(c: &mut Criterion) {
|
||||||
|
// G1Affine
|
||||||
|
{
|
||||||
|
let name = "G1Affine";
|
||||||
|
let a = G1Affine::generator();
|
||||||
|
c.bench_function(&format!("{} check on curve", name), move |b| {
|
||||||
|
b.iter(|| black_box(a).is_on_curve())
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// G1Projective
|
||||||
|
{
|
||||||
|
let name = "G1Projective";
|
||||||
|
let a = G1Projective::generator();
|
||||||
|
c.bench_function(&format!("{} check on curve", name), move |b| {
|
||||||
|
b.iter(|| black_box(a).is_on_curve())
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// G2Affine
|
||||||
|
{
|
||||||
|
let name = "G2Affine";
|
||||||
|
let a = G2Affine::generator();
|
||||||
|
c.bench_function(&format!("{} check on curve", name), move |b| {
|
||||||
|
b.iter(|| black_box(a).is_on_curve())
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// G2Projective
|
||||||
|
{
|
||||||
|
let name = "G2Projective";
|
||||||
|
let a = G2Projective::generator();
|
||||||
|
c.bench_function(&format!("{} check on curve", name), move |b| {
|
||||||
|
b.iter(|| black_box(a).is_on_curve())
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
criterion_group!(benches, criterion_benchmark);
|
||||||
|
criterion_main!(benches);
|
Loading…
Reference in New Issue