diff --git a/benches/banking_stage.rs b/benches/banking_stage.rs index bc834e35b9..82e7054926 100644 --- a/benches/banking_stage.rs +++ b/benches/banking_stage.rs @@ -3,6 +3,7 @@ extern crate bincode; extern crate rand; extern crate rayon; extern crate solana; +extern crate solana_program_interface; extern crate test; use rand::{thread_rng, Rng}; @@ -11,11 +12,11 @@ use solana::bank::Bank; use solana::banking_stage::{BankingStage, NUM_THREADS}; use solana::entry::Entry; use solana::mint::Mint; -use solana::packet::{to_packets_chunked, PacketRecycler}; -use solana::pubkey::Pubkey; +use solana::packet::to_packets_chunked; use solana::signature::{KeypairUtil, Signature}; use solana::system_transaction::SystemTransaction; use solana::transaction::Transaction; +use solana_program_interface::pubkey::Pubkey; use std::iter; use std::sync::mpsc::{channel, Receiver}; use std::sync::Arc; @@ -47,7 +48,6 @@ fn bench_banking_stage_multi_accounts(bencher: &mut Bencher) { let mint = Mint::new(mint_total); let (verified_sender, verified_receiver) = channel(); - let packet_recycler = PacketRecycler::default(); let bank = Arc::new(Bank::new(&mint)); let dummy = Transaction::system_move( &mint.keypair(), @@ -91,10 +91,10 @@ fn bench_banking_stage_multi_accounts(bencher: &mut Bencher) { assert!(r.is_ok(), "sanity parallel execution"); } bank.clear_signatures(); - let verified: Vec<_> = to_packets_chunked(&packet_recycler, &transactions.clone(), 192) + let verified: Vec<_> = to_packets_chunked(&transactions.clone(), 192) .into_iter() .map(|x| { - let len = x.read().packets.len(); + let len = x.read().unwrap().packets.len(); (x, iter::repeat(1).take(len).collect()) }).collect(); let (_stage, signal_receiver) = diff --git a/benches/ledger.rs b/benches/ledger.rs index c9cedb46bb..dd885c4eaa 100644 --- a/benches/ledger.rs +++ b/benches/ledger.rs @@ -4,7 +4,6 @@ extern crate test; use solana::hash::{hash, Hash}; use solana::ledger::{next_entries, reconstruct_entries_from_blobs, Block}; -use solana::packet::BlobRecycler; use solana::signature::{Keypair, KeypairUtil}; use solana::system_transaction::SystemTransaction; use solana::transaction::Transaction; @@ -19,9 +18,8 @@ fn bench_block_to_blobs_to_block(bencher: &mut Bencher) { let transactions = vec![tx0; 10]; let entries = next_entries(&zero, 1, transactions); - let blob_recycler = BlobRecycler::default(); bencher.iter(|| { - let blobs = entries.to_blobs(&blob_recycler); + let blobs = entries.to_blobs(); assert_eq!(reconstruct_entries_from_blobs(blobs).unwrap(), entries); }); } diff --git a/benches/sigverify.rs b/benches/sigverify.rs index a7552b3406..e4687f8c7c 100644 --- a/benches/sigverify.rs +++ b/benches/sigverify.rs @@ -4,7 +4,7 @@ extern crate rayon; extern crate solana; extern crate test; -use solana::packet::{to_packets, PacketRecycler}; +use solana::packet::to_packets; use solana::sigverify; use solana::system_transaction::test_tx; use test::Bencher; @@ -14,8 +14,7 @@ fn bench_sigverify(bencher: &mut Bencher) { let tx = test_tx(); // generate packet vector - let packet_recycler = PacketRecycler::default(); - let batches = to_packets(&packet_recycler, &vec![tx; 128]); + let batches = to_packets(&vec![tx; 128]); // verify packets bencher.iter(|| { diff --git a/ci/buildkite.yml b/ci/buildkite.yml index 9e36d39d89..bfcdbc0ee6 100644 --- a/ci/buildkite.yml +++ b/ci/buildkite.yml @@ -4,11 +4,11 @@ steps: env: CARGO_TARGET_CACHE_NAME: "stable" timeout_in_minutes: 30 - # - command: "ci/docker-run.sh solanalabs/rust-nightly ci/test-bench.sh" - # name: "bench [public]" - # env: - # CARGO_TARGET_CACHE_NAME: "nightly" - # timeout_in_minutes: 30 + - command: "ci/docker-run.sh solanalabs/rust-nightly ci/test-bench.sh" + name: "bench [public]" + env: + CARGO_TARGET_CACHE_NAME: "nightly" + timeout_in_minutes: 30 - command: "ci/shellcheck.sh" name: "shellcheck [public]" timeout_in_minutes: 20 diff --git a/ci/test-bench.sh b/ci/test-bench.sh index c03c6b3b2b..2e3442655a 100755 --- a/ci/test-bench.sh +++ b/ci/test-bench.sh @@ -10,6 +10,8 @@ _() { "$@" } +set -o pipefail + BENCH_FILE=bench_output.log _ cargo bench --features=unstable --verbose -- -Z unstable-options --format=json | tee $BENCH_FILE _ cargo run --release --bin solana-upload-perf -- $BENCH_FILE diff --git a/src/bin/upload-perf.rs b/src/bin/upload-perf.rs index 30bf48be69..9ed4480841 100644 --- a/src/bin/upload-perf.rs +++ b/src/bin/upload-perf.rs @@ -35,7 +35,7 @@ fn main() { let median = v["median"].to_string().parse().unwrap(); let deviation = v["deviation"].to_string().parse().unwrap(); metrics::submit( - influxdb::Point::new(&v["name"].to_string()) + influxdb::Point::new(&v["name"].as_str().unwrap().trim_matches('\"')) .add_field("median", influxdb::Value::Integer(median)) .add_field("deviation", influxdb::Value::Integer(deviation)) .add_field(