mirror of
https://github.com/logos-storage/zk-benchmarks.git
synced 2026-01-03 14:23:12 +00:00
Merge branch 'hash_benchmark' into composition
This commit is contained in:
commit
9efca7212f
@ -2,12 +2,15 @@
|
||||
|
||||
use risc0_zkvm::{guest::env, sha::Digest};
|
||||
use risc0_zkp::core::hash::blake2b::{Blake2b, Blake2bCpuImpl};
|
||||
use std::io::Read;
|
||||
|
||||
risc0_zkvm::guest::entry!(main);
|
||||
|
||||
pub fn main() {
|
||||
|
||||
let data: Vec<u8> = env::read();
|
||||
let mut data = Vec::<u8>::new();
|
||||
env::stdin().read_to_end(&mut data).unwrap();
|
||||
|
||||
let hash = Blake2bCpuImpl::blake2b(&data);
|
||||
let digest: Digest = hash.into();
|
||||
env::commit(&digest)
|
||||
|
||||
@ -2,12 +2,15 @@
|
||||
|
||||
use risc0_zkvm::{guest::env, sha::Digest};
|
||||
use blake3::hash;
|
||||
use std::io::Read;
|
||||
|
||||
risc0_zkvm::guest::entry!(main);
|
||||
|
||||
pub fn main() {
|
||||
|
||||
let data: Vec<u8> = env::read();
|
||||
let mut data = Vec::<u8>::new();
|
||||
env::stdin().read_to_end(&mut data).unwrap();
|
||||
|
||||
let result = hash(&data);
|
||||
let digest = Digest::try_from(*result.as_bytes()).unwrap();
|
||||
env::commit(&digest)
|
||||
|
||||
@ -2,12 +2,15 @@
|
||||
|
||||
use risc0_zkvm::{guest::env, sha::Digest};
|
||||
use sha3::{Digest as _, Keccak256};
|
||||
use std::io::Read;
|
||||
|
||||
risc0_zkvm::guest::entry!(main);
|
||||
|
||||
pub fn main() {
|
||||
|
||||
let data: Vec<u8> = env::read();
|
||||
let mut data = Vec::<u8>::new();
|
||||
env::stdin().read_to_end(&mut data).unwrap();
|
||||
|
||||
let hash: [u8;32] = Keccak256::digest(data).into();
|
||||
let digest = Digest::try_from(hash).unwrap();
|
||||
env::commit(&digest)
|
||||
|
||||
@ -1,13 +1,17 @@
|
||||
#![no_main]
|
||||
|
||||
use std::io::Read;
|
||||
use risc0_zkvm::{guest::env, sha, sha::Sha256};
|
||||
risc0_zkvm::guest::entry!(main);
|
||||
use risc0_zkvm::guest::env::cycle_count;
|
||||
|
||||
pub fn main() {
|
||||
|
||||
let data: Vec<u8> = env::read();
|
||||
let start = cycle_count();
|
||||
let mut data = Vec::<u8>::new();
|
||||
env::stdin().read_to_end(&mut data).unwrap();
|
||||
let end = cycle_count();
|
||||
let hash = sha::Impl::hash_bytes(&data);
|
||||
eprintln!("total cycle count for input: {:?}",end - start);
|
||||
eprintln!("total cycle count for hashing: {:?}",cycle_count());
|
||||
env::commit(&hash)
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
// accelerated sha2 crate
|
||||
#![no_main]
|
||||
|
||||
use std::io::Read;
|
||||
use risc0_zkvm::guest::env;
|
||||
use sha2::{Sha256, Digest};
|
||||
use risc0_zkvm::guest::env::cycle_count;
|
||||
@ -10,7 +10,9 @@ risc0_zkvm::guest::entry!(main);
|
||||
|
||||
pub fn main() {
|
||||
|
||||
let data: Vec<u8> = env::read();
|
||||
let mut data = Vec::<u8>::new();
|
||||
env::stdin().read_to_end(&mut data).unwrap();
|
||||
|
||||
let result = Sha256::digest(data);
|
||||
let c1 = cycle_count();
|
||||
eprintln!("total cycle count for hashing: {:?}",c1);
|
||||
|
||||
@ -8,7 +8,10 @@ use std::time::Instant;
|
||||
|
||||
pub fn blake2b_bench(input: Vec<u8>) {
|
||||
|
||||
let env = ExecutorEnv::builder().write(&input).unwrap().build().unwrap();
|
||||
let env = ExecutorEnv::builder()
|
||||
.write_slice(&input)
|
||||
.build()
|
||||
.unwrap();
|
||||
|
||||
// Obtain the default prover.
|
||||
let prover = default_prover();
|
||||
|
||||
@ -7,10 +7,11 @@ use risc0_zkvm::{ sha};
|
||||
use std::time::Instant;
|
||||
|
||||
pub fn blake3_bench(input: Vec<u8>) {
|
||||
|
||||
|
||||
|
||||
let env = ExecutorEnv::builder().write(&input).unwrap().build().unwrap();
|
||||
let env = ExecutorEnv::builder()
|
||||
.write_slice(&input)
|
||||
.build()
|
||||
.unwrap();
|
||||
|
||||
// Obtain the default prover.
|
||||
let prover = default_prover();
|
||||
|
||||
@ -7,14 +7,17 @@ use risc0_zkvm::{ sha};
|
||||
use std::time::Instant;
|
||||
|
||||
pub fn keccak_bench(input: Vec<u8>) {
|
||||
|
||||
let start_time = Instant::now();
|
||||
|
||||
let env = ExecutorEnv::builder().write(&input).unwrap().build().unwrap();
|
||||
|
||||
let env = ExecutorEnv::builder()
|
||||
.write_slice(&input)
|
||||
.build()
|
||||
.unwrap();
|
||||
|
||||
// Obtain the default prover.
|
||||
let prover = default_prover();
|
||||
|
||||
let start_time = Instant::now();
|
||||
|
||||
// Produce a receipt by proving the specified ELF binary.
|
||||
let receipt = prover.prove(env, KECCAK_ELF).unwrap();
|
||||
|
||||
|
||||
@ -4,10 +4,14 @@ use benchmark_methods::{
|
||||
use risc0_zkvm::{default_prover, ExecutorEnv};
|
||||
use risc0_zkvm::{ sha};
|
||||
use std::time::Instant;
|
||||
|
||||
pub fn sha_bench(input: Vec<u8>) {
|
||||
|
||||
let env = ExecutorEnv::builder().write(&input).unwrap().build().unwrap();
|
||||
|
||||
let env = ExecutorEnv::builder()
|
||||
.write_slice(&input)
|
||||
.build()
|
||||
.unwrap();
|
||||
|
||||
// Obtain the default prover.
|
||||
let prover = default_prover();
|
||||
eprintln!("\n------risc0_zkvm sha hashing------\n");
|
||||
|
||||
@ -6,7 +6,11 @@ use std::time::Instant;
|
||||
use hex::encode;
|
||||
pub fn sha_accelerated_bench(input: Vec<u8>) {
|
||||
|
||||
let env = ExecutorEnv::builder().write(&input).unwrap().build().unwrap();
|
||||
let env = ExecutorEnv::builder()
|
||||
.write_slice(&input)
|
||||
.build()
|
||||
.unwrap();
|
||||
|
||||
eprintln!("\n------RustCrypto sha hashing(accelerated)------\n");
|
||||
// Obtain the default prover.
|
||||
let prover = default_prover();
|
||||
|
||||
2
hash/risc0/external/risc0
vendored
2
hash/risc0/external/risc0
vendored
@ -1 +1 @@
|
||||
Subproject commit 1742ef8098d246871055501a0559811c9a8fece4
|
||||
Subproject commit 02fad7a498764d5c6cc851f246813b73b41c30b8
|
||||
Loading…
x
Reference in New Issue
Block a user