* address warnings from 'rustup run beta cargo clippy --workspace' minor refactoring in: - cli/src/cli.rs - cli/src/offline/blockhash_query.rs - logger/src/lib.rs - runtime/src/accounts_db.rs expect some performance improvement AccountsDB::clean_accounts() * address warnings from 'rustup run beta cargo clippy --workspace --tests' * address warnings from 'rustup run nightly cargo clippy --workspace --all-targets' * rustfmt * fix warning stragglers * properly fix clippy warnings test_vote_subscribe() replace ref-to-arc with ref parameters where arc not cloned * Remove lock around JsonRpcRequestProcessor (#10417) automerge * make ancestors parameter optional to avoid forcing construction of empty hash maps Co-authored-by: Greg Fitzgerald <greg@solana.com>
37 lines
829 B
Rust
37 lines
829 B
Rust
#![feature(test)]
|
|
|
|
extern crate test;
|
|
use bincode::deserialize;
|
|
use solana_sdk::short_vec::ShortVec;
|
|
use test::Bencher;
|
|
|
|
// Return a ShortVec with 127 bytes
|
|
fn create_encoded_short_vec() -> Vec<u8> {
|
|
let mut bytes = vec![127];
|
|
bytes.extend_from_slice(&[0u8; 127]);
|
|
bytes
|
|
}
|
|
|
|
// Return a Vec with 127 bytes
|
|
fn create_encoded_vec() -> Vec<u8> {
|
|
let mut bytes = vec![127, 0, 0, 0, 0, 0, 0, 0];
|
|
bytes.extend_from_slice(&[0u8; 127]);
|
|
bytes
|
|
}
|
|
|
|
#[bench]
|
|
fn bench_short_vec(b: &mut Bencher) {
|
|
b.iter(|| {
|
|
let bytes = test::black_box(create_encoded_short_vec());
|
|
deserialize::<ShortVec<u8>>(&bytes).unwrap();
|
|
});
|
|
}
|
|
|
|
#[bench]
|
|
fn bench_vec(b: &mut Bencher) {
|
|
b.iter(|| {
|
|
let bytes = test::black_box(create_encoded_vec());
|
|
deserialize::<Vec<u8>>(&bytes).unwrap();
|
|
});
|
|
}
|