solana/sdk/benches/short_vec.rs
Kristofer Peterson e23340d89e
Clippy cleanup for all targets and nighly rust (also support 1.44.0) (#10445)
* 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>
2020-06-09 09:38:14 +09:00

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();
});
}