Avoid shred generation in ledger_cleanup.rs (#22091)
This commit is contained in:
parent
af7a2e3daa
commit
e201b41341
|
@ -338,27 +338,52 @@ mod tests {
|
||||||
let mut num_shreds = 0;
|
let mut num_shreds = 0;
|
||||||
let mut max_speed = 0f32;
|
let mut max_speed = 0f32;
|
||||||
let mut min_speed = f32::MAX;
|
let mut min_speed = f32::MAX;
|
||||||
|
let (mut shreds_with_parent, _) = make_many_slot_shreds(
|
||||||
|
1, batch_size_slots, shreds_per_slot);
|
||||||
|
let (first_shreds, _) = make_many_slot_shreds(
|
||||||
|
0, batch_size_slots, shreds_per_slot);
|
||||||
loop {
|
loop {
|
||||||
let batch_id = shared_batch_id.fetch_add(1, Ordering::SeqCst);
|
let batch_id = shared_batch_id.fetch_add(1, Ordering::Relaxed);
|
||||||
let start_slot = batch_id * batch_size_slots;
|
let start_slot = batch_id * batch_size_slots;
|
||||||
let len = batch_id;
|
|
||||||
if start_slot >= benchmark_slots {
|
if start_slot >= benchmark_slots {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
let len = batch_id;
|
||||||
|
|
||||||
let new_shreds = if pre_generate_data {
|
let br = if pre_generate_data {
|
||||||
let mut sl = cloned_shreds.lock().unwrap();
|
let mut sl = cloned_shreds.lock().unwrap();
|
||||||
if let Some(shreds_from_queue) = sl.pop_front() {
|
if let Some(shreds_from_queue) = sl.pop_front() {
|
||||||
shreds_from_queue
|
total += shreds_from_queue.len();
|
||||||
|
cloned_blockstore.insert_shreds(
|
||||||
|
shreds_from_queue, None, false).unwrap()
|
||||||
} else {
|
} else {
|
||||||
|
// If the queue is empty, we're done!
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let (generated_shreds, _) = make_many_slot_shreds(
|
let mut slot_id = start_slot;
|
||||||
start_slot, batch_size_slots, shreds_per_slot);
|
if slot_id > 0 {
|
||||||
generated_shreds
|
for shred in shreds_with_parent.iter_mut() {
|
||||||
|
shred.set_slot(slot_id);
|
||||||
|
if shred.index() as u64 == shreds_per_slot - 1 {
|
||||||
|
slot_id += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
total += shreds_with_parent.len();
|
||||||
|
cloned_blockstore.insert_shreds(
|
||||||
|
shreds_with_parent.clone(), None, false).unwrap()
|
||||||
|
} else {
|
||||||
|
total += first_shreds.len();
|
||||||
|
cloned_blockstore.insert_shreds(
|
||||||
|
first_shreds.clone(), None, false).unwrap()
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
total_batches += 1;
|
||||||
|
total_inserted_shreds += br.1.len();
|
||||||
|
num_shreds += br.1.len();
|
||||||
|
shared_finished_count.fetch_add(1, Ordering::Relaxed);
|
||||||
|
|
||||||
// as_secs() returns whole number of seconds, so this runs every second
|
// as_secs() returns whole number of seconds, so this runs every second
|
||||||
if now.elapsed().as_secs() > 0 {
|
if now.elapsed().as_secs() > 0 {
|
||||||
let shreds_per_second = num_shreds as f32 / now.elapsed().as_secs() as f32;
|
let shreds_per_second = num_shreds as f32 / now.elapsed().as_secs() as f32;
|
||||||
|
@ -378,14 +403,6 @@ mod tests {
|
||||||
num_shreds = 0;
|
num_shreds = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
total += new_shreds.len();
|
|
||||||
total_batches += 1;
|
|
||||||
let br = cloned_blockstore.insert_shreds(
|
|
||||||
new_shreds, None, false).unwrap();
|
|
||||||
total_inserted_shreds += br.1.len();
|
|
||||||
num_shreds += br.1.len();
|
|
||||||
shared_finished_count.fetch_add(1, Ordering::Relaxed);
|
|
||||||
|
|
||||||
if cloned_insert_exit.load(Ordering::Relaxed) {
|
if cloned_insert_exit.load(Ordering::Relaxed) {
|
||||||
if max_speed > 0.0 {
|
if max_speed > 0.0 {
|
||||||
info!(
|
info!(
|
||||||
|
|
Loading…
Reference in New Issue