test randomize with error (#5916)
* test randomize with error * update magic numbers * fixup * fixup * fixup * no more blobs * fixup
This commit is contained in:
@@ -7,8 +7,11 @@ extern crate test;
|
||||
extern crate solana_core;
|
||||
|
||||
use rand::Rng;
|
||||
use solana_core::blocktree::{entries_to_test_shreds, get_tmp_ledger_path, Blocktree};
|
||||
use solana_core::entry::{make_large_test_entries, make_tiny_test_entries, Entry};
|
||||
use solana_core::{
|
||||
blocktree::{entries_to_test_shreds, get_tmp_ledger_path, Blocktree},
|
||||
entry::{create_ticks, Entry},
|
||||
};
|
||||
use solana_sdk::hash::Hash;
|
||||
use std::path::Path;
|
||||
use test::Bencher;
|
||||
|
||||
@@ -32,8 +35,7 @@ fn setup_read_bench(
|
||||
slot: u64,
|
||||
) {
|
||||
// Make some big and small entries
|
||||
let mut entries = make_large_test_entries(num_large_shreds as usize);
|
||||
entries.extend(make_tiny_test_entries(num_small_shreds as usize));
|
||||
let entries = create_ticks(num_large_shreds * 4 + num_small_shreds * 2, Hash::default());
|
||||
|
||||
// Convert the entries to shreds, write the shreds to the ledger
|
||||
let shreds = entries_to_test_shreds(entries, slot, slot.saturating_sub(1), true);
|
||||
@@ -48,7 +50,7 @@ fn setup_read_bench(
|
||||
fn bench_write_small(bench: &mut Bencher) {
|
||||
let ledger_path = get_tmp_ledger_path!();
|
||||
let num_entries = 32 * 1024;
|
||||
let entries = make_tiny_test_entries(num_entries);
|
||||
let entries = create_ticks(num_entries, Hash::default());
|
||||
bench_write_shreds(bench, entries, &ledger_path);
|
||||
}
|
||||
|
||||
@@ -58,7 +60,7 @@ fn bench_write_small(bench: &mut Bencher) {
|
||||
fn bench_write_big(bench: &mut Bencher) {
|
||||
let ledger_path = get_tmp_ledger_path!();
|
||||
let num_entries = 32 * 1024;
|
||||
let entries = make_large_test_entries(num_entries);
|
||||
let entries = create_ticks(num_entries, Hash::default());
|
||||
bench_write_shreds(bench, entries, &ledger_path);
|
||||
}
|
||||
|
||||
@@ -127,7 +129,7 @@ fn bench_insert_data_shred_small(bench: &mut Bencher) {
|
||||
let blocktree =
|
||||
Blocktree::open(&ledger_path).expect("Expected to be able to open database ledger");
|
||||
let num_entries = 32 * 1024;
|
||||
let entries = make_tiny_test_entries(num_entries);
|
||||
let entries = create_ticks(num_entries, Hash::default());
|
||||
bench.iter(move || {
|
||||
let shreds = entries_to_test_shreds(entries.clone(), 0, 0, true);
|
||||
blocktree.insert_shreds(shreds, None).unwrap();
|
||||
@@ -142,7 +144,7 @@ fn bench_insert_data_shred_big(bench: &mut Bencher) {
|
||||
let blocktree =
|
||||
Blocktree::open(&ledger_path).expect("Expected to be able to open database ledger");
|
||||
let num_entries = 32 * 1024;
|
||||
let entries = make_large_test_entries(num_entries);
|
||||
let entries = create_ticks(num_entries, Hash::default());
|
||||
bench.iter(move || {
|
||||
let shreds = entries_to_test_shreds(entries.clone(), 0, 0, true);
|
||||
blocktree.insert_shreds(shreds, None).unwrap();
|
||||
|
@@ -1,24 +0,0 @@
|
||||
#![feature(test)]
|
||||
|
||||
extern crate test;
|
||||
|
||||
use solana_core::entry::{next_entries, reconstruct_entries_from_blobs, EntrySlice};
|
||||
use solana_sdk::hash::{hash, Hash};
|
||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||
use solana_sdk::system_transaction;
|
||||
use test::Bencher;
|
||||
|
||||
#[bench]
|
||||
fn bench_block_to_blobs_to_block(bencher: &mut Bencher) {
|
||||
let zero = Hash::default();
|
||||
let one = hash(&zero.as_ref());
|
||||
let keypair = Keypair::new();
|
||||
let tx0 = system_transaction::transfer(&keypair, &keypair.pubkey(), 1, one);
|
||||
let transactions = vec![tx0; 10];
|
||||
let entries = next_entries(&zero, 1, transactions);
|
||||
|
||||
bencher.iter(|| {
|
||||
let blobs = entries.to_blobs();
|
||||
assert_eq!(reconstruct_entries_from_blobs(blobs).unwrap().0, entries);
|
||||
});
|
||||
}
|
Reference in New Issue
Block a user