From 855f4852418f1a6ae5a6995aa7a22dcda0ad10be Mon Sep 17 00:00:00 2001 From: loloicci Date: Fri, 19 Apr 2024 14:51:42 +0900 Subject: [PATCH] add benchmarking for sha1 wasm vm api --- Cargo.lock | 1 + packages/vm/Cargo.toml | 1 + packages/vm/benches/main.rs | 106 ++++++++++++++++++++++++++- packages/vm/testdata/bench_sha1.wasm | Bin 0 -> 179869 bytes 4 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 packages/vm/testdata/bench_sha1.wasm diff --git a/Cargo.lock b/Cargo.lock index 9c05dec404..9b32b541fd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -528,6 +528,7 @@ dependencies = [ "cosmwasm-std", "crc32fast", "criterion", + "criterion-inverted-throughput", "derivative", "dhat", "glob", diff --git a/packages/vm/Cargo.toml b/packages/vm/Cargo.toml index f140107243..edde1116ae 100644 --- a/packages/vm/Cargo.toml +++ b/packages/vm/Cargo.toml @@ -74,6 +74,7 @@ tracing = "0.1.32" [dev-dependencies] criterion = { version = "0.5.1", features = ["html_reports"] } +criterion-inverted-throughput = "0.1.0" glob = "0.3.1" hex-literal = "0.4.1" rand = "0.8" diff --git a/packages/vm/benches/main.rs b/packages/vm/benches/main.rs index 872a5b4607..6224a5d844 100644 --- a/packages/vm/benches/main.rs +++ b/packages/vm/benches/main.rs @@ -1,4 +1,8 @@ -use criterion::{black_box, criterion_group, criterion_main, Criterion}; +use criterion::{ + black_box, criterion_group, criterion_main, measurement::Measurement, BenchmarkId, Criterion, + Throughput, +}; +use criterion_inverted_throughput::InvertedThroughput; use rand::Rng; use std::sync::Arc; @@ -33,6 +37,7 @@ const CONTRACTS: u64 = 10; const DEFAULT_CAPABILITIES: &str = "cosmwasm_1_1,cosmwasm_1_2,cosmwasm_1_3,iterator,staking"; static HACKATOM: &[u8] = include_bytes!("../testdata/hackatom.wasm"); static CYBERPUNK: &[u8] = include_bytes!("../testdata/cyberpunk.wasm"); +static SHA1: &[u8] = include_bytes!("../testdata/bench_sha1.wasm"); static BENCH_CONTRACTS: &[&str] = &[ "cyberpunk_rust170.wasm", @@ -463,6 +468,89 @@ fn bench_combined(c: &mut Criterion) { group.finish(); } +fn bench_sha1(c: &mut Criterion) { + let mut group = c.benchmark_group("sha1"); + + // bytes, blocks, used_gas + let mut gas_reports_wasm: Vec<(u64, u64, u64)> = vec![]; + let mut gas_reports_api: Vec<(u64, u64, u64)> = vec![]; + + for i in 6..=16 { + // Every 64 bytes needs a hassing and there are + // 8 bytes header (message length) and 1 byte tail (EOF). + let len = u64::pow(2, i) - 9; + let block = (len + 9) / 64; + group.throughput(Throughput::Elements(block)); + group.bench_function(BenchmarkId::new("WASM/blocks", block), |b| { + let backend = mock_backend(&[]); + let much_gas: InstanceOptions = InstanceOptions { + gas_limit: HIGH_GAS_LIMIT, + }; + let mut instance = + Instance::from_code(SHA1, backend, much_gas, Some(DEFAULT_MEMORY_LIMIT)).unwrap(); + + let info = mock_info("creator", &coins(1000, "earth")); + let msg = br#"{}"#; + let contract_result = + call_instantiate::<_, _, _, Empty>(&mut instance, &mock_env(), &info, msg).unwrap(); + contract_result.into_result().unwrap(); + + let mut gas_used = 0; + b.iter(|| { + let gas_before = instance.get_gas_left(); + let info = mock_info("foo", &[]); + let msg = format!(r#"{{"wasm":{{"len":{}}}}}"#, len).into_bytes(); + let contract_result = + call_execute::<_, _, _, Empty>(&mut instance, &mock_env(), &info, &msg) + .unwrap(); + contract_result.into_result().unwrap(); + gas_used = gas_before - instance.get_gas_left(); + }); + if gas_reports_wasm.len() < (i - 5) as usize { + gas_reports_wasm.push((len, block, gas_used)) + } + }); + + group.bench_function(BenchmarkId::new("API/blocks", block), |b| { + let backend = mock_backend(&[]); + let much_gas: InstanceOptions = InstanceOptions { + gas_limit: HIGH_GAS_LIMIT, + }; + let mut instance = + Instance::from_code(SHA1, backend, much_gas, Some(DEFAULT_MEMORY_LIMIT)).unwrap(); + + let info = mock_info("creator", &coins(1000, "earth")); + let msg = br#"{}"#; + let contract_result = + call_instantiate::<_, _, _, Empty>(&mut instance, &mock_env(), &info, msg).unwrap(); + contract_result.into_result().unwrap(); + + let mut gas_used = 0; + b.iter(|| { + let gas_before = instance.get_gas_left(); + let info = mock_info("foo", &[]); + let msg = format!(r#"{{"api":{{"len":{}}}}}"#, len).into_bytes(); + let contract_result = + call_execute::<_, _, _, Empty>(&mut instance, &mock_env(), &info, &msg) + .unwrap(); + contract_result.into_result().unwrap(); + gas_used = gas_before - instance.get_gas_left(); + }); + if gas_reports_api.len() < (i - 5) as usize { + gas_reports_api.push((len, block, gas_used)) + } + }); + } + for i in 0..gas_reports_wasm.len() { + let wasm = gas_reports_wasm[i]; + let api = gas_reports_api[i]; + println!("gas wasm/{}bytes({}blocks): {}", wasm.0, wasm.1, wasm.2); + println!("gas api /{}bytes({}blocks): {}", api.0, api.1, api.2); + } + + group.finish(); +} + fn make_config(measurement_time_s: u64) -> Criterion { Criterion::default() .without_plots() @@ -471,6 +559,15 @@ fn make_config(measurement_time_s: u64) -> Criterion { .configure_from_args() } +fn make_inversion_throughput_config() -> Criterion { + Criterion::default() + .with_measurement(InvertedThroughput::new()) + .without_plots() + .measurement_time(Duration::new(10, 0)) + .sample_size(12) + .configure_from_args() +} + criterion_group!( name = instance; config = make_config(8); @@ -497,4 +594,9 @@ criterion_group!( .configure_from_args(); targets = bench_instance_threads ); -criterion_main!(instance, cache, combined, multi_threaded_instance); +criterion_group!( + name = sha1; + config = make_inversion_throughput_config(); + targets = bench_sha1 +); +criterion_main!(instance, cache, combined, multi_threaded_instance, sha1); diff --git a/packages/vm/testdata/bench_sha1.wasm b/packages/vm/testdata/bench_sha1.wasm new file mode 100644 index 0000000000000000000000000000000000000000..ae579275b02d529863bc5d342778a29e20074b03 GIT binary patch literal 179869 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%0D&z$$Pc@^KhEW?;Ztamr>ZPSUql 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