Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Splitting to Multiple files and Optimizing #43

Merged
merged 18 commits into from
Jan 30, 2025
Merged
9 changes: 4 additions & 5 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,14 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just moving to hash here to make it more safer.

- name: Build
run: cargo build --verbose
- name: Fmt check
run: cargo fmt --all -- --check
- name: Clippy Format test
run: cargo clippy --all --manifest-path Cargo.toml -- -D warnings
- name: Run tests
run: cargo test --verbose
- name: Run tests with mainnet data
run: KZG_ENV=mainnet-data cargo test --verbose
- name: Fmt check
run: cargo fmt --all -- --check


11 changes: 9 additions & 2 deletions benches/bench_g1_ifft.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use criterion::{black_box, criterion_group, criterion_main, Criterion};
use rust_kzg_bn254::kzg::KZG;
use rust_kzg_bn254::{kzg::KZG, srs::SRS};
use std::time::Duration;

fn generate_powers_of_2(limit: u64) -> Vec<usize> {
Expand All @@ -16,7 +16,14 @@ fn generate_powers_of_2(limit: u64) -> Vec<usize> {

fn bench_g1_ifft(c: &mut Criterion) {
c.bench_function("bench_g1_ifft", |b| {
let kzg = KZG::setup("tests/test-files/mainnet-data/g1.131072.point", 3000, 3000).unwrap();
let kzg = KZG::new(
SRS::new(
"tests/test-files/mainnet-data/g1.131072.point",
268435456,
131072,
)
.unwrap(),
);
b.iter(|| {
for power in &generate_powers_of_2(3000) {
kzg.g1_ifft(black_box(*power)).unwrap();
Expand Down
16 changes: 9 additions & 7 deletions benches/bench_kzg_commit.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
use criterion::{criterion_group, criterion_main, Criterion};
use rand::Rng;
use rust_kzg_bn254::{blob::Blob, kzg::KZG};
use rust_kzg_bn254::{blob::Blob, kzg::KZG, srs::SRS};
use std::time::Duration;

fn bench_kzg_commit(c: &mut Criterion) {
let mut rng = rand::thread_rng();
let mut kzg = KZG::setup(
"tests/test-files/mainnet-data/g1.131072.point",
268435456,
131072,
)
.unwrap();
let mut kzg = KZG::new(
SRS::new(
"tests/test-files/mainnet-data/g1.131072.point",
268435456,
131072,
)
.unwrap(),
);

c.bench_function("bench_kzg_commit_10000", |b| {
let random_blob: Vec<u8> = (0..10000).map(|_| rng.gen_range(32..=126) as u8).collect();
Expand Down
16 changes: 9 additions & 7 deletions benches/bench_kzg_commit_large_blobs.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
use criterion::{criterion_group, criterion_main, Criterion};
use rand::Rng;
use rust_kzg_bn254::{blob::Blob, kzg::KZG};
use rust_kzg_bn254::{blob::Blob, kzg::KZG, srs::SRS};
use std::time::Duration;

fn bench_kzg_commit(c: &mut Criterion) {
let mut rng = rand::thread_rng();
let mut kzg = KZG::setup(
"tests/test-files/mainnet-data/g1.32mb.point",
268435456,
524288,
)
.unwrap();
let mut kzg = KZG::new(
SRS::new(
"tests/test-files/mainnet-data/g1.32mb.point",
268435456,
524288,
)
.unwrap(),
);

c.bench_function("bench_kzg_commit_8mb", |b| {
let random_blob: Vec<u8> = (0..8000000)
Expand Down
16 changes: 9 additions & 7 deletions benches/bench_kzg_proof.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
use criterion::{criterion_group, criterion_main, Criterion};
use rand::Rng;
use rust_kzg_bn254::{blob::Blob, kzg::KZG};
use rust_kzg_bn254::{blob::Blob, kzg::KZG, srs::SRS};
use std::time::Duration;

fn bench_kzg_proof(c: &mut Criterion) {
let mut rng = rand::thread_rng();
let mut kzg = KZG::setup(
"tests/test-files/mainnet-data/g1.131072.point",
268435456,
131072,
)
.unwrap();
let mut kzg = KZG::new(
SRS::new(
"tests/test-files/mainnet-data/g1.131072.point",
268435456,
131072,
)
.unwrap(),
);

c.bench_function("bench_kzg_proof_10000", |b| {
let random_blob: Vec<u8> = (0..10000).map(|_| rng.gen_range(32..=126) as u8).collect();
Expand Down
18 changes: 9 additions & 9 deletions benches/bench_kzg_setup.rs
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
use criterion::{criterion_group, criterion_main, Criterion};
use rust_kzg_bn254::kzg::KZG;
use rust_kzg_bn254::{kzg::KZG, srs::SRS};
use std::time::Duration;

fn bench_kzg_setup(c: &mut Criterion) {
c.bench_function("bench_kzg_setup", |b| {
b.iter(|| KZG::setup("tests/test-files/g1.point", 3000, 3000).unwrap());

b.iter(|| {
KZG::setup(
"tests/test-files/mainnet-data/g1.131072.point",
268435456,
131072,
)
.unwrap()
KZG::new(
SRS::new(
"tests/test-files/mainnet-data/g1.131072.point",
268435456,
131072,
)
.unwrap(),
);
});
});
}
Expand Down
22 changes: 12 additions & 10 deletions benches/bench_kzg_verify.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
use criterion::{criterion_group, criterion_main, Criterion};
use rand::Rng;
use rust_kzg_bn254::{blob::Blob, kzg::KZG};
use rust_kzg_bn254::{blob::Blob, kzg::KZG, srs::SRS, verify};
use std::time::Duration;

fn bench_kzg_verify(c: &mut Criterion) {
let mut rng = rand::thread_rng();
let mut kzg = KZG::setup(
"tests/test-files/mainnet-data/g1.131072.point",
268435456,
131072,
)
.unwrap();
let mut kzg = KZG::new(
SRS::new(
"tests/test-files/mainnet-data/g1.131072.point",
268435456,
131072,
)
.unwrap(),
);

c.bench_function("bench_kzg_verify_10000", |b| {
let random_blob: Vec<u8> = (0..10000).map(|_| rng.gen_range(32..=126) as u8).collect();
Expand All @@ -26,7 +28,7 @@ fn bench_kzg_verify(c: &mut Criterion) {
.unwrap();
let value_fr = input_poly.get_evalualtion(index).unwrap();
let z_fr = kzg.get_nth_root_of_unity(index).unwrap();
b.iter(|| kzg.verify_proof(commitment, proof, *value_fr, *z_fr));
b.iter(|| verify::proof(commitment, proof, *value_fr, *z_fr));
});

c.bench_function("bench_kzg_verify_30000", |b| {
Expand All @@ -43,7 +45,7 @@ fn bench_kzg_verify(c: &mut Criterion) {
.unwrap();
let value_fr = input_poly.get_evalualtion(index).unwrap();
let z_fr = kzg.get_nth_root_of_unity(index).unwrap();
b.iter(|| kzg.verify_proof(commitment, proof, *value_fr, *z_fr));
b.iter(|| verify::proof(commitment, proof, *value_fr, *z_fr));
});

c.bench_function("bench_kzg_verify_50000", |b| {
Expand All @@ -60,7 +62,7 @@ fn bench_kzg_verify(c: &mut Criterion) {
.unwrap();
let value_fr = input_poly.get_evalualtion(index).unwrap();
let z_fr = kzg.get_nth_root_of_unity(index).unwrap();
b.iter(|| kzg.verify_proof(commitment, proof, *value_fr, *z_fr));
b.iter(|| verify::proof(commitment, proof, *value_fr, *z_fr));
});
}

Expand Down
Loading
Loading