WIP: perf: test regression, needs Arc<T>

This commit is contained in:
swaits committed 2025-10-14 09:48:14 -06:00
1 parent 89fbd26a47
commit 04d1c13122
6 files changed
+182 -1529

No files matched your search

+5 -5
View File
@@ -37,7 +37,7 @@ pub fn bench_etl_pipeline(c: &mut Criterion) {
// T1: Parse and validate
let validate = dag
.add_task(task_fn(move |data: Vec<String>| async move {
.add_task(task_fn(move |data: std::sync::Arc<Vec<String>>| async move {
data.iter()
.filter(|s| {
s.contains("\"id\"")
@@ -50,7 +50,7 @@ pub fn bench_etl_pipeline(c: &mut Criterion) {
// T2: Extract scores
let scores = dag
.add_task(task_fn(move |data: Vec<String>| async move {
.add_task(task_fn(move |data: std::sync::Arc<Vec<String>>| async move {
data.iter()
.filter_map(|s| {
s.split("\"score\":").nth(1).and_then(|part| {
@@ -63,7 +63,7 @@ pub fn bench_etl_pipeline(c: &mut Criterion) {
// T3: Extract names
let names = dag
.add_task(task_fn(move |data: Vec<String>| async move {
.add_task(task_fn(move |data: std::sync::Arc<Vec<String>>| async move {
data.iter()
.filter_map(|s| {
s.split("\"name\":\"")
@@ -77,12 +77,12 @@ pub fn bench_etl_pipeline(c: &mut Criterion) {
// Load: Aggregate all transformations
dag.add_task(task_fn(
move |(valid, scores, names): (usize, Vec<i32>, Vec<String>)| async move {
move |(valid, scores, names): (std::sync::Arc<usize>, std::sync::Arc<Vec<i32>>, std::sync::Arc<Vec<String>>)| async move {
let avg_score =
scores.iter().sum::<i32>() / scores.len().max(1) as i32;
format!(
"Processed {} valid records, {} names, avg score: {}",
valid,
*valid,
names.len(),
avg_score
)