Don't deserialize coding header for data shreds (#6367)

* Don't deserialize coding hdr for data shreds

* review comments

* fix tests
This commit is contained in:
Pankaj Garg
2019-10-15 15:18:23 -07:00
committed by GitHub
parent 37a29b979f
commit 20e800230f
2 changed files with 47 additions and 3 deletions

View File

@ -5,7 +5,7 @@ extern crate test;
use solana_core::entry::create_ticks;
use solana_core::entry::Entry;
use solana_core::shred::{
max_entries_per_n_shred, max_ticks_per_n_shreds, Shredder, RECOMMENDED_FEC_RATE,
max_entries_per_n_shred, max_ticks_per_n_shreds, Shred, Shredder, RECOMMENDED_FEC_RATE,
SIZE_OF_DATA_SHRED_HEADER,
};
use solana_core::test_tx;
@ -72,3 +72,15 @@ fn bench_deshredder(bencher: &mut Bencher) {
assert_ne!(raw.len(), 0);
})
}
#[bench]
fn bench_deserialize_hdr(bencher: &mut Bencher) {
let data = vec![0; PACKET_DATA_SIZE - *SIZE_OF_DATA_SHRED_HEADER];
let shred = Shred::new_from_data(2, 1, 1, Some(&data), true, true);
bencher.iter(|| {
let payload = shred.payload.clone();
let _ = Shred::new_from_serialized_shred(payload).unwrap();
})
}