mirror of
https://github.com/Qortal/pirate-librustzcash.git
synced 2025-02-07 06:44:11 +00:00
59 lines
1.3 KiB
Rust
59 lines
1.3 KiB
Rust
|
#![feature(test)]
|
||
|
|
||
|
extern crate test;
|
||
|
|
||
|
use jubjub::*;
|
||
|
use test::Bencher;
|
||
|
|
||
|
// Non-Niels
|
||
|
|
||
|
#[bench]
|
||
|
fn bench_point_doubling(bencher: &mut Bencher) {
|
||
|
let a = ExtendedPoint::identity();
|
||
|
bencher.iter(move || a.double());
|
||
|
}
|
||
|
|
||
|
#[bench]
|
||
|
fn bench_point_addition(bencher: &mut Bencher) {
|
||
|
let a = ExtendedPoint::identity();
|
||
|
let b = -ExtendedPoint::identity();
|
||
|
bencher.iter(move || a + b);
|
||
|
}
|
||
|
|
||
|
#[bench]
|
||
|
fn bench_point_subtraction(bencher: &mut Bencher) {
|
||
|
let a = ExtendedPoint::identity();
|
||
|
let b = -ExtendedPoint::identity();
|
||
|
bencher.iter(move || a + b);
|
||
|
}
|
||
|
|
||
|
// Niels
|
||
|
|
||
|
#[bench]
|
||
|
fn bench_cached_point_addition(bencher: &mut Bencher) {
|
||
|
let a = ExtendedPoint::identity();
|
||
|
let b = ExtendedPoint::identity().to_niels();
|
||
|
bencher.iter(move || &a + &b);
|
||
|
}
|
||
|
|
||
|
#[bench]
|
||
|
fn bench_cached_affine_point_subtraction(bencher: &mut Bencher) {
|
||
|
let a = ExtendedPoint::identity();
|
||
|
let b = AffinePoint::identity().to_niels();
|
||
|
bencher.iter(move || &a + &b);
|
||
|
}
|
||
|
|
||
|
#[bench]
|
||
|
fn bench_cached_point_subtraction(bencher: &mut Bencher) {
|
||
|
let a = ExtendedPoint::identity();
|
||
|
let b = ExtendedPoint::identity().to_niels();
|
||
|
bencher.iter(move || &a + &b);
|
||
|
}
|
||
|
|
||
|
#[bench]
|
||
|
fn bench_cached_affine_point_addition(bencher: &mut Bencher) {
|
||
|
let a = ExtendedPoint::identity();
|
||
|
let b = AffinePoint::identity().to_niels();
|
||
|
bencher.iter(move || &a + &b);
|
||
|
}
|