37 lines
		
	
	
		
			837 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			837 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(&vec![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(&vec![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();
 | 
						|
    });
 | 
						|
}
 |