diff --git a/.agents/skills/polyxml-core-engine/SKILL.md b/.agents/skills/polyxml-core-engine/SKILL.md index 86dd4b3..f426bf2 100644 --- a/.agents/skills/polyxml-core-engine/SKILL.md +++ b/.agents/skills/polyxml-core-engine/SKILL.md @@ -272,5 +272,12 @@ lexical-list obligations before traversing repeated values. Ordinary nested records validate their own fields. Lexical lists append tokens to one string; retain whitespace-token rejection, escaping and empty-list behavior. +An explicit null in the ordered mixed item stream is a present nil element, +including for nested branches. Serialize it with a local instance namespace +binding; avoid shadowing the element QName's prefix. Keep empty strings distinct +from nulls and preserve item order. Mixed branch schemas do not retain nillable +constraints, and the dynamic reader remains permissive; this round-trip behavior +does not establish nillability validation or ordinary optional-field nil output. + For measured changes, use [polyxml-runtime-investigation](../polyxml-runtime-investigation/SKILL.md). diff --git a/.agents/skills/polyxml-runtime-investigation/SKILL.md b/.agents/skills/polyxml-runtime-investigation/SKILL.md index b43445f..6287da7 100644 --- a/.agents/skills/polyxml-runtime-investigation/SKILL.md +++ b/.agents/skills/polyxml-runtime-investigation/SKILL.md @@ -30,6 +30,11 @@ separate from the schema-driven `PolyValue` runtime. also matches deserialization. Remove stale results only in the runner's owned scratch directory before measurement, not from retained raw evidence. - Check rich enums, patterns, lists and mixed branches alongside plain records. + The `mixed.rs` consumer checks text/scalar/enum/pattern/nested ordered items. + Text/GeneralRef/CData boundaries may coalesce when written: compare adjacent + text's concatenated value, rather than treating token segmentation as XML + semantics. Keep nil correctness tests separate from baseline timing consumers + when the baseline cannot serialize nil. Warm pattern-cache gains do not establish cold-start, churn or concurrent throughput. Entry/key bounds do not constitute a compiled-regex byte budget. - Preserve validation, errors, split Text/CData/GeneralRef handling, nil reads, @@ -42,3 +47,33 @@ separate from the schema-driven `PolyValue` runtime. - Publish positive and negative experiments with exact source revisions, raw evidence and remaining regressions. Run the full quality gate before pushing the experiment branch; a branch request does not authorize a merge to main. + +For mixed schemas with many possible child tags, measure the linear branch scan +with `mixed_branches.rs`, including sparse one-item controls. A temporary index +can borrow kind keys and branch references for large repeated payloads without +persisting stale mutable metadata. Preserve the original first-match behavior +for duplicate kind names; test metadata edits, tagged records, nil and unknown +kinds. Keep small tables on a linear path and measure the chosen crossover. + +Check the indexing cutoff with short documents too. A 256-branch table built for +64 mixed items was 30% slower, despite a 54% gain at 1,000 items. Requiring at +least 64 items and half as many items as branches avoids that observed crossover +regression. Retain 32/64/128-item controls, and keep the cutoff heuristic separate +from semantic behavior: duplicate first-match ordering and metadata edits still +need independent correctness tests. + +Also measure concentrated tag reuse and text-heavy content. Even above the +size cutoff, repeated first-branch hits were 11–20% slower with a hash table. +A bounded, evenly spaced sample can select linear lookup when the observed +branch-search work is low. Treat sampling as a performance heuristic only; +normal writer validation must still examine every item and preserve errors. + +Offset samples within their bins and include a power-of-two item count: a +strictly evenly spaced sample can repeatedly hit the first tag when the choice +cycle divides its stride, overlooking a distributed payload's lookup work. + +For large investigations, retain Criterion process directories in per-experiment +archives rather than thousands of loose JSON files in a PR. Verify the original +manifest, archive every file with its relative path, read back and compare each +member's checksum before removing loose copies, and retain member/top-level +manifests plus the packaging script. Extract into scratch to rerun summaries. diff --git a/benchmarks/rust-runtime-investigation/README.md b/benchmarks/rust-runtime-investigation/README.md index 8c2e4f4..136e647 100644 --- a/benchmarks/rust-runtime-investigation/README.md +++ b/benchmarks/rust-runtime-investigation/README.md @@ -113,3 +113,35 @@ For the generated sensor control, run the XML/Serde regression runner and use its output directory. This computes each process's median of seven timing samples, then the median across processes; it retains the process deltas. The statistic differs from the Criterion process means above. + +## Ordered mixed content + +Use `--harness benchmarks/rust-runtime-investigation/mixed.rs` for 1,000 +text, scalar, enum, warm-pattern or nested mixed items. Every decoded payload +is checked before timing. Adjacent text events can be coalesced on output, so +the text case compares the concatenated text value after a round trip; element +cases compare the complete ordered value. These cases contain no nil items and +can compare revisions whose nil writer is broken. Cover nil output separately +with `test_mixed_nil`; a timing harness must not turn a known correctness +failure into a performance result. + +`mixed_branches.rs` varies the child-tag table across 1, 16, 64 and 256 entries +and the payload across 1, 32, 64, 128, 1,000 and 1,024 items. It checks every kind against its +expected wire name and every integer before timing, then checks the full +round trip. Use `^branch_write/.*/1000$` to screen repeated writes; retain sparse +and read controls before promoting a branch-lookup optimization. A temporary +index trades a per-container allocation for faster repeated lookup. It must +preserve first-match behavior and rebuild after mutable metadata edits. + +The mixed branch consumer also includes 32, 64 and 128 items to check index +construction cost. The trigger requires at least 64 branches, at least 64 items, +and items numbering at least half the branch count. This is a measured heuristic, +not a universal break-even guarantee; tag distribution and text-only content can +affect how much lookup work is saved. + +The final selector samples at most 16 items spread across the payload, requiring at least +four tagged samples and an average linear-search depth of 16 before indexing. +This avoids the observed repeated-first-tag regression and skips a table for +text-only content. It is a heuristic, so retain concentrated/distributed cases +and the actual sampled payload along with timing evidence. All items still pass +through the normal writer validation. diff --git a/benchmarks/rust-runtime-investigation/mixed.rs b/benchmarks/rust-runtime-investigation/mixed.rs new file mode 100644 index 0000000..7d0413e --- /dev/null +++ b/benchmarks/rust-runtime-investigation/mixed.rs @@ -0,0 +1,120 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["mixed_read", "mixed_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for kind in ["text", "scalar", "enum", "pattern", "nested"] { + let (schema, xml) = fixture(kind, 1000); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function(BenchmarkId::new(kind, 1000), |b| { + if operation == "mixed_read" { + b.iter(|| { + black_box(deserialize(black_box(&xml), Arc::clone(&schema)).unwrap()) + }); + } else { + b.iter(|| { + black_box(serialize("Root", black_box(&value), &schema, None).unwrap()) + }); + } + }); + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/benchmarks/rust-runtime-investigation/mixed_branches.rs b/benchmarks/rust-runtime-investigation/mixed_branches.rs new file mode 100644 index 0000000..e635bfe --- /dev/null +++ b/benchmarks/rust-runtime-investigation/mixed_branches.rs @@ -0,0 +1,74 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [1, 16, 64, 256] { + for count in [1, 32, 64, 128, 1000, 1024] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/crates/polyxml-core/src/serializer.rs b/crates/polyxml-core/src/serializer.rs index f68ba99..f6de2f4 100644 --- a/crates/polyxml-core/src/serializer.rs +++ b/crates/polyxml-core/src/serializer.rs @@ -523,93 +523,7 @@ impl XmlSerializer { if let Some(PolyValue::List(items)) = get_field(mixed.items_index, &schema.fields[mixed.items_index].name) { - for item in items { - let tagged_field = |name: &str| -> Option<&PolyValue> { - match item { - PolyValue::Object(tagged) => tagged.get(name), - PolyValue::Record { schema, values } => schema - .fields - .iter() - .position(|field| field.name == name) - .and_then(|idx| values.get(idx)) - .and_then(Option::as_ref), - _ => None, - } - }; - let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { - return Err(PolyXmlError::SerializationError( - "Mixed content item has no kind".into(), - )); - }; - let Some(content) = tagged_field("value") else { - return Err(PolyXmlError::SerializationError( - "Mixed content item has no value".into(), - )); - }; - if kind == "#text" { - let Some(text) = content.as_str() else { - return Err(PolyXmlError::SerializationError( - "Mixed text item must be a string".into(), - )); - }; - writer - .write_event(Event::Text(BytesText::new(text))) - .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; - continue; - } - let Some(branch) = mixed - .branches - .iter() - .find(|branch| branch.variant_name == kind) - else { - return Err(PolyXmlError::SerializationError(format!( - "Unknown mixed content kind: {kind}" - ))); - }; - let local_name = std::str::from_utf8(&branch.xml_name)?; - let qualified = if let Some(ctx) = ns_ctx { - ctx.qualify_element( - local_name, - branch.namespace.as_deref().or(schema.namespace.as_deref()), - ) - } else { - Cow::Borrowed(local_name) - }; - match &branch.val_type { - ValueType::Scalar(_) => { - let mut buf = [0u8; lexical_core::BUFFER_SIZE]; - let Some(text) = Self::format_scalar_to(content, &mut buf) else { - return Err(PolyXmlError::SerializationError(format!( - "Invalid mixed content value for {kind}" - ))); - }; - Self::validate_scalar(&branch.val_type, &text, kind)?; - writer - .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) - .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; - writer - .write_event(Event::Text(BytesText::new(&text))) - .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; - writer - .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) - .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; - } - ValueType::Nested(nested) => Self::write_model( - writer, - &branch.xml_name, - content, - nested, - ns_ctx, - false, - branch.namespace.as_deref().or(nested.namespace.as_deref()), - )?, - ValueType::List(_) => { - return Err(PolyXmlError::SerializationError( - "Nested lists are invalid mixed content branches".into(), - )) - } - } - } + Self::write_mixed_items(writer, items, schema, mixed, ns_ctx)?; } } else { for (idx, field) in schema.fields.iter().enumerate() { @@ -759,6 +673,198 @@ impl XmlSerializer { Ok(()) } + fn write_mixed_items( + writer: &mut Writer, + items: &[PolyValue], + schema: &ModelSchema, + mixed: &crate::schema::MixedContentSchema, + ns_ctx: Option<&NamespaceContext>, + ) -> Result<()> { + // Amortize the temporary index only for sufficiently large schemas and + // repeated payloads. References avoid cloning keys or branch metadata. + if mixed.branches.len() >= 64 + && items.len() >= 64 + && items.len() >= mixed.branches.len().div_ceil(2) + && Self::mixed_lookup_sample_favors_index(items, mixed) + { + let mut index = std::collections::HashMap::with_capacity(mixed.branches.len()); + for branch in &mixed.branches { + // Preserve the linear lookup's first-match behavior for public + // metadata containing duplicate variant names. + index.entry(branch.variant_name.as_str()).or_insert(branch); + } + Self::write_mixed_items_using(writer, items, schema, ns_ctx, |kind| { + index.get(kind).copied() + }) + } else { + Self::write_mixed_items_using(writer, items, schema, ns_ctx, |kind| { + mixed + .branches + .iter() + .find(|branch| branch.variant_name == kind) + }) + } + } + + fn mixed_lookup_sample_favors_index( + items: &[PolyValue], + mixed: &crate::schema::MixedContentSchema, + ) -> bool { + // Spread a bounded sample across the payload. Early-branch reuse and + // text-only items otherwise pay for an index that saves little work. + let stride = items.len() / 16; + let mut tagged = 0; + let mut comparisons = 0; + for sample in 0..16 { + // Offset within each bin to avoid sampling the same tag when a + // repeated choice cycle divides the stride exactly. + let offset = (sample * 17 + 7) % stride; + let Some(kind) = items[sample * stride + offset] + .get("kind") + .and_then(PolyValue::as_str) + else { + continue; + }; + if kind == "#text" { + continue; + } + if let Some(position) = mixed + .branches + .iter() + .position(|branch| branch.variant_name == kind) + { + tagged += 1; + comparisons += position + 1; + } + } + tagged >= 4 && comparisons >= tagged * 16 + } + + #[inline(never)] + fn write_mixed_items_using<'a, W: std::io::Write, F>( + writer: &mut Writer, + items: &[PolyValue], + schema: &ModelSchema, + ns_ctx: Option<&NamespaceContext>, + lookup: F, + ) -> Result<()> + where + F: Fn(&str) -> Option<&'a crate::schema::MixedBranchSchema>, + { + for item in items { + let tagged_field = |name: &str| -> Option<&PolyValue> { + match item { + PolyValue::Object(tagged) => tagged.get(name), + PolyValue::Record { schema, values } => schema + .fields + .iter() + .position(|field| field.name == name) + .and_then(|idx| values.get(idx)) + .and_then(Option::as_ref), + _ => None, + } + }; + let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { + return Err(PolyXmlError::SerializationError( + "Mixed content item has no kind".into(), + )); + }; + let Some(content) = tagged_field("value") else { + return Err(PolyXmlError::SerializationError( + "Mixed content item has no value".into(), + )); + }; + if kind == "#text" { + let Some(text) = content.as_str() else { + return Err(PolyXmlError::SerializationError( + "Mixed text item must be a string".into(), + )); + }; + writer + .write_event(Event::Text(BytesText::new(text))) + .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; + continue; + } + let Some(branch) = lookup(kind) else { + return Err(PolyXmlError::SerializationError(format!( + "Unknown mixed content kind: {kind}" + ))); + }; + let local_name = std::str::from_utf8(&branch.xml_name)?; + let qualified = if let Some(ctx) = ns_ctx { + ctx.qualify_element( + local_name, + branch.namespace.as_deref().or(schema.namespace.as_deref()), + ) + } else { + Cow::Borrowed(local_name) + }; + match &branch.val_type { + ValueType::Scalar(_) => { + let mut buf = [0u8; lexical_core::BUFFER_SIZE]; + let Some(text) = Self::format_scalar_to(content, &mut buf) else { + if content.is_null() { + Self::write_mixed_nil(writer, qualified.as_ref())?; + continue; + } + return Err(PolyXmlError::SerializationError(format!( + "Invalid mixed content value for {kind}" + ))); + }; + Self::validate_scalar(&branch.val_type, &text, kind)?; + writer + .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) + .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; + writer + .write_event(Event::Text(BytesText::new(&text))) + .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; + writer + .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) + .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; + } + ValueType::Nested(nested) => { + if content.is_null() { + Self::write_mixed_nil(writer, qualified.as_ref())?; + } else { + Self::write_model( + writer, + &branch.xml_name, + content, + nested, + ns_ctx, + false, + branch.namespace.as_deref().or(nested.namespace.as_deref()), + )?; + } + } + ValueType::List(_) => { + return Err(PolyXmlError::SerializationError( + "Nested lists are invalid mixed content branches".into(), + )) + } + } + } + Ok(()) + } + + // A tagged null is a present nil element, unlike an absent ordinary field. + // Bind the instance prefix locally without shadowing the element's QName. + // Scalar callers reach this through their existing failed-format path. + #[cold] + fn write_mixed_nil(writer: &mut Writer, qualified: &str) -> Result<()> { + let (declaration, attribute) = if qualified.starts_with("xsi:") { + ("xmlns:xsi1", "xsi1:nil") + } else { + ("xmlns:xsi", "xsi:nil") + }; + let mut element = BytesStart::new(qualified); + element.push_attribute((declaration, XSI_NS)); + element.push_attribute((attribute, "true")); + writer + .write_event(Event::Empty(element)) + .map_err(|error| PolyXmlError::SerializationError(error.to_string())) + } + fn write_any_wildcard_element( writer: &mut quick_xml::Writer, val: &PolyValue, diff --git a/crates/polyxml-core/tests/test_mixed_branch_lookup.rs b/crates/polyxml-core/tests/test_mixed_branch_lookup.rs new file mode 100644 index 0000000..52996dc --- /dev/null +++ b/crates/polyxml-core/tests/test_mixed_branch_lookup.rs @@ -0,0 +1,122 @@ +use polyxml::schema::{FieldKind, FieldSchema, ModelSchema, ScalarType, ValueType}; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{collections::HashMap, sync::Arc}; + +fn tagged(kind: &str, value: PolyValue) -> PolyValue { + PolyValue::Object(HashMap::from([ + ("kind".into(), PolyValue::String(kind.into())), + ("value".into(), value), + ])) +} + +#[test] +fn large_mixed_tables_keep_first_match_metadata_edits_records_and_nil() { + let declarations = (0..64) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let mut schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let items_name = schema.fields[mixed.items_index].name.clone(); + let kinds = (0..64) + .map(|i| { + mixed + .branches + .iter() + .find(|b| b.xml_name == format!("B{i}").as_bytes()) + .unwrap() + .variant_name + .clone() + }) + .collect::>(); + let first_index = mixed + .branches + .iter() + .position(|b| b.xml_name == b"B0") + .unwrap(); + let old_kind = kinds[0].clone(); + let record_schema = ModelSchema::builder("Tagged") + .field(FieldSchema::new( + "value", + b"value", + FieldKind::Element, + ValueType::Scalar(ScalarType::Int), + )) + .field(FieldSchema::new( + "kind", + b"kind", + FieldKind::Element, + ValueType::Scalar(ScalarType::String), + )) + .build(); + let mut items = (0..256) + .map(|i| tagged(&kinds[i % 64], PolyValue::Int(i as i64))) + .collect::>(); + items[0] = PolyValue::Record { + schema: record_schema, + values: vec![ + Some(PolyValue::Int(0)), + Some(PolyValue::String(old_kind.clone())), + ] + .into_boxed_slice(), + }; + items.push(tagged(&kinds[63], PolyValue::Null)); + let mut value = PolyValue::Object(HashMap::from([( + items_name.clone(), + PolyValue::List(items), + )])); + { + let mixed = Arc::get_mut(&mut schema) + .unwrap() + .mixed_content + .as_mut() + .unwrap(); + let mut duplicate = mixed.branches[first_index].clone(); + duplicate.xml_name = b"Duplicate".to_vec(); + mixed.branches.push(duplicate); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert!(std::str::from_utf8(&output).unwrap().contains("0")); + assert!(!std::str::from_utf8(&output).unwrap().contains(" { + fields.insert("kind".into(), PolyValue::String("changed_kind".into())); + } + PolyValue::Record { values, .. } => { + values[1] = Some(PolyValue::String("changed_kind".into())) + } + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let PolyValue::Object(root) = &mut value else { + unreachable!() + }; + let PolyValue::List(items) = root.get_mut(&items_name).unwrap() else { + unreachable!() + }; + items[0] = tagged("unregistered", PolyValue::Int(0)); + assert!(serialize("Root", &value, &schema, None).is_err()); +} diff --git a/crates/polyxml-core/tests/test_mixed_nil.rs b/crates/polyxml-core/tests/test_mixed_nil.rs new file mode 100644 index 0000000..95cc765 --- /dev/null +++ b/crates/polyxml-core/tests/test_mixed_nil.rs @@ -0,0 +1,93 @@ +use std::collections::HashMap; +use std::sync::Arc; + +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::serializer::XmlSerializer; +use polyxml::{deserialize, serialize, PolyValue}; + +fn schema(namespace: Option<&str>) -> Arc { + let declaration = namespace + .map(|ns| format!("targetNamespace='{ns}' xmlns:t='{ns}' elementFormDefault='qualified'")) + .unwrap_or_default(); + let xsd = format!(" + + + + + + + "); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + ModelSchema::from_ir(&ir, Some("Root")).unwrap() +} + +#[test] +fn nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings() { + let schema = schema(None); + for nil in [ + "", + "", + "", + "", + ] { + let xml = format!("before{nil}nested{nil}after"); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_field = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_field).and_then(PolyValue::as_list).unwrap(); + assert!(items[1].get("value").unwrap().is_null()); + assert_eq!(items[2].get("value").and_then(PolyValue::as_str), Some("")); + assert!(items[4].get("value").unwrap().is_null()); + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + } +} + +#[test] +fn nil_instance_prefix_does_not_rebind_the_element_namespace() { + let schema = schema(Some("urn:document")); + let xml = b"after"; + let value = deserialize(xml, Arc::clone(&schema)).unwrap(); + for prefix in ["", "doc", "xsi", "xsi1"] { + let ns_map = HashMap::from([(prefix.to_owned(), "urn:document".to_owned())]); + let output = XmlSerializer::serialize_with_options( + "Root", + &value, + &schema, + None, + Some(true), + Some(&ns_map), + ) + .unwrap(); + let mut reader = quick_xml::NsReader::from_reader(output.as_slice()); + let mut nils = 0; + loop { + let (namespace, event) = reader.read_resolved_event().unwrap(); + match event { + quick_xml::events::Event::Empty(element) => { + assert!( + matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "urn:document") + ); + for attribute in element.attributes() { + let attribute = attribute.unwrap(); + if attribute.key.local_name().as_ref() == "nil" { + let (namespace, _) = reader.resolver().resolve_attribute(attribute.key); + assert!( + matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "http://www.w3.org/2001/XMLSchema-instance") + ); + nils += 1; + } + } + } + quick_xml::events::Event::Eof => break, + _ => {} + } + } + assert_eq!(nils, 3); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + } + let output = + XmlSerializer::serialize_with_options("Root", &value, &schema, None, Some(false), None) + .unwrap(); + assert_eq!(value, deserialize(&output, schema).unwrap()); +} diff --git a/crates/polyxml-core/tests/test_runtime_fast_paths.rs b/crates/polyxml-core/tests/test_runtime_fast_paths.rs index c0f13f1..07aa439 100644 --- a/crates/polyxml-core/tests/test_runtime_fast_paths.rs +++ b/crates/polyxml-core/tests/test_runtime_fast_paths.rs @@ -239,6 +239,8 @@ fn unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames() { assert_eq!(value,deserialize(&output,Arc::clone(&schema)).unwrap()); } let nil_document = b"Ready"; - assert!(deserialize(nil_document, Arc::clone(&schema)).is_ok()); + let value = deserialize(nil_document, Arc::clone(&schema)).unwrap(); + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); assert!(deserialize(b"invalid", schema).is_err()); } diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/SHA256SUMS new file mode 100644 index 0000000..d8b4d0c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/SHA256SUMS @@ -0,0 +1,384 @@ +98b24164e3d6f2acde1aa1f9342cf494dbca57d38b77cdd091cdf4c814a701f8 archive-criterion.py.txt +8f7bb4bda54a6bfeaf04865767f841236a17d2a863d8b6b08fb7159a0372d229 branch-index.patch +dd63886d5d493f09c3116c9a4a906f6c36872ef4aa9adfebf8e656af622a0ecc cold-nil.patch +206898f06ba389fa7b6b5b5a1de6c47b42f873a52748b61020e5e9c17fed061b initial-nil.patch +fdffe0d4517369abfbdf5b9d40aebd5a092118be0e7a5d992bacd5c6965d7a3a isolated-loop.patch +c4eaa1ff54a118e16d5361b9f462ddb39c6462b36aa6f7bea18ef32c7bac8446 metadata.json +cc4817e84aa0ef44b00d78ace0d2b674d0fe6a1f34067a5a87f47f6541f7c62d mixed-branch-index-allocations/baseline-Cargo.lock +6c1adcf3fd66187e335b9c97b3e8359eafc7094a31a404344f357733e33b1980 mixed-branch-index-allocations/baseline-Cargo.toml +0eb78494d8539c5824a6daf2d51d3e20cebfecdfe5c29594999cb759058090c1 mixed-branch-index-allocations/baseline-allocations.txt +a1df2e4b22de74a90834d2b80e631beedbc9fa3dcd4fbc9a8363fdf4acf7c494 mixed-branch-index-allocations/baseline-build.txt +1b7b4391f1a16feec5c52e3bf84015ac126d3bcebf41631c1ccd25995432809e mixed-branch-index-allocations/baseline-harness.rs +2640cc74365976950c120d8741eaa3db81a50797243f3320c3416c9e7125b876 mixed-branch-index-allocations/baseline-metadata.json +cc4817e84aa0ef44b00d78ace0d2b674d0fe6a1f34067a5a87f47f6541f7c62d mixed-branch-index-allocations/current-Cargo.lock +0b4054d26b35fa79818317140098166e36b0171931d348f2a854de4e1966a0c1 mixed-branch-index-allocations/current-Cargo.toml +590d2e8fbb2e0be6c75408d6f696443cf3dc5546b1bd509651eb6b8217950e7a mixed-branch-index-allocations/current-allocations.txt +5938872e64f90d0ad654f16d3a95e9676d25f467f3c6756858072658d69202d9 mixed-branch-index-allocations/current-build.txt +1b7b4391f1a16feec5c52e3bf84015ac126d3bcebf41631c1ccd25995432809e mixed-branch-index-allocations/current-harness.rs +45898accd89a6290bcdff8e46e6b695482268ad2a37905627a41f18e95a0090f mixed-branch-index-allocations/current-metadata.json +cc4817e84aa0ef44b00d78ace0d2b674d0fe6a1f34067a5a87f47f6541f7c62d mixed-branch-index-allocations-sampled/baseline-Cargo.lock +6c1adcf3fd66187e335b9c97b3e8359eafc7094a31a404344f357733e33b1980 mixed-branch-index-allocations-sampled/baseline-Cargo.toml +8b7a0d41795e7052f41f4ee1eba3341f13cf43fb1a74187c6fb14d6a14f81a49 mixed-branch-index-allocations-sampled/baseline-allocations.txt +72cc83c84f46af87c64398aacc422a285a414bd00ca731eda76b61c0421c35f4 mixed-branch-index-allocations-sampled/baseline-build.txt +1b7b4391f1a16feec5c52e3bf84015ac126d3bcebf41631c1ccd25995432809e mixed-branch-index-allocations-sampled/baseline-harness.rs +2640cc74365976950c120d8741eaa3db81a50797243f3320c3416c9e7125b876 mixed-branch-index-allocations-sampled/baseline-metadata.json +cc4817e84aa0ef44b00d78ace0d2b674d0fe6a1f34067a5a87f47f6541f7c62d mixed-branch-index-allocations-sampled/current-Cargo.lock +0b4054d26b35fa79818317140098166e36b0171931d348f2a854de4e1966a0c1 mixed-branch-index-allocations-sampled/current-Cargo.toml +d6d2e81d1d512f94956ab7356c6851654db6415a3703d0d6e34ee2ec838ae023 mixed-branch-index-allocations-sampled/current-allocations.txt +787cdfd493493a7b23b88c9a3ddebf9db9a739b4ca15d31110665e58f25607d6 mixed-branch-index-allocations-sampled/current-build.txt +1b7b4391f1a16feec5c52e3bf84015ac126d3bcebf41631c1ccd25995432809e mixed-branch-index-allocations-sampled/current-harness.rs +c64c36087e7f3c86b230ceff99219156d35aa5667792c549fa56d6abe5f19688 mixed-branch-index-allocations-sampled/current-metadata.json +879315f0e17182240aa740c0b7de4fc65fad9ca0e521a6f2961c2dbf06a1b702 mixed-branch-index-common/baseline-0.txt +70356edccd59f9607299b70782a5e907407c42bf303be140ea0a7d3d0126ba8a mixed-branch-index-common/baseline-1.txt +39f528c6cd5def561d3c8d93dc0beb9941970cedac41362d5bc962eef41fe47e mixed-branch-index-common/baseline-2.txt +67ed5e7a678be2beabaab3293fe7b44babfc3c620292f272f076e14388cf9179 mixed-branch-index-common/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-common/baseline.lock +83edd162b7794bead9c1b2a7d2500ed44f8d0548861310a7a08a030a6c1ef2cb mixed-branch-index-common/criterion-SHA256SUMS +e1cc745d151a99f91473d6a5ad559d69db9b5a7516865df9e43fdc0454e74f78 mixed-branch-index-common/criterion-results.tar.gz +fbb3615081d3a343b405fd395eb297854a872be0694f21ae537aba2f4908c2a5 mixed-branch-index-common/current-0.txt +dd68503e388e9f8b51453c555781d02051b9a7c469dc235b0ae85bcf1cd9c830 mixed-branch-index-common/current-1.txt +b621da2c1a91343049a9fd751d477042f986601695a397fe3772f66b6c34fcae mixed-branch-index-common/current-2.txt +5aa4b88383e9b2bed5c5e9088e3d86fe8a4a7a5d630aa49ebc09f589b61c7eb0 mixed-branch-index-common/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-common/current.lock +6e8630a11e419f513cbbcc5f5748ebbdea2a3174d76dc0a149cc6465af5340d3 mixed-branch-index-common/harness.rs +640bdb11b012fece218869f6132b8af93c803364796a8e2273c23526c518731e mixed-branch-index-common/metadata.json +2d261f5e63f5ecce7965e74a61741f4ee518da7c35e723f4b48ca440604488d2 mixed-branch-index-common/summary.json +22fde0497fa0ca57007c40fb3393e1f4d391f4a748854213eef6ccf77b3f76ca mixed-branch-index-common-sampled/baseline-0.txt +4e34ffc7ebaf389187f55c9121d6ce9f4762b9cb489ca38660a7b812575461bd mixed-branch-index-common-sampled/baseline-1.txt +9185345cbf6ef3652cd8317508e2d1a549bf2574510aeb5d136c463cea3efda1 mixed-branch-index-common-sampled/baseline-2.txt +d7e78cc657f772afc63c4447ba32721bf30aa9b00b7ce08573c05d90bf3abf14 mixed-branch-index-common-sampled/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-common-sampled/baseline.lock +54dd8c8e0df16ab15a6df97530dbcfbe248992c29b10d9915cb48c028f9c5556 mixed-branch-index-common-sampled/criterion-SHA256SUMS +6aff85379fd522bb1a4db4d5e7053bcb5b1a8697f75f7bf2d27899370dd66d83 mixed-branch-index-common-sampled/criterion-results.tar.gz +23ae4527d4d4e3a901b8a49bb7b5eefd24532735c816b511398fb61260fc4263 mixed-branch-index-common-sampled/current-0.txt +6806b7371f92eea77c8ba9434e907807b6af7355c4432d22de5db1b1fa7c411d mixed-branch-index-common-sampled/current-1.txt +582ee296873ba244ec242bda5eed6fbfb8768531f43d3c4461cff3876b6e7298 mixed-branch-index-common-sampled/current-2.txt +b814568a9d64cc705aabec4da1014e1d1cca7e5bdcc43c9b5a5ad56647c9a91a mixed-branch-index-common-sampled/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-common-sampled/current.lock +6e8630a11e419f513cbbcc5f5748ebbdea2a3174d76dc0a149cc6465af5340d3 mixed-branch-index-common-sampled/harness.rs +92dd5769b68fc20e23f700ced2154f29ae545808936de1db2301e83019977306 mixed-branch-index-common-sampled/metadata.json +187f99b91e81d59e23f59e44427cecf804387ce37809db46f49a2cf09476aba8 mixed-branch-index-common-sampled/summary.json +dce6fc747bf4326f9bc186814eed8b1e739c19165debd648b1893e60c7794cd9 mixed-branch-index-concentrated-final-sampled/baseline-0.txt +b26b6f21c8e37bea5d5e683e2d27a3bca6340df5e8775f3021b8d4364be08d4c mixed-branch-index-concentrated-final-sampled/baseline-1.txt +a743b7745461e6c2a6ac7d9214aee5e51e6c1e16751175f10f9d762f2ed6351f mixed-branch-index-concentrated-final-sampled/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-concentrated-final-sampled/baseline.lock +767e7a9435450b15170ab22ed74d27c9c5ebff334299f3d504202bb2246b13bf mixed-branch-index-concentrated-final-sampled/criterion-SHA256SUMS +fcda15b1148976d00ef3327a787d197c07024bc51ab3e830c2e97650fa4e32c0 mixed-branch-index-concentrated-final-sampled/criterion-results.tar.gz +2657d8a8a437f51d50a7464366dc36e0edd6e2ebabddd623889410c415e1257e mixed-branch-index-concentrated-final-sampled/current-0.txt +1e6d23a97ccaab4b0c7374d4b5cf4c4b877cd43cf37458fe723c926b7a85076d mixed-branch-index-concentrated-final-sampled/current-1.txt +5c22f446826d4dd7ac9b47d1c666871e9da3c190d2c3332aa1b50b94517dafff mixed-branch-index-concentrated-final-sampled/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-concentrated-final-sampled/current.lock +b26bd311e201a068c0a5666373139419c11c955468e6eb72cb88a03356122b4c mixed-branch-index-concentrated-final-sampled/harness.rs +efc0b0c76c848541bcb2660583162de6cb855c751dec0e0e6c165619bd2add70 mixed-branch-index-concentrated-final-sampled/metadata.json +285b8c151cbeb518bad25c7ee839d6a9211dbac1420c54a52fd1ffcefe2422c1 mixed-branch-index-concentrated-final-sampled/summary.json +f4d6c76a96ae1e36c4f09542041bb34f67ca3afc9d26f4779933fd7fc7ff56e2 mixed-branch-index-concentrated-refined/baseline-0.txt +816b76c635cbd42680c77496f96746ab0497cc2a1e77ba34ef849b226f4a1a65 mixed-branch-index-concentrated-refined/baseline-1.txt +1662e621c8d36905c0c69d16bab36c0447a685a9a4979065c8a7e3687496499a mixed-branch-index-concentrated-refined/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-concentrated-refined/baseline.lock +d565aa18f6b842d1b07c3135832b0438dadbf8a9204b92ac085c6039a68ea95b mixed-branch-index-concentrated-refined/criterion-SHA256SUMS +f4b507792b57d988ee26d46216a84e3b5dbc3ceff1adebf4e6805c76f9344dab mixed-branch-index-concentrated-refined/criterion-results.tar.gz +ea5456e2f37c339c61c18d09e9f40f0f9c91d9906c87c797b39eab662f72c12a mixed-branch-index-concentrated-refined/current-0.txt +86393b94f192d2790ec3541e7ce158011ccff00fa34d59f32028ab96f771376f mixed-branch-index-concentrated-refined/current-1.txt +ded3738c98e986835a9bb319740e69f04b8b32adc8abf0fa55a8f7f778943eef mixed-branch-index-concentrated-refined/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-concentrated-refined/current.lock +b26bd311e201a068c0a5666373139419c11c955468e6eb72cb88a03356122b4c mixed-branch-index-concentrated-refined/harness.rs +be89411671bac41bf5edbe59ac83265f91b605752a0a2c2cbee29d0f55a8556c mixed-branch-index-concentrated-refined/metadata.json +31790356d528c85db0ce7f8cfb45798a5bed01fb80318c2dc1cacf93fe9668c6 mixed-branch-index-concentrated-refined/summary.json +e5e2cfc3fb6a1a67e1121743ed23b6368acf4ea8feec8c21b48dbc784c538e23 mixed-branch-index-concentrated-sampled/baseline-0.txt +a51a5fd6a840aea79de4e10a1eb4d14166e63d0bd13e638a17fab130325dab32 mixed-branch-index-concentrated-sampled/baseline-1.txt +3720737f2899ed75d8844529dc18dd5ce47cf8b31de82940d97009668da3b086 mixed-branch-index-concentrated-sampled/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-concentrated-sampled/baseline.lock +3bc623bef6e5cc9e32670e1204c3af1c13b5fcf6d363eb903e16d9f422f1c367 mixed-branch-index-concentrated-sampled/criterion-SHA256SUMS +bcf077c0c51f5b15a2ea59b354f1dacdfe58e269848a8bfa308a9176e5296f59 mixed-branch-index-concentrated-sampled/criterion-results.tar.gz +274bd965b4d81c19a8d8cbc100053682cc503c7b20dc65e7d881442dfb27bf20 mixed-branch-index-concentrated-sampled/current-0.txt +6dddee38b59c07f8814882928e23fce11831af4e5031ec48d50fb429b29591c4 mixed-branch-index-concentrated-sampled/current-1.txt +31fa279495238811389acee5d6585e00df77c4dd1b5d37f543ee99399033b72d mixed-branch-index-concentrated-sampled/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-concentrated-sampled/current.lock +b26bd311e201a068c0a5666373139419c11c955468e6eb72cb88a03356122b4c mixed-branch-index-concentrated-sampled/harness.rs +826099f9a0e5088cee69e38f5f070385a25af21e206409fc12d7568bdc637e49 mixed-branch-index-concentrated-sampled/metadata.json +f694da1f594dc4909f92e476e39940f6ce1646f586e8306a600d5325aeae4281 mixed-branch-index-concentrated-sampled/summary.json +8ce76a899c847a69da071df343d20d12d0167edf75d13192466f7c2d6c282b0a mixed-branch-index-controls/baseline-0.txt +df229b8e64a1e354de0f436d04a78b211584c6933c8fabbbb0a065074b9ab7ce mixed-branch-index-controls/baseline-1.txt +132082e2b87441f786cb7cfdcb1e2b77147c0d24b3e4b87d68243b258dbef3b1 mixed-branch-index-controls/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-controls/baseline.lock +10ed93e111d844e0f752bfd2ac8e3b8a63d0c84167a268a01b0f29b4d91b9737 mixed-branch-index-controls/criterion-SHA256SUMS +736f5828b6e9121ab992b6488ed079ea874ad9da1597fb94ec3020a5dd513206 mixed-branch-index-controls/criterion-results.tar.gz +c50342a03f3b544129946e65e85a62d6f3afb9092da7eaf6d45543e7ce0a937c mixed-branch-index-controls/current-0.txt +338dacd72918f7ce18c3467a62ce7128c6a4d2402f32b7f3f86f1fb61d343b5d mixed-branch-index-controls/current-1.txt +4559684b4f58d9f29f074626c9193f073cd4a06abec5c14ab9494385150b1c07 mixed-branch-index-controls/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-controls/current.lock +8658b758f04a242a5e1d612ab11f745d1b42afcf18ea7f91508ce2c0610c141f mixed-branch-index-controls/harness.rs +03bfa884d42b30d3dbe3d2d3bbd84758e1a3b5cc7f66eec5125e53c9204e46f5 mixed-branch-index-controls/metadata.json +f0606335f1e4112733d871425a0ddbb3b73e98b73bb5fb19114037e021e443e7 mixed-branch-index-controls/summary.json +1a80a76d8bde14267cf2de3e3a62685222e1b97d8a1a22c63b860703a0346f45 mixed-branch-index-controls-sampled/baseline-0.txt +75342054d9cefb373b02b966aa0f62fd95a915ccb02a3589168087583e1df0ba mixed-branch-index-controls-sampled/baseline-1.txt +1d7a060b15fb2ab98a55eaaec369d370dac0604a12dacc3ea73c86e7eafae420 mixed-branch-index-controls-sampled/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-controls-sampled/baseline.lock +a684916e66e0a7c4df2266b150fa1447033fb12606ac4f74f827b7ab3a918b6f mixed-branch-index-controls-sampled/criterion-SHA256SUMS +2908e68aed48030e2a32fa00355347f89d2d69b41351383a0f248021808544e1 mixed-branch-index-controls-sampled/criterion-results.tar.gz +28391de0b955127cd9266c81365852c1b41634ee1dfe5c2ee12de114c10604d8 mixed-branch-index-controls-sampled/current-0.txt +343ea848dc0931b95f0db4552a5fc03b39aac7ca507a4ecabef4b530cccf12c2 mixed-branch-index-controls-sampled/current-1.txt +fa67ad02e051a6458ba505b50d1cabfa1460655e74f369f9ac9830ffd998e913 mixed-branch-index-controls-sampled/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-controls-sampled/current.lock +7067c021cacb00e3c103199e251d788d69069fe7ebd286817854ae415701c3ee mixed-branch-index-controls-sampled/harness.rs +da28fd4657879ae1981177feafad6df423a7489ba7c81a74ea12b7797fca3482 mixed-branch-index-controls-sampled/metadata.json +cfee18fc57be021db86bbf389736a2765fcc547fbeaf73161495775be98e9d07 mixed-branch-index-controls-sampled/summary.json +7ee7fba311e2e14d9d100c8ecbd4f7e04503d21a3793857f132613e6498ebd08 mixed-branch-index-core/baseline-0.txt +b8f61046de01da1a21225600c63c74a6d2d0463677f77e50f206506860bd287a mixed-branch-index-core/baseline-1.txt +8e36021378561283837d6af454ddd08144e87b9298e8f417d7d8d80633803cdd mixed-branch-index-core/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-core/baseline.lock +6b08f3661ca784ade86d329f137de4c66a056c54b2dd365f14aca6e82bca6787 mixed-branch-index-core/criterion-SHA256SUMS +650caaf3bb9d3bf283fa0b366083ac3fc6903a285e9f9b001d2ed3951c872b80 mixed-branch-index-core/criterion-results.tar.gz +0d9b3ce021bf86fa0b612c0ad0501161c727b96766e67af3d077e5718dcd080a mixed-branch-index-core/current-0.txt +ceda86e26f7304bce0c843b6615938f39e4170ef567718c1f7317db2b20b62ff mixed-branch-index-core/current-1.txt +0fceddacd746f02cf0e29a367e8edfec7f7550b6f27a4b507d35849585f9b61f mixed-branch-index-core/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-core/current.lock +543d6b07b2f53e0773ee0c93580197fb497083e93cc525333a822770fa5372b9 mixed-branch-index-core/harness.rs +2f9779af0d89d466c919a437d0649beef87b0eac99cb3576194b0655a953b080 mixed-branch-index-core/metadata.json +7f2dc1d814616084fe1ed18b8c17a0d74ddf076e9ce177f7c5b67da5a45623ed mixed-branch-index-core/summary.json +6163c5dc0ca5beb7091e7758a38fed0fa357c122da2a47a9efa294db3f8d941c mixed-branch-index-core-sampled/baseline-0.txt +6b78cf5913159df0ea584c8d563fb1678bc9ce9a77ddfaf3ba12f4310492551e mixed-branch-index-core-sampled/baseline-1.txt +b2267c72f4a38b55867a3b2a4ba54e9e316fecc3fd6dfb0e22c091dd717cac40 mixed-branch-index-core-sampled/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-core-sampled/baseline.lock +12a4e25ab31b02535a310d803e9f0866a793dd4dab265ff883d745ef8d5bb2aa mixed-branch-index-core-sampled/criterion-SHA256SUMS +b465b8140ba793541f30af7f14dd4e1662edfcdd53e9875137629b186adcf45a mixed-branch-index-core-sampled/criterion-results.tar.gz +ccca41bd1bca3459b51ef9924f7cc6a7cb665cf425f1aeb32973ad3398b170e6 mixed-branch-index-core-sampled/current-0.txt +63186d546b3d20316e5ecab1f0be222c063128a80d1316af4578db963b01d842 mixed-branch-index-core-sampled/current-1.txt +1d3f80d69d26967f8d8f8259112ef1eaada9884645e01dcb5bdd9db4f48c97ed mixed-branch-index-core-sampled/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-core-sampled/current.lock +543d6b07b2f53e0773ee0c93580197fb497083e93cc525333a822770fa5372b9 mixed-branch-index-core-sampled/harness.rs +cd1c9f39c7162fe4059df207bbf279dfffb382eb76be22a8868bd0b8bc828fae mixed-branch-index-core-sampled/metadata.json +7766a29aff8d462f7c844a93293b4bb65a6ba2c5b65dda53a01b1b568f2e768b mixed-branch-index-core-sampled/summary.json +c9567d5edc6e45f189e713e22a651329202c6fb76c3d32cf3829fde5067dc006 mixed-branch-index-crossover/baseline-0.txt +b660d23b73ced4912fcb42cc5710c2a648c47f6d7bf7a580ac3d5e1b10a7173a mixed-branch-index-crossover/baseline-1.txt +2a51f816ecfad1748c7419d142f646d3436c916ac3453812c52fe46812efc35c mixed-branch-index-crossover/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-crossover/baseline.lock +8aedd950d3b0caca0e4b34aee3a9458b0e1db20ef967bf8381bffd35a44ba83b mixed-branch-index-crossover/criterion-SHA256SUMS +e5d50cc5a9b1431d263176c6524dd6c985ab1c2d9b6060f808f4194d7cf4175f mixed-branch-index-crossover/criterion-results.tar.gz +6d356ee20a74eb21c53ed04ce2ca3efe588fa3fe03fe1e66a35c6fe8e85bfcfe mixed-branch-index-crossover/current-0.txt +a4f8a3f3a8e9e9bd44c5469391b6b126194505c1d8d792c9b98832fdb27e6d4d mixed-branch-index-crossover/current-1.txt +9972da2afffb1b324a6c3f040f732fd204ea5b53f91927e245148a1440a4be6e mixed-branch-index-crossover/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-crossover/current.lock +9431d6f2c5dafbf80874bc40cfb5c8b5c0caabb53faf5b7cc2251cfb8b9c0611 mixed-branch-index-crossover/harness.rs +878532e4f6be663e43d7d43ce8715fad4d34fa45366722d9f259b121c2d7fda8 mixed-branch-index-crossover/metadata.json +2bb0804ffb71d69ff9ad9f47e748588b4a7b5d7bda1ea7e42654e2308a836f8b mixed-branch-index-crossover/summary.json +c2ca49bf8b1b167ab0c68e4f441848778c29e68d54bc35e553c779e1b29dccb2 mixed-branch-index-crossover-refined/baseline-0.txt +9a231063ba02a1542f12d8ce86fb36ee0db451fd6856f71897a54709269568e0 mixed-branch-index-crossover-refined/baseline-1.txt +469234a435be451266ddf92c3d5915a8610852c04fc9b4eb6e2d2b293a87716e mixed-branch-index-crossover-refined/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-crossover-refined/baseline.lock +54a4484376c710fa96a2d3f9cf77a6773a735dee02c5a9e24328e09b3b75141c mixed-branch-index-crossover-refined/criterion-SHA256SUMS +08576556e05e63a5cb973a51b5adbfe890e77efe0926fd4fb4ee2984fe6cc2da mixed-branch-index-crossover-refined/criterion-results.tar.gz +854a1c0e49349b01dd374653daa21490ccf6c70222acec57d753aca8d6195660 mixed-branch-index-crossover-refined/current-0.txt +0af24a10bcf001e948cbfcc87e6693c672e93dd579a8aae8dd5e7d714623f522 mixed-branch-index-crossover-refined/current-1.txt +e76d87544c651277e35e464766b5716910ffc6e112883631a19d15b3638c2efe mixed-branch-index-crossover-refined/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-crossover-refined/current.lock +9431d6f2c5dafbf80874bc40cfb5c8b5c0caabb53faf5b7cc2251cfb8b9c0611 mixed-branch-index-crossover-refined/harness.rs +be89411671bac41bf5edbe59ac83265f91b605752a0a2c2cbee29d0f55a8556c mixed-branch-index-crossover-refined/metadata.json +36cf4f042b81b7860537eac279b05a766a8befdc31de1a22f31135eafc1fbbba mixed-branch-index-crossover-refined/summary.json +1e8c3cdcfc1f8ac11756539d6fc749a4b5f1435e9aad6f1066cf3a5656886478 mixed-branch-index-crossover-sampled/baseline-0.txt +b9f41775e0058203475afde316cc79613a82ed50a0c5e41fdc12f9e1a6f57363 mixed-branch-index-crossover-sampled/baseline-1.txt +72d06f810209afb28c52216fd3634a3d8aaeac4d7006be9313ca5b5539c24b67 mixed-branch-index-crossover-sampled/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-crossover-sampled/baseline.lock +23eda7797c33888f9cbf4f26658ff6bbb60890a174e1ce8820eba16911ccd7e1 mixed-branch-index-crossover-sampled/criterion-SHA256SUMS +c3f2e620657d552f6fbe80e21f27721e95636e603619a73794733c27653c18c5 mixed-branch-index-crossover-sampled/criterion-results.tar.gz +8c7495c836008a85d9c7c9f5db40d7a9fddfb48fba42a7d93036880fb5ddfb24 mixed-branch-index-crossover-sampled/current-0.txt +4d377f6d9dd63269f91c2b197ebc2ebba2c5fce7d606b76698f943261663d0d2 mixed-branch-index-crossover-sampled/current-1.txt +7d3fa25c3381458a36e80a05172608a8fbd344ad463d25b4e3e5ebcffb88c9cd mixed-branch-index-crossover-sampled/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-crossover-sampled/current.lock +9431d6f2c5dafbf80874bc40cfb5c8b5c0caabb53faf5b7cc2251cfb8b9c0611 mixed-branch-index-crossover-sampled/harness.rs +efc0b0c76c848541bcb2660583162de6cb855c751dec0e0e6c165619bd2add70 mixed-branch-index-crossover-sampled/metadata.json +d11f9886f9f8bb1bcb7ec0f742665d9dd51f89b47878ed64b91b039f020378d0 mixed-branch-index-crossover-sampled/summary.json +646fb70f1042c7111981fdd15f8e2ccf9d677945e2b138a53a3d17e811bb78ba mixed-branch-index-final/baseline-0.txt +4a3dacb6bc2289493e2fcc2833e1b525dec932418ff36df85214f16963614f9f mixed-branch-index-final/baseline-1.txt +f8f778409a1a97944605cac45f4c4a55aa577304e3a401522ac141a4035dce36 mixed-branch-index-final/baseline-2.txt +ce76d360a050cd7f0aeace500a56ec6b89d1c02339f1d89e5b607b627578a512 mixed-branch-index-final/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-final/baseline.lock +72f3985e37cd0e86efd55ce2b6957b1a0e93ced1c9ffadfeac60a48f79b55b40 mixed-branch-index-final/criterion-SHA256SUMS +b6119226dbbe82b05a4f32dd564f85c40b9bf231d84198c0f80086b66a68fff3 mixed-branch-index-final/criterion-results.tar.gz +0a87c832294e75c0a81677b26126f2db92fccb46f6b60d984d49b17f3954db60 mixed-branch-index-final/current-0.txt +3fca61c6885a4022af11ac2f8c013df5247b2b0801ed34d4b8a062edca520063 mixed-branch-index-final/current-1.txt +99b9378d46209dc7bae0cd80bc577ca944aa01d37a084320c7db56e10d566b0c mixed-branch-index-final/current-2.txt +68bc0cd99e77969e2eb95448358c73da5cd5bfddfbe094673896e982d2ec7840 mixed-branch-index-final/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-final/current.lock +8658b758f04a242a5e1d612ab11f745d1b42afcf18ea7f91508ce2c0610c141f mixed-branch-index-final/harness.rs +01976393638a666aaa57dd27da01747b33735b668e7f88ae0cad0156c0a4980e mixed-branch-index-final/metadata.json +7d94d0d35301e13872b4507167ff59caf4dc076d043036bb335e02fb92689a6b mixed-branch-index-final/summary.json +fff8f80bd3231a9a44d17371c6c9d52ecae257bbd45ab295fabadcd95d4c5970 mixed-branch-index-final-sampled/baseline-0.txt +eb00a78048834ead54bc23ad6120d0c65f32bd5c726fcea14a7580a8e13fa944 mixed-branch-index-final-sampled/baseline-1.txt +82c8e5823fbf432978fcd61acd7be77f2f3e4ac42acbd5a8734be2dcb4db663e mixed-branch-index-final-sampled/baseline-2.txt +ac29d8552432b37d7c34975e110260e2558af54cec7621c1baf99967985a9b7a mixed-branch-index-final-sampled/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-final-sampled/baseline.lock +aee3295b2b0b80008a43ae736a1dc8b9bd6f3e3a1a1702ed525dde528e74752a mixed-branch-index-final-sampled/criterion-SHA256SUMS +b579f7153953a012c03937f79004955ec0a4cc7793345dacb583108911340e56 mixed-branch-index-final-sampled/criterion-results.tar.gz +3b6e3acf3cf2b23fd43b0c06566e977601b15d794eb8fcf299029ab6c9e2bf5b mixed-branch-index-final-sampled/current-0.txt +8b9620bee6d37a326709ccd233b56d3cb4b0493b2f7a1b024df94ccdafca104b mixed-branch-index-final-sampled/current-1.txt +2566d3c190ee0506b08444a32eba5b11e64f44cb1409d41d36e9a6f80399a43c mixed-branch-index-final-sampled/current-2.txt +39127b7094a19b4ed215041c6cd76fe1ff1f75ea262adf4915289d28d17e4b9f mixed-branch-index-final-sampled/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-final-sampled/current.lock +7067c021cacb00e3c103199e251d788d69069fe7ebd286817854ae415701c3ee mixed-branch-index-final-sampled/harness.rs +54cd3b33759e6dad28fb003ad5caf355a9034c38b8527e393f831370b5949b5c mixed-branch-index-final-sampled/metadata.json +f79ab144b5939bf536ed502e7d87189c91a07900035bf4ace1c4e36ee8be525c mixed-branch-index-final-sampled/summary.json +452097c3c11bc52ebfdb7605c441d6eabd348c495ac413161f639394e9cb30de mixed-branch-index-power-two/baseline-0.txt +9d635a07267ac441688a9e59e3cea26ed6b513fce4736378977a513cb29ea9ce mixed-branch-index-power-two/baseline-1.txt +2b5a54bcf48e4ddc0acd2289a1b38d5636be426740a019631744a94b5abea961 mixed-branch-index-power-two/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-power-two/baseline.lock +4d902e3dc0e5cecd5ea0a814ddbfd311a064f8a3ad6bf7b07afe600d687cc115 mixed-branch-index-power-two/criterion-SHA256SUMS +8f5f44a21af6c0062b1805a7abe790180d51fcec8d28525f3009a7e0fcdd7afe mixed-branch-index-power-two/criterion-results.tar.gz +252850e272adae2a1c1a40da8efb4a646387bb314a40ae1a7b1906575e6f7460 mixed-branch-index-power-two/current-0.txt +f680c9d5cffbfc167c7ac6f6ab8815cc1dbccd6a62d4f73fe4ac9ccc303a6311 mixed-branch-index-power-two/current-1.txt +757dc176cc2804707a74d6d13521d0026de92b455cbafa74721b5f6fd13729ae mixed-branch-index-power-two/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-power-two/current.lock +a4847c9c82cc8234e2a04203ac5d67045d1e61f142f61f8b4f590d13d2210ef6 mixed-branch-index-power-two/harness.rs +efc0b0c76c848541bcb2660583162de6cb855c751dec0e0e6c165619bd2add70 mixed-branch-index-power-two/metadata.json +724a1f41ec45dd7a65235500362d1ee3a63f8c5f4b34116476aa932752870944 mixed-branch-index-power-two/summary.json +61c9ca8760b9abd7a52a6af378e3c39349eba0cd58d701f02c86cb58f9f5771c mixed-branch-index-screen/baseline-0.txt +9619eb3305bd6716e9d4b8994aea1cd9ea7eb12dd6724413dea086b0192911ef mixed-branch-index-screen/baseline-1.txt +365acfbc89777bb1d46b757e413f762e9fb30cfc1f6462fb374c2ca58bd63b39 mixed-branch-index-screen/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-screen/baseline.lock +734e0c3864cc11a5300c1790e9e8640277b210cdf6ef050989b28663836976c9 mixed-branch-index-screen/criterion-SHA256SUMS +5b8de6ab9fb013f4bf55171912ef93e7a3ee68d9db14609e5e5bab18a5a36ea7 mixed-branch-index-screen/criterion-results.tar.gz +7198ec52394bda477f93df053b75d11b6ff8c96be70f89f2449c3aa6f145380f mixed-branch-index-screen/current-0.txt +a99c1bf3415045bfcd72b5756548c2d0efcefb0ef99e79273199309ab8d1b186 mixed-branch-index-screen/current-1.txt +e91780414881eec2b8fe92d2d191a13570be94c48ef6addc341f5cc4df744e47 mixed-branch-index-screen/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-screen/current.lock +8658b758f04a242a5e1d612ab11f745d1b42afcf18ea7f91508ce2c0610c141f mixed-branch-index-screen/harness.rs +d1f96a9741435d7639269d90685ffcaca4ee4fff486944987ba63d7daa7e84a4 mixed-branch-index-screen/metadata.json +a89f51901251644e2c316a31fe6aaea149fb3a3fad3dcb8a996f1353c8c7a78b mixed-branch-index-screen/summary.json +1e2591ade5201c696d22494871caa4acdb0dacc358ed5524d42859072ceb5236 mixed-branch-index-text-large/baseline-0.txt +272038b3b5f2339a0c35a656f1b020ac02a064b85fe3bc02c99d2091c9ce35f6 mixed-branch-index-text-large/baseline-1.txt +2aeed71e86bab0bddf35e721214261cd05333383e394180ba440367ece045d79 mixed-branch-index-text-large/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-text-large/baseline.lock +d9e5d5cd0e485068be26f1e98f16430fd4d8eb3597609bc6d66c4b9780d8777f mixed-branch-index-text-large/criterion-SHA256SUMS +a5d274c008b3c0edec867453d2e3cc58638c2c1686800bc48f1f43ae414ee689 mixed-branch-index-text-large/criterion-results.tar.gz +c54cd0fb2a17c7bc1b710a784e014bf8f48c348a27cb917adbbe4943d313ec48 mixed-branch-index-text-large/current-0.txt +f189e0ef07a079264802a27ce9edda9ef02b311793b673cd367d0ce1812ce6fb mixed-branch-index-text-large/current-1.txt +e31710ddd6c466cea5afdfcb3d73f94489120ca8d812a76e78ad4d361c1625cb mixed-branch-index-text-large/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-branch-index-text-large/current.lock +d172104ffdbb2b41126fd9f7ad7ae30f5820938353c34798c3401f998bbdac18 mixed-branch-index-text-large/harness.rs +d64558c783f4fd9b37b4535c8527aa2466712cf14c24c5903dc4b098f35b80cd mixed-branch-index-text-large/metadata.json +a6dd9bc72874745ade2e39bc41af93ec29111bb7e4db981102eac909cac3bbd0 mixed-branch-index-text-large/summary.json +3a034724545c79dbe05855b0bc451f4235720e70385b1fb3250f48bc6e942bbd mixed-index-gate-sampled.log +8be12166ce8970c079e89ce2b3eaa28b9bdd613eb9e6edde73282ab9e77b470e mixed-index-gate.log +13f04962fca9e14206f1442e05dcf08e5600e8aecdb0944300ee32fac7d68b10 mixed-index-tests.log +2f4729e187233eeeb5a7ed025e691f92b3631ec4fe7d60bf12945a42a1415e87 mixed-nil-cold-pinned-scalar/affinity-probe.json +ab2205ac865fe8ba4b28981e0abd743d278a2ef2a0e9325d9350e34dba417640 mixed-nil-cold-pinned-scalar/baseline-0.txt +0e92022930cb6e6e449d352e1797a13a60767f0d60fb9f9b427d6b3246f75dbd mixed-nil-cold-pinned-scalar/baseline-1.txt +a085f0e255a08359e3075f44256c9f5e472a34780d28b2e10f6bcc6ee1fb0c68 mixed-nil-cold-pinned-scalar/baseline-2.txt +7b70ba92f8d64ca135d0336f7fcbc13333cc48dd9f4cf4fda5174df64c32d645 mixed-nil-cold-pinned-scalar/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-nil-cold-pinned-scalar/baseline.lock +191f7965aa07212f21deb0c61aa03b49c8ec0e87f52218946ef25996696a7f18 mixed-nil-cold-pinned-scalar/criterion-SHA256SUMS +ae83903268dfa853990eb3f776abe75c01b9f4292d4189c87a31c3ad7beaa826 mixed-nil-cold-pinned-scalar/criterion-results.tar.gz +a33333a344da8a6148b5d34c049f925ca0ccaf9d5b4727b6d2b9ac99a6a168f5 mixed-nil-cold-pinned-scalar/current-0.txt +cbe1a2cfbe75a43da8517e24fa0bc27582cbec400893cb6e3a9f72733548a511 mixed-nil-cold-pinned-scalar/current-1.txt +4be5d812af426bf531dbb7299aacd15adbc0963910294672b8e7148a89885efc mixed-nil-cold-pinned-scalar/current-2.txt +cc8fd88b5a45f3b59023b39a373fe8ce85cc4f12a93c872833a46d915da024f1 mixed-nil-cold-pinned-scalar/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-nil-cold-pinned-scalar/current.lock +6e8630a11e419f513cbbcc5f5748ebbdea2a3174d76dc0a149cc6465af5340d3 mixed-nil-cold-pinned-scalar/harness.rs +45b27b08d90c8fb0e16ff503b58c9846d5bdf54c74af7f5d60844ba073eb159e mixed-nil-cold-pinned-scalar/metadata.json +6e10b823dc43ca322baaade3aca83aee77d0fa2fdbe925987f3c4cd69ef7240c mixed-nil-cold-pinned-scalar/summary.json +39baa3b6eedb33fda8178783787f8d5af955bbc6386de22513958a1e8561f192 mixed-nil-cold-screen/baseline-0.txt +92a223435a79b0ce9eda0f0789783f781b94465ccee3bbd11fb4eb5a72b7f40b mixed-nil-cold-screen/baseline-1.txt +fb252d9567f7dcbb80cd7a6f94bbf7a3a6f2ad2369cacd15bcc7442f6ae1e9f8 mixed-nil-cold-screen/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-nil-cold-screen/baseline.lock +44a9616084bbe7b16da2c638da066b3b0590960a2ee960af9085f48f005dcb8f mixed-nil-cold-screen/criterion-SHA256SUMS +8ea3935cd6561412898cdf6411153078b4af6f0cc38deb1be1e7016e69af2cd3 mixed-nil-cold-screen/criterion-results.tar.gz +48dcf289fad47362ebff023d72ca1c239e59b1fbb953a04bf3d50f26fe8ec4e9 mixed-nil-cold-screen/current-0.txt +257e4662bd403d50aa749f17478ec1246010ce828772bdc9f462c1239197b212 mixed-nil-cold-screen/current-1.txt +ac45155b7e24a97a02270eaabb70c544e782b2e238438a55b7ff3b5a5482051e mixed-nil-cold-screen/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-nil-cold-screen/current.lock +6e8630a11e419f513cbbcc5f5748ebbdea2a3174d76dc0a149cc6465af5340d3 mixed-nil-cold-screen/harness.rs +03009876c0cadced76ca38f8320e486eb78cd85e6557c106917c9ae4830149dc mixed-nil-cold-screen/metadata.json +8e9fa4f12167b7ec154eee07d83ff3cfd2b35347f6e6df5758562c80e9c87975 mixed-nil-cold-screen/summary.json +f0e0105cff54edd934b39f32fafa6ebd332222dc5d8b6aeb5bc087ae3597a2ab mixed-nil-final/baseline-0.txt +3b3f96d67a1d7c54b750d9653a5b21db2a106b7b440f8787f8200e73db251919 mixed-nil-final/baseline-1.txt +4a5360391d6f2f387d386f6e05f737c73cdf6043f74ab2b5f340a59a0b3e38ec mixed-nil-final/baseline-2.txt +55fdb49e670db4af2550243e91b4e74d982546d2010f73040b4d2dcfe49d9951 mixed-nil-final/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-nil-final/baseline.lock +1d1ecfd8ad60670ba2df92f0046cf11c9a114ab68ab80ab4873597f165ee438a mixed-nil-final/criterion-SHA256SUMS +82977537e5c00f157b797a565f0fc3b687c4001287cd2b682c3f02e29c6221b6 mixed-nil-final/criterion-results.tar.gz +c578ba2413ff18eb5d4b1cd9af7100e7ed7f64cf0a773c64acb2778611ab5f34 mixed-nil-final/current-0.txt +21920278654fedea7f6f1cc8e2cbed144f36ba13b3878fd68fae341e80970cc6 mixed-nil-final/current-1.txt +357b8cde2631d75166bc35c8dc7b0733b39ee624b27141d9ac2d02e3025f0c44 mixed-nil-final/current-2.txt +f5fd943a7204a72534f02e67c12d00c8b8a60582326bab728bb02ebecaaa1161 mixed-nil-final/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-nil-final/current.lock +6e8630a11e419f513cbbcc5f5748ebbdea2a3174d76dc0a149cc6465af5340d3 mixed-nil-final/harness.rs +da8802db697e81f56c16e00abe91558499b6194d53f971b46c1b8930e8b2be20 mixed-nil-final/metadata.json +24469eb2bc143603791a0c9faf92a7f95ed9dcedd5eaceb91da20f5f7cc67562 mixed-nil-final/summary.json +eca496cd6c0a2a62bdf7967bb4c4ce670ecee09b817563cbc3f1eaa777dc4520 mixed-nil-instructions/baseline-Cargo.lock +47b230943f58086606fb049fd84816e357b67d186249c9fe5d0b2a77613722bc mixed-nil-instructions/baseline-Cargo.toml +1110cfcd4ad61a1f1bf145b151dab0272bdcccae742fbed1ad1abe7701a6b1bb mixed-nil-instructions/baseline-build.txt +f266a4110df758773046f9f23b943a8f8607238c23d12a30e84b1ce8152a30b9 mixed-nil-instructions/baseline-harness.rs +9d4c4455c2669e549062f4cbd79c2a92ec09efa7245439faac8f92e0bc1ec208 mixed-nil-instructions/baseline-metadata.json +45325a2c407d07f14a9869bfe3148edf3ed9a92a6784314b6aaac29038dbf4be mixed-nil-instructions/baseline-pattern-annotated.txt +40fd5e7a4649573bfd90f58e1792d21c58b4c48357cc671f40fdc22cd731eaaa mixed-nil-instructions/baseline-pattern-valgrind.txt +22fa49c84096a6c56b5f21c7bc1e5ac3022221bc4f752d8312b8356624d77519 mixed-nil-instructions/baseline-pattern.callgrind +b8e6a9ec85518ccd552cd6b8c9e18b0c2a919a20ae365c65ff16fb92ec11b27b mixed-nil-instructions/baseline-scalar-annotated.txt +aea436603f97d44ec6da077b7f6187b8d97c0a3ecab6c5f0872996a73dd2711c mixed-nil-instructions/baseline-scalar-valgrind.txt +cafc4f5eec5e1317a5a2685c2cc698f955fe8db5caf08eb87fe14286a4f8c2d3 mixed-nil-instructions/baseline-scalar.callgrind +eca496cd6c0a2a62bdf7967bb4c4ce670ecee09b817563cbc3f1eaa777dc4520 mixed-nil-instructions/current-Cargo.lock +91fd99fc32ad2976b08864f6fd45eaead37854c764719719fd834c5b95ca6858 mixed-nil-instructions/current-Cargo.toml +4f7be1313bf9ac700d217571827d94226054165f1846f40c13caa50d5233264f mixed-nil-instructions/current-build.txt +f266a4110df758773046f9f23b943a8f8607238c23d12a30e84b1ce8152a30b9 mixed-nil-instructions/current-harness.rs +3264baa4c87420b7fb69ef225b55f2ce8de0211fab5199b47bbc619fdfe5e952 mixed-nil-instructions/current-metadata.json +c5b46f20072bb279a75181c79b74cb23c2586fe23a69a0bd15b1a8491e4ff8f4 mixed-nil-instructions/current-pattern-annotated.txt +0dee86fbcf3b8901b5fb9842cd16e32d84e6b9af76cba8aa5bc2e3090104a66a mixed-nil-instructions/current-pattern-valgrind.txt +0fee13d71c281d8a74391e88aca63c6aba630f36b9dc06f6f2045ebca1fc177e mixed-nil-instructions/current-pattern.callgrind +3ccf68b84950aa8d7064e17b19ba55ad421b73281a642f5f4b88983d2bcad542 mixed-nil-instructions/current-scalar-annotated.txt +d7e8d1f5b85bbbe61a1c14ed85765c19132e2fe53af87133fad3c30a79fc51b4 mixed-nil-instructions/current-scalar-valgrind.txt +19afe75cf1979b7be99126f47461c52eb186fee02be33ae52ad6307a97b63f7b mixed-nil-instructions/current-scalar.callgrind +eca496cd6c0a2a62bdf7967bb4c4ce670ecee09b817563cbc3f1eaa777dc4520 mixed-nil-instructions-empty-profile/baseline-Cargo.lock +47b230943f58086606fb049fd84816e357b67d186249c9fe5d0b2a77613722bc mixed-nil-instructions-empty-profile/baseline-Cargo.toml +021d0eed8efd5cc4f6d617d00d64e9c171ec27ddea89770c145f65815d931953 mixed-nil-instructions-empty-profile/baseline-build.txt +976648343a877ed5e7e05aed7b1d9ca21eb5dd1691cc4fe14db134d48ccea6fd mixed-nil-instructions-empty-profile/baseline-harness.rs +9d4c4455c2669e549062f4cbd79c2a92ec09efa7245439faac8f92e0bc1ec208 mixed-nil-instructions-empty-profile/baseline-metadata.json +1165684a43bab340f3432683f85afbe1c2487f9a64787c05550873b277bd93da mixed-nil-instructions-empty-profile/baseline-pattern-annotated.txt +aadbbee3a8c2733abc586976e75c782b3a5394caa53bcb8077bd3acdcae46631 mixed-nil-instructions-empty-profile/baseline-pattern-valgrind.txt +3b4042fbb329ed5b38ead217540827c165ea34f1156fc94da2c604d5af902f19 mixed-nil-instructions-empty-profile/baseline-pattern.callgrind +f23ab5f0da4f40577e3b4d8f3cfb0010063671614afd2425ad343a670924d613 mixed-nil-instructions-empty-profile/baseline-scalar-annotated.txt +8a6668eedaaaf8fa514d07af06af21ba9f720ef1fc1998ce154e5c77b66674d1 mixed-nil-instructions-empty-profile/baseline-scalar-valgrind.txt +53715aaa7e64009f24b3b8fd203d462d3ebf96dedda84ddf001b600c2ce9bf13 mixed-nil-instructions-empty-profile/baseline-scalar.callgrind +eca496cd6c0a2a62bdf7967bb4c4ce670ecee09b817563cbc3f1eaa777dc4520 mixed-nil-instructions-empty-profile/current-Cargo.lock +91fd99fc32ad2976b08864f6fd45eaead37854c764719719fd834c5b95ca6858 mixed-nil-instructions-empty-profile/current-Cargo.toml +40e012547e4cc3334c0daf637166638374654674d311e6c5b0d035b523a3e720 mixed-nil-instructions-empty-profile/current-build.txt +976648343a877ed5e7e05aed7b1d9ca21eb5dd1691cc4fe14db134d48ccea6fd mixed-nil-instructions-empty-profile/current-harness.rs +3264baa4c87420b7fb69ef225b55f2ce8de0211fab5199b47bbc619fdfe5e952 mixed-nil-instructions-empty-profile/current-metadata.json +05100b611d82ae44ad83a321b8262d1860d7910581876fb0e561049939518346 mixed-nil-instructions-empty-profile/current-pattern-annotated.txt +acc933dda05c90cb321b9719bcb30c05acf782c7540666b25fea8ddec6142e67 mixed-nil-instructions-empty-profile/current-pattern-valgrind.txt +62ea7d1787b34a1e377715de07943d53bde4f1cf018c4f53fbdf0f12ca73e9f0 mixed-nil-instructions-empty-profile/current-pattern.callgrind +7a48c1910551ef62d572c80b33238f4dd7c4320f4e92cb0d4b951a026837898c mixed-nil-instructions-empty-profile/current-scalar-annotated.txt +d168eb447d0a3e0e4f81782348d5a6b3c4076336de5722fc56762e38bb6895d0 mixed-nil-instructions-empty-profile/current-scalar-valgrind.txt +4408d138ae5ff1d2586e103702554f8a51c252584dbe51cd64e6b07b3df532e7 mixed-nil-instructions-empty-profile/current-scalar.callgrind +f1d214e1fd79b010a5d348efc04dd63410ec0da36af101b0e95cd63fe8dd4039 mixed-nil-screen/baseline-0.txt +ef300145186f44207aeae761b2c02530e55dbc85ad98b38954263d21389fd921 mixed-nil-screen/baseline-1.txt +8605605cfc169e64bb980cf18db149aab6cd60b75de8055e9aac874afaf6ce17 mixed-nil-screen/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-nil-screen/baseline.lock +afe07c5f7761bd90a804939eca4992d1776fc2f4f8b4780ff3babf8140dc3dc2 mixed-nil-screen/criterion-SHA256SUMS +b8aeab52c782b240da9e9276bb5d4aabfebdffbe260409ac21a5cbe72148dc78 mixed-nil-screen/criterion-results.tar.gz +d97f713f66be4afe172a1aef8f29d4a0e56e109a4ff5689cd437894ec3153bf8 mixed-nil-screen/current-0.txt +f0b6efa83b83eba03bf4acdcc2df0be340551d791c6add2bce286fa4403bf582 mixed-nil-screen/current-1.txt +d3e0bbc8a7ad46d5ab83a567f5e4b8f92148a78fa1e2e44be8880cadf9897c56 mixed-nil-screen/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-nil-screen/current.lock +6e8630a11e419f513cbbcc5f5748ebbdea2a3174d76dc0a149cc6465af5340d3 mixed-nil-screen/harness.rs +8e27e3a4f605b5b2b7d9c1f4f4bb97ca0ac55cd68e16365b5446203da0a62113 mixed-nil-screen/metadata.json +e3b1ae71696b5b005eb3dd6136d70d4a5cdb3490d3a673918fd89f21948514d7 mixed-nil-screen/summary.json +09f54b5a5d6dc3c5187dbe8aca8372cbd8917ab9f24dd1839e990be0602f8382 mixed-writer-isolated-tests.log +f4886d0704230376ce8403f338aceb45f20424daaafd335da909956c6c1fea8b mixed-writer-isolation-screen/baseline-0.txt +0f73eb665f9ef0f79fe6dff260283ca8ba5465eedc0eed04ad9f87acf1fc826f mixed-writer-isolation-screen/baseline-1.txt +793d8a3ab227ee5c5ac0f91a1c1511ab77beaaca46334977035d94afa4e264f5 mixed-writer-isolation-screen/baseline-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-writer-isolation-screen/baseline.lock +f456404d4bcd0d6960fcd24429791dd9db2c1cfcc361157d1c7132dd640108e9 mixed-writer-isolation-screen/criterion-SHA256SUMS +56c747b8485089d38e262c0864cdca7735b40e128102f3c2e57987de97b65d69 mixed-writer-isolation-screen/criterion-results.tar.gz +57242320404839b783327ed76001ff241246df05c58b008b934b787421250b08 mixed-writer-isolation-screen/current-0.txt +4435a6db9de4118bea4c92c5631994795e48c05b58ce22f0da831a6877256e44 mixed-writer-isolation-screen/current-1.txt +1ec4cbeeaa1de7745e3873013f7e153c220a528d814025abce2beb17ce9fe16f mixed-writer-isolation-screen/current-build.txt +a73a0247ac41e366eb762eb403780712b9132618b99e02b49fe6ded9862f65c5 mixed-writer-isolation-screen/current.lock +6e8630a11e419f513cbbcc5f5748ebbdea2a3174d76dc0a149cc6465af5340d3 mixed-writer-isolation-screen/harness.rs +9079bf8c9883ce07e0dd9c2bfa92ebbee6c61ce7c38f607d274fdbe69d71503c mixed-writer-isolation-screen/metadata.json +1d817063597afbeb399c054809f1b0839d08c4b873c387e3a12a745ce0b4a32e mixed-writer-isolation-screen/summary.json +a76e000ad3d29edcef0acbf6f4a3f626859df52c9a9ba36f10f45416d758c0ae mixed-writer-tests.log +4804f085f797226701bc77324351d4179535aecd9116d3f347a2b11dce616926 polyxml-branch-allocations.py.txt +047641e36b12fef12edcfcf713c6d94963bd73059b76506cc4868f0c35276173 polyxml-mixed-index-verify-sampled.sh.txt +2adac65356662ee2b861aa532fd7147cc28f7c9193ee867146d5655ac6642cb3 polyxml-mixed-index-verify.sh.txt +824fa0051f390217c806355718a03acd78b3f01111f0d788f465cae496df5e19 polyxml-profile-mixed.py.txt +e0ec4e30d480406f59e1be3a866de355feae4a5b7f296a6fa0473444dad04240 sampled-selector.patch +6a1b7b638d33448e7a687a3a5260a971579861aa09be91a6ce77361294d49739 scaled-trigger.patch diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/archive-criterion.py.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/archive-criterion.py.txt new file mode 100644 index 0000000..e92f73c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/archive-criterion.py.txt @@ -0,0 +1,26 @@ +from pathlib import Path +import gzip,hashlib,re,shutil,sys,tarfile +root=Path(sys.argv[1]) +original=dict(line.split(' ',1)[::-1] for line in (root/'SHA256SUMS').read_text().splitlines()) +for dataset in sorted(root.iterdir()): + if not dataset.is_dir(): continue + directories=sorted(p for p in dataset.iterdir() if p.is_dir() and re.fullmatch(r'(baseline|current)-[0-9]+',p.name)) + if not directories: continue + archive=dataset/'criterion-results.tar.gz' + assert not archive.exists(),archive + files=sorted(p for directory in directories for p in directory.rglob('*') if p.is_file()) + expected={str(p.relative_to(dataset)):hashlib.sha256(p.read_bytes()).hexdigest() for p in files} + for path in files: + assert original[str(path.relative_to(root))]==expected[str(path.relative_to(dataset))],path + with archive.open('wb') as output,gzip.GzipFile(filename='',mode='wb',fileobj=output,mtime=0) as compressed,tarfile.open(fileobj=compressed,mode='w') as tar: + for path in files: + info=tar.gettarinfo(str(path),arcname=str(path.relative_to(dataset))) + info.mtime=0;info.uid=0;info.gid=0;info.uname='';info.gname='' + with path.open('rb') as source:tar.addfile(info,source) + with tarfile.open(archive,'r:gz') as tar: + observed={member.name:hashlib.sha256(tar.extractfile(member).read()).hexdigest() for member in tar.getmembers() if member.isfile()} + assert observed==expected,archive + (dataset/'criterion-SHA256SUMS').write_text(''.join(digest+' '+name+'\n' for name,digest in expected.items())) + for directory in directories:shutil.rmtree(directory) + print(dataset.name,len(files)) +(root/'SHA256SUMS').write_text(''.join(hashlib.sha256(p.read_bytes()).hexdigest()+' '+str(p.relative_to(root))+'\n' for p in sorted(root.rglob('*')) if p.is_file() and p!=root/'SHA256SUMS')) diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/branch-index.patch b/research/data/runtime-followups-2026-10-03/mixed-writer/branch-index.patch new file mode 100644 index 0000000..c125578 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/branch-index.patch @@ -0,0 +1,501 @@ +diff --git a/crates/polyxml-core/src/serializer.rs b/crates/polyxml-core/src/serializer.rs +index f68ba99..3f19b9c 100644 +--- a/crates/polyxml-core/src/serializer.rs ++++ b/crates/polyxml-core/src/serializer.rs +@@ -523,93 +523,7 @@ impl XmlSerializer { + if let Some(PolyValue::List(items)) = + get_field(mixed.items_index, &schema.fields[mixed.items_index].name) + { +- for item in items { +- let tagged_field = |name: &str| -> Option<&PolyValue> { +- match item { +- PolyValue::Object(tagged) => tagged.get(name), +- PolyValue::Record { schema, values } => schema +- .fields +- .iter() +- .position(|field| field.name == name) +- .and_then(|idx| values.get(idx)) +- .and_then(Option::as_ref), +- _ => None, +- } +- }; +- let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { +- return Err(PolyXmlError::SerializationError( +- "Mixed content item has no kind".into(), +- )); +- }; +- let Some(content) = tagged_field("value") else { +- return Err(PolyXmlError::SerializationError( +- "Mixed content item has no value".into(), +- )); +- }; +- if kind == "#text" { +- let Some(text) = content.as_str() else { +- return Err(PolyXmlError::SerializationError( +- "Mixed text item must be a string".into(), +- )); +- }; +- writer +- .write_event(Event::Text(BytesText::new(text))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- continue; +- } +- let Some(branch) = mixed +- .branches +- .iter() +- .find(|branch| branch.variant_name == kind) +- else { +- return Err(PolyXmlError::SerializationError(format!( +- "Unknown mixed content kind: {kind}" +- ))); +- }; +- let local_name = std::str::from_utf8(&branch.xml_name)?; +- let qualified = if let Some(ctx) = ns_ctx { +- ctx.qualify_element( +- local_name, +- branch.namespace.as_deref().or(schema.namespace.as_deref()), +- ) +- } else { +- Cow::Borrowed(local_name) +- }; +- match &branch.val_type { +- ValueType::Scalar(_) => { +- let mut buf = [0u8; lexical_core::BUFFER_SIZE]; +- let Some(text) = Self::format_scalar_to(content, &mut buf) else { +- return Err(PolyXmlError::SerializationError(format!( +- "Invalid mixed content value for {kind}" +- ))); +- }; +- Self::validate_scalar(&branch.val_type, &text, kind)?; +- writer +- .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- writer +- .write_event(Event::Text(BytesText::new(&text))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- writer +- .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- } +- ValueType::Nested(nested) => Self::write_model( +- writer, +- &branch.xml_name, +- content, +- nested, +- ns_ctx, +- false, +- branch.namespace.as_deref().or(nested.namespace.as_deref()), +- )?, +- ValueType::List(_) => { +- return Err(PolyXmlError::SerializationError( +- "Nested lists are invalid mixed content branches".into(), +- )) +- } +- } +- } ++ Self::write_mixed_items(writer, items, schema, mixed, ns_ctx)?; + } + } else { + for (idx, field) in schema.fields.iter().enumerate() { +@@ -759,6 +673,160 @@ impl XmlSerializer { + Ok(()) + } + ++ fn write_mixed_items( ++ writer: &mut Writer, ++ items: &[PolyValue], ++ schema: &ModelSchema, ++ mixed: &crate::schema::MixedContentSchema, ++ ns_ctx: Option<&NamespaceContext>, ++ ) -> Result<()> { ++ // Amortize the temporary index only for sufficiently large schemas and ++ // repeated payloads. References avoid cloning keys or branch metadata. ++ if mixed.branches.len() >= 64 && items.len() >= 64 { ++ let mut index = std::collections::HashMap::with_capacity(mixed.branches.len()); ++ for branch in &mixed.branches { ++ // Preserve the linear lookup's first-match behavior for public ++ // metadata containing duplicate variant names. ++ index.entry(branch.variant_name.as_str()).or_insert(branch); ++ } ++ Self::write_mixed_items_using(writer, items, schema, ns_ctx, |kind| { ++ index.get(kind).copied() ++ }) ++ } else { ++ Self::write_mixed_items_using(writer, items, schema, ns_ctx, |kind| { ++ mixed ++ .branches ++ .iter() ++ .find(|branch| branch.variant_name == kind) ++ }) ++ } ++ } ++ ++ #[inline(never)] ++ fn write_mixed_items_using<'a, W: std::io::Write, F>( ++ writer: &mut Writer, ++ items: &[PolyValue], ++ schema: &ModelSchema, ++ ns_ctx: Option<&NamespaceContext>, ++ lookup: F, ++ ) -> Result<()> ++ where ++ F: Fn(&str) -> Option<&'a crate::schema::MixedBranchSchema>, ++ { ++ for item in items { ++ let tagged_field = |name: &str| -> Option<&PolyValue> { ++ match item { ++ PolyValue::Object(tagged) => tagged.get(name), ++ PolyValue::Record { schema, values } => schema ++ .fields ++ .iter() ++ .position(|field| field.name == name) ++ .and_then(|idx| values.get(idx)) ++ .and_then(Option::as_ref), ++ _ => None, ++ } ++ }; ++ let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed content item has no kind".into(), ++ )); ++ }; ++ let Some(content) = tagged_field("value") else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed content item has no value".into(), ++ )); ++ }; ++ if kind == "#text" { ++ let Some(text) = content.as_str() else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed text item must be a string".into(), ++ )); ++ }; ++ writer ++ .write_event(Event::Text(BytesText::new(text))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ continue; ++ } ++ let Some(branch) = lookup(kind) else { ++ return Err(PolyXmlError::SerializationError(format!( ++ "Unknown mixed content kind: {kind}" ++ ))); ++ }; ++ let local_name = std::str::from_utf8(&branch.xml_name)?; ++ let qualified = if let Some(ctx) = ns_ctx { ++ ctx.qualify_element( ++ local_name, ++ branch.namespace.as_deref().or(schema.namespace.as_deref()), ++ ) ++ } else { ++ Cow::Borrowed(local_name) ++ }; ++ match &branch.val_type { ++ ValueType::Scalar(_) => { ++ let mut buf = [0u8; lexical_core::BUFFER_SIZE]; ++ let Some(text) = Self::format_scalar_to(content, &mut buf) else { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ continue; ++ } ++ return Err(PolyXmlError::SerializationError(format!( ++ "Invalid mixed content value for {kind}" ++ ))); ++ }; ++ Self::validate_scalar(&branch.val_type, &text, kind)?; ++ writer ++ .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ writer ++ .write_event(Event::Text(BytesText::new(&text))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ writer ++ .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ } ++ ValueType::Nested(nested) => { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ } else { ++ Self::write_model( ++ writer, ++ &branch.xml_name, ++ content, ++ nested, ++ ns_ctx, ++ false, ++ branch.namespace.as_deref().or(nested.namespace.as_deref()), ++ )?; ++ } ++ } ++ ValueType::List(_) => { ++ return Err(PolyXmlError::SerializationError( ++ "Nested lists are invalid mixed content branches".into(), ++ )) ++ } ++ } ++ } ++ Ok(()) ++ } ++ ++ // A tagged null is a present nil element, unlike an absent ordinary field. ++ // Bind the instance prefix locally without shadowing the element's QName. ++ // Scalar callers reach this through their existing failed-format path. ++ #[cold] ++ fn write_mixed_nil(writer: &mut Writer, qualified: &str) -> Result<()> { ++ let (declaration, attribute) = if qualified.starts_with("xsi:") { ++ ("xmlns:xsi1", "xsi1:nil") ++ } else { ++ ("xmlns:xsi", "xsi:nil") ++ }; ++ let mut element = BytesStart::new(qualified); ++ element.push_attribute((declaration, XSI_NS)); ++ element.push_attribute((attribute, "true")); ++ writer ++ .write_event(Event::Empty(element)) ++ .map_err(|error| PolyXmlError::SerializationError(error.to_string())) ++ } ++ + fn write_any_wildcard_element( + writer: &mut quick_xml::Writer, + val: &PolyValue, +diff --git a/crates/polyxml-core/tests/test_mixed_branch_lookup.rs b/crates/polyxml-core/tests/test_mixed_branch_lookup.rs +new file mode 100644 +index 0000000..52996dc +--- /dev/null ++++ b/crates/polyxml-core/tests/test_mixed_branch_lookup.rs +@@ -0,0 +1,122 @@ ++use polyxml::schema::{FieldKind, FieldSchema, ModelSchema, ScalarType, ValueType}; ++use polyxml::schema_parser::XsdParser; ++use polyxml::{deserialize, serialize, PolyValue}; ++use std::{collections::HashMap, sync::Arc}; ++ ++fn tagged(kind: &str, value: PolyValue) -> PolyValue { ++ PolyValue::Object(HashMap::from([ ++ ("kind".into(), PolyValue::String(kind.into())), ++ ("value".into(), value), ++ ])) ++} ++ ++#[test] ++fn large_mixed_tables_keep_first_match_metadata_edits_records_and_nil() { ++ let declarations = (0..64) ++ .map(|i| format!(r#""#)) ++ .collect::(); ++ let xsd = format!( ++ r#"{declarations}"# ++ ); ++ let ir = XsdParser::new().parse_str(&xsd).unwrap(); ++ let mut schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); ++ let mixed = schema.mixed_content.as_ref().unwrap(); ++ let items_name = schema.fields[mixed.items_index].name.clone(); ++ let kinds = (0..64) ++ .map(|i| { ++ mixed ++ .branches ++ .iter() ++ .find(|b| b.xml_name == format!("B{i}").as_bytes()) ++ .unwrap() ++ .variant_name ++ .clone() ++ }) ++ .collect::>(); ++ let first_index = mixed ++ .branches ++ .iter() ++ .position(|b| b.xml_name == b"B0") ++ .unwrap(); ++ let old_kind = kinds[0].clone(); ++ let record_schema = ModelSchema::builder("Tagged") ++ .field(FieldSchema::new( ++ "value", ++ b"value", ++ FieldKind::Element, ++ ValueType::Scalar(ScalarType::Int), ++ )) ++ .field(FieldSchema::new( ++ "kind", ++ b"kind", ++ FieldKind::Element, ++ ValueType::Scalar(ScalarType::String), ++ )) ++ .build(); ++ let mut items = (0..256) ++ .map(|i| tagged(&kinds[i % 64], PolyValue::Int(i as i64))) ++ .collect::>(); ++ items[0] = PolyValue::Record { ++ schema: record_schema, ++ values: vec![ ++ Some(PolyValue::Int(0)), ++ Some(PolyValue::String(old_kind.clone())), ++ ] ++ .into_boxed_slice(), ++ }; ++ items.push(tagged(&kinds[63], PolyValue::Null)); ++ let mut value = PolyValue::Object(HashMap::from([( ++ items_name.clone(), ++ PolyValue::List(items), ++ )])); ++ { ++ let mixed = Arc::get_mut(&mut schema) ++ .unwrap() ++ .mixed_content ++ .as_mut() ++ .unwrap(); ++ let mut duplicate = mixed.branches[first_index].clone(); ++ duplicate.xml_name = b"Duplicate".to_vec(); ++ mixed.branches.push(duplicate); ++ } ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert!(std::str::from_utf8(&output).unwrap().contains("0")); ++ assert!(!std::str::from_utf8(&output).unwrap().contains(" { ++ fields.insert("kind".into(), PolyValue::String("changed_kind".into())); ++ } ++ PolyValue::Record { values, .. } => { ++ values[1] = Some(PolyValue::String("changed_kind".into())) ++ } ++ _ => unreachable!(), ++ } ++ } ++ } ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ let PolyValue::Object(root) = &mut value else { ++ unreachable!() ++ }; ++ let PolyValue::List(items) = root.get_mut(&items_name).unwrap() else { ++ unreachable!() ++ }; ++ items[0] = tagged("unregistered", PolyValue::Int(0)); ++ assert!(serialize("Root", &value, &schema, None).is_err()); ++} +diff --git a/crates/polyxml-core/tests/test_mixed_nil.rs b/crates/polyxml-core/tests/test_mixed_nil.rs +new file mode 100644 +index 0000000..95cc765 +--- /dev/null ++++ b/crates/polyxml-core/tests/test_mixed_nil.rs +@@ -0,0 +1,93 @@ ++use std::collections::HashMap; ++use std::sync::Arc; ++ ++use polyxml::schema::ModelSchema; ++use polyxml::schema_parser::XsdParser; ++use polyxml::serializer::XmlSerializer; ++use polyxml::{deserialize, serialize, PolyValue}; ++ ++fn schema(namespace: Option<&str>) -> Arc { ++ let declaration = namespace ++ .map(|ns| format!("targetNamespace='{ns}' xmlns:t='{ns}' elementFormDefault='qualified'")) ++ .unwrap_or_default(); ++ let xsd = format!(" ++ ++ ++ ++ ++ ++ ++ "); ++ let ir = XsdParser::new().parse_str(&xsd).unwrap(); ++ ModelSchema::from_ir(&ir, Some("Root")).unwrap() ++} ++ ++#[test] ++fn nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings() { ++ let schema = schema(None); ++ for nil in [ ++ "", ++ "", ++ "", ++ "", ++ ] { ++ let xml = format!("before{nil}nested{nil}after"); ++ let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); ++ let items_field = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; ++ let items = value.get(items_field).and_then(PolyValue::as_list).unwrap(); ++ assert!(items[1].get("value").unwrap().is_null()); ++ assert_eq!(items[2].get("value").and_then(PolyValue::as_str), Some("")); ++ assert!(items[4].get("value").unwrap().is_null()); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++} ++ ++#[test] ++fn nil_instance_prefix_does_not_rebind_the_element_namespace() { ++ let schema = schema(Some("urn:document")); ++ let xml = b"after"; ++ let value = deserialize(xml, Arc::clone(&schema)).unwrap(); ++ for prefix in ["", "doc", "xsi", "xsi1"] { ++ let ns_map = HashMap::from([(prefix.to_owned(), "urn:document".to_owned())]); ++ let output = XmlSerializer::serialize_with_options( ++ "Root", ++ &value, ++ &schema, ++ None, ++ Some(true), ++ Some(&ns_map), ++ ) ++ .unwrap(); ++ let mut reader = quick_xml::NsReader::from_reader(output.as_slice()); ++ let mut nils = 0; ++ loop { ++ let (namespace, event) = reader.read_resolved_event().unwrap(); ++ match event { ++ quick_xml::events::Event::Empty(element) => { ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "urn:document") ++ ); ++ for attribute in element.attributes() { ++ let attribute = attribute.unwrap(); ++ if attribute.key.local_name().as_ref() == "nil" { ++ let (namespace, _) = reader.resolver().resolve_attribute(attribute.key); ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "http://www.w3.org/2001/XMLSchema-instance") ++ ); ++ nils += 1; ++ } ++ } ++ } ++ quick_xml::events::Event::Eof => break, ++ _ => {} ++ } ++ } ++ assert_eq!(nils, 3); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++ let output = ++ XmlSerializer::serialize_with_options("Root", &value, &schema, None, Some(false), None) ++ .unwrap(); ++ assert_eq!(value, deserialize(&output, schema).unwrap()); ++} +diff --git a/crates/polyxml-core/tests/test_runtime_fast_paths.rs b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +index c0f13f1..07aa439 100644 +--- a/crates/polyxml-core/tests/test_runtime_fast_paths.rs ++++ b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +@@ -239,6 +239,8 @@ fn unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames() { + assert_eq!(value,deserialize(&output,Arc::clone(&schema)).unwrap()); + } + let nil_document = b"Ready"; +- assert!(deserialize(nil_document, Arc::clone(&schema)).is_ok()); ++ let value = deserialize(nil_document, Arc::clone(&schema)).unwrap(); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + assert!(deserialize(b"invalid", schema).is_err()); + } diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/cold-nil.patch b/research/data/runtime-followups-2026-10-03/mixed-writer/cold-nil.patch new file mode 100644 index 0000000..c22a9e6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/cold-nil.patch @@ -0,0 +1,184 @@ +diff --git a/crates/polyxml-core/src/serializer.rs b/crates/polyxml-core/src/serializer.rs +index f68ba99..3103f0d 100644 +--- a/crates/polyxml-core/src/serializer.rs ++++ b/crates/polyxml-core/src/serializer.rs +@@ -579,6 +579,10 @@ impl XmlSerializer { + ValueType::Scalar(_) => { + let mut buf = [0u8; lexical_core::BUFFER_SIZE]; + let Some(text) = Self::format_scalar_to(content, &mut buf) else { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ continue; ++ } + return Err(PolyXmlError::SerializationError(format!( + "Invalid mixed content value for {kind}" + ))); +@@ -594,15 +598,21 @@ impl XmlSerializer { + .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) + .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; + } +- ValueType::Nested(nested) => Self::write_model( +- writer, +- &branch.xml_name, +- content, +- nested, +- ns_ctx, +- false, +- branch.namespace.as_deref().or(nested.namespace.as_deref()), +- )?, ++ ValueType::Nested(nested) => { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ } else { ++ Self::write_model( ++ writer, ++ &branch.xml_name, ++ content, ++ nested, ++ ns_ctx, ++ false, ++ branch.namespace.as_deref().or(nested.namespace.as_deref()), ++ )?; ++ } ++ } + ValueType::List(_) => { + return Err(PolyXmlError::SerializationError( + "Nested lists are invalid mixed content branches".into(), +@@ -759,6 +769,24 @@ impl XmlSerializer { + Ok(()) + } + ++ // A tagged null is a present nil element, unlike an absent ordinary field. ++ // Bind the instance prefix locally without shadowing the element's QName. ++ // Scalar callers reach this through their existing failed-format path. ++ #[cold] ++ fn write_mixed_nil(writer: &mut Writer, qualified: &str) -> Result<()> { ++ let (declaration, attribute) = if qualified.starts_with("xsi:") { ++ ("xmlns:xsi1", "xsi1:nil") ++ } else { ++ ("xmlns:xsi", "xsi:nil") ++ }; ++ let mut element = BytesStart::new(qualified); ++ element.push_attribute((declaration, XSI_NS)); ++ element.push_attribute((attribute, "true")); ++ writer ++ .write_event(Event::Empty(element)) ++ .map_err(|error| PolyXmlError::SerializationError(error.to_string())) ++ } ++ + fn write_any_wildcard_element( + writer: &mut quick_xml::Writer, + val: &PolyValue, +diff --git a/crates/polyxml-core/tests/test_mixed_nil.rs b/crates/polyxml-core/tests/test_mixed_nil.rs +new file mode 100644 +index 0000000..95cc765 +--- /dev/null ++++ b/crates/polyxml-core/tests/test_mixed_nil.rs +@@ -0,0 +1,93 @@ ++use std::collections::HashMap; ++use std::sync::Arc; ++ ++use polyxml::schema::ModelSchema; ++use polyxml::schema_parser::XsdParser; ++use polyxml::serializer::XmlSerializer; ++use polyxml::{deserialize, serialize, PolyValue}; ++ ++fn schema(namespace: Option<&str>) -> Arc { ++ let declaration = namespace ++ .map(|ns| format!("targetNamespace='{ns}' xmlns:t='{ns}' elementFormDefault='qualified'")) ++ .unwrap_or_default(); ++ let xsd = format!(" ++ ++ ++ ++ ++ ++ ++ "); ++ let ir = XsdParser::new().parse_str(&xsd).unwrap(); ++ ModelSchema::from_ir(&ir, Some("Root")).unwrap() ++} ++ ++#[test] ++fn nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings() { ++ let schema = schema(None); ++ for nil in [ ++ "", ++ "", ++ "", ++ "", ++ ] { ++ let xml = format!("before{nil}nested{nil}after"); ++ let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); ++ let items_field = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; ++ let items = value.get(items_field).and_then(PolyValue::as_list).unwrap(); ++ assert!(items[1].get("value").unwrap().is_null()); ++ assert_eq!(items[2].get("value").and_then(PolyValue::as_str), Some("")); ++ assert!(items[4].get("value").unwrap().is_null()); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++} ++ ++#[test] ++fn nil_instance_prefix_does_not_rebind_the_element_namespace() { ++ let schema = schema(Some("urn:document")); ++ let xml = b"after"; ++ let value = deserialize(xml, Arc::clone(&schema)).unwrap(); ++ for prefix in ["", "doc", "xsi", "xsi1"] { ++ let ns_map = HashMap::from([(prefix.to_owned(), "urn:document".to_owned())]); ++ let output = XmlSerializer::serialize_with_options( ++ "Root", ++ &value, ++ &schema, ++ None, ++ Some(true), ++ Some(&ns_map), ++ ) ++ .unwrap(); ++ let mut reader = quick_xml::NsReader::from_reader(output.as_slice()); ++ let mut nils = 0; ++ loop { ++ let (namespace, event) = reader.read_resolved_event().unwrap(); ++ match event { ++ quick_xml::events::Event::Empty(element) => { ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "urn:document") ++ ); ++ for attribute in element.attributes() { ++ let attribute = attribute.unwrap(); ++ if attribute.key.local_name().as_ref() == "nil" { ++ let (namespace, _) = reader.resolver().resolve_attribute(attribute.key); ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "http://www.w3.org/2001/XMLSchema-instance") ++ ); ++ nils += 1; ++ } ++ } ++ } ++ quick_xml::events::Event::Eof => break, ++ _ => {} ++ } ++ } ++ assert_eq!(nils, 3); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++ let output = ++ XmlSerializer::serialize_with_options("Root", &value, &schema, None, Some(false), None) ++ .unwrap(); ++ assert_eq!(value, deserialize(&output, schema).unwrap()); ++} +diff --git a/crates/polyxml-core/tests/test_runtime_fast_paths.rs b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +index c0f13f1..07aa439 100644 +--- a/crates/polyxml-core/tests/test_runtime_fast_paths.rs ++++ b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +@@ -239,6 +239,8 @@ fn unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames() { + assert_eq!(value,deserialize(&output,Arc::clone(&schema)).unwrap()); + } + let nil_document = b"Ready"; +- assert!(deserialize(nil_document, Arc::clone(&schema)).is_ok()); ++ let value = deserialize(nil_document, Arc::clone(&schema)).unwrap(); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + assert!(deserialize(b"invalid", schema).is_err()); + } diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/initial-nil.patch b/research/data/runtime-followups-2026-10-03/mixed-writer/initial-nil.patch new file mode 100644 index 0000000..96bb6c3 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/initial-nil.patch @@ -0,0 +1,144 @@ +diff --git a/crates/polyxml-core/src/serializer.rs b/crates/polyxml-core/src/serializer.rs +index f68ba99..c284ffa 100644 +--- a/crates/polyxml-core/src/serializer.rs ++++ b/crates/polyxml-core/src/serializer.rs +@@ -575,6 +575,26 @@ impl XmlSerializer { + } else { + Cow::Borrowed(local_name) + }; ++ // A tagged null is a present nil element, unlike an absent ++ // ordinary field. Bind the instance prefix locally so nil ++ // also works without a root namespace context. Do not ++ // shadow the prefix used by the element's own QName. ++ if content.is_null() && !matches!(branch.val_type, ValueType::List(_)) { ++ let prefix = if qualified.starts_with("xsi:") { ++ "xsi1" ++ } else { ++ "xsi" ++ }; ++ let mut element = BytesStart::new(qualified.as_ref()); ++ let declaration = format!("xmlns:{prefix}"); ++ let attribute = format!("{prefix}:nil"); ++ element.push_attribute((declaration.as_str(), XSI_NS)); ++ element.push_attribute((attribute.as_str(), "true")); ++ writer ++ .write_event(Event::Empty(element)) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ continue; ++ } + match &branch.val_type { + ValueType::Scalar(_) => { + let mut buf = [0u8; lexical_core::BUFFER_SIZE]; +diff --git a/crates/polyxml-core/tests/test_mixed_nil.rs b/crates/polyxml-core/tests/test_mixed_nil.rs +new file mode 100644 +index 0000000..95cc765 +--- /dev/null ++++ b/crates/polyxml-core/tests/test_mixed_nil.rs +@@ -0,0 +1,93 @@ ++use std::collections::HashMap; ++use std::sync::Arc; ++ ++use polyxml::schema::ModelSchema; ++use polyxml::schema_parser::XsdParser; ++use polyxml::serializer::XmlSerializer; ++use polyxml::{deserialize, serialize, PolyValue}; ++ ++fn schema(namespace: Option<&str>) -> Arc { ++ let declaration = namespace ++ .map(|ns| format!("targetNamespace='{ns}' xmlns:t='{ns}' elementFormDefault='qualified'")) ++ .unwrap_or_default(); ++ let xsd = format!(" ++ ++ ++ ++ ++ ++ ++ "); ++ let ir = XsdParser::new().parse_str(&xsd).unwrap(); ++ ModelSchema::from_ir(&ir, Some("Root")).unwrap() ++} ++ ++#[test] ++fn nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings() { ++ let schema = schema(None); ++ for nil in [ ++ "", ++ "", ++ "", ++ "", ++ ] { ++ let xml = format!("before{nil}nested{nil}after"); ++ let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); ++ let items_field = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; ++ let items = value.get(items_field).and_then(PolyValue::as_list).unwrap(); ++ assert!(items[1].get("value").unwrap().is_null()); ++ assert_eq!(items[2].get("value").and_then(PolyValue::as_str), Some("")); ++ assert!(items[4].get("value").unwrap().is_null()); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++} ++ ++#[test] ++fn nil_instance_prefix_does_not_rebind_the_element_namespace() { ++ let schema = schema(Some("urn:document")); ++ let xml = b"after"; ++ let value = deserialize(xml, Arc::clone(&schema)).unwrap(); ++ for prefix in ["", "doc", "xsi", "xsi1"] { ++ let ns_map = HashMap::from([(prefix.to_owned(), "urn:document".to_owned())]); ++ let output = XmlSerializer::serialize_with_options( ++ "Root", ++ &value, ++ &schema, ++ None, ++ Some(true), ++ Some(&ns_map), ++ ) ++ .unwrap(); ++ let mut reader = quick_xml::NsReader::from_reader(output.as_slice()); ++ let mut nils = 0; ++ loop { ++ let (namespace, event) = reader.read_resolved_event().unwrap(); ++ match event { ++ quick_xml::events::Event::Empty(element) => { ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "urn:document") ++ ); ++ for attribute in element.attributes() { ++ let attribute = attribute.unwrap(); ++ if attribute.key.local_name().as_ref() == "nil" { ++ let (namespace, _) = reader.resolver().resolve_attribute(attribute.key); ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "http://www.w3.org/2001/XMLSchema-instance") ++ ); ++ nils += 1; ++ } ++ } ++ } ++ quick_xml::events::Event::Eof => break, ++ _ => {} ++ } ++ } ++ assert_eq!(nils, 3); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++ let output = ++ XmlSerializer::serialize_with_options("Root", &value, &schema, None, Some(false), None) ++ .unwrap(); ++ assert_eq!(value, deserialize(&output, schema).unwrap()); ++} +diff --git a/crates/polyxml-core/tests/test_runtime_fast_paths.rs b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +index c0f13f1..07aa439 100644 +--- a/crates/polyxml-core/tests/test_runtime_fast_paths.rs ++++ b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +@@ -239,6 +239,8 @@ fn unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames() { + assert_eq!(value,deserialize(&output,Arc::clone(&schema)).unwrap()); + } + let nil_document = b"Ready"; +- assert!(deserialize(nil_document, Arc::clone(&schema)).is_ok()); ++ let value = deserialize(nil_document, Arc::clone(&schema)).unwrap(); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + assert!(deserialize(b"invalid", schema).is_err()); + } diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/isolated-loop.patch b/research/data/runtime-followups-2026-10-03/mixed-writer/isolated-loop.patch new file mode 100644 index 0000000..3a6decb --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/isolated-loop.patch @@ -0,0 +1,345 @@ +diff --git a/crates/polyxml-core/src/serializer.rs b/crates/polyxml-core/src/serializer.rs +index f68ba99..6021d08 100644 +--- a/crates/polyxml-core/src/serializer.rs ++++ b/crates/polyxml-core/src/serializer.rs +@@ -523,93 +523,7 @@ impl XmlSerializer { + if let Some(PolyValue::List(items)) = + get_field(mixed.items_index, &schema.fields[mixed.items_index].name) + { +- for item in items { +- let tagged_field = |name: &str| -> Option<&PolyValue> { +- match item { +- PolyValue::Object(tagged) => tagged.get(name), +- PolyValue::Record { schema, values } => schema +- .fields +- .iter() +- .position(|field| field.name == name) +- .and_then(|idx| values.get(idx)) +- .and_then(Option::as_ref), +- _ => None, +- } +- }; +- let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { +- return Err(PolyXmlError::SerializationError( +- "Mixed content item has no kind".into(), +- )); +- }; +- let Some(content) = tagged_field("value") else { +- return Err(PolyXmlError::SerializationError( +- "Mixed content item has no value".into(), +- )); +- }; +- if kind == "#text" { +- let Some(text) = content.as_str() else { +- return Err(PolyXmlError::SerializationError( +- "Mixed text item must be a string".into(), +- )); +- }; +- writer +- .write_event(Event::Text(BytesText::new(text))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- continue; +- } +- let Some(branch) = mixed +- .branches +- .iter() +- .find(|branch| branch.variant_name == kind) +- else { +- return Err(PolyXmlError::SerializationError(format!( +- "Unknown mixed content kind: {kind}" +- ))); +- }; +- let local_name = std::str::from_utf8(&branch.xml_name)?; +- let qualified = if let Some(ctx) = ns_ctx { +- ctx.qualify_element( +- local_name, +- branch.namespace.as_deref().or(schema.namespace.as_deref()), +- ) +- } else { +- Cow::Borrowed(local_name) +- }; +- match &branch.val_type { +- ValueType::Scalar(_) => { +- let mut buf = [0u8; lexical_core::BUFFER_SIZE]; +- let Some(text) = Self::format_scalar_to(content, &mut buf) else { +- return Err(PolyXmlError::SerializationError(format!( +- "Invalid mixed content value for {kind}" +- ))); +- }; +- Self::validate_scalar(&branch.val_type, &text, kind)?; +- writer +- .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- writer +- .write_event(Event::Text(BytesText::new(&text))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- writer +- .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- } +- ValueType::Nested(nested) => Self::write_model( +- writer, +- &branch.xml_name, +- content, +- nested, +- ns_ctx, +- false, +- branch.namespace.as_deref().or(nested.namespace.as_deref()), +- )?, +- ValueType::List(_) => { +- return Err(PolyXmlError::SerializationError( +- "Nested lists are invalid mixed content branches".into(), +- )) +- } +- } +- } ++ Self::write_mixed_items(writer, items, schema, mixed, ns_ctx)?; + } + } else { + for (idx, field) in schema.fields.iter().enumerate() { +@@ -759,6 +673,132 @@ impl XmlSerializer { + Ok(()) + } + ++ #[inline(never)] ++ fn write_mixed_items( ++ writer: &mut Writer, ++ items: &[PolyValue], ++ schema: &ModelSchema, ++ mixed: &crate::schema::MixedContentSchema, ++ ns_ctx: Option<&NamespaceContext>, ++ ) -> Result<()> { ++ for item in items { ++ let tagged_field = |name: &str| -> Option<&PolyValue> { ++ match item { ++ PolyValue::Object(tagged) => tagged.get(name), ++ PolyValue::Record { schema, values } => schema ++ .fields ++ .iter() ++ .position(|field| field.name == name) ++ .and_then(|idx| values.get(idx)) ++ .and_then(Option::as_ref), ++ _ => None, ++ } ++ }; ++ let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed content item has no kind".into(), ++ )); ++ }; ++ let Some(content) = tagged_field("value") else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed content item has no value".into(), ++ )); ++ }; ++ if kind == "#text" { ++ let Some(text) = content.as_str() else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed text item must be a string".into(), ++ )); ++ }; ++ writer ++ .write_event(Event::Text(BytesText::new(text))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ continue; ++ } ++ let Some(branch) = mixed ++ .branches ++ .iter() ++ .find(|branch| branch.variant_name == kind) ++ else { ++ return Err(PolyXmlError::SerializationError(format!( ++ "Unknown mixed content kind: {kind}" ++ ))); ++ }; ++ let local_name = std::str::from_utf8(&branch.xml_name)?; ++ let qualified = if let Some(ctx) = ns_ctx { ++ ctx.qualify_element( ++ local_name, ++ branch.namespace.as_deref().or(schema.namespace.as_deref()), ++ ) ++ } else { ++ Cow::Borrowed(local_name) ++ }; ++ match &branch.val_type { ++ ValueType::Scalar(_) => { ++ let mut buf = [0u8; lexical_core::BUFFER_SIZE]; ++ let Some(text) = Self::format_scalar_to(content, &mut buf) else { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ continue; ++ } ++ return Err(PolyXmlError::SerializationError(format!( ++ "Invalid mixed content value for {kind}" ++ ))); ++ }; ++ Self::validate_scalar(&branch.val_type, &text, kind)?; ++ writer ++ .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ writer ++ .write_event(Event::Text(BytesText::new(&text))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ writer ++ .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ } ++ ValueType::Nested(nested) => { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ } else { ++ Self::write_model( ++ writer, ++ &branch.xml_name, ++ content, ++ nested, ++ ns_ctx, ++ false, ++ branch.namespace.as_deref().or(nested.namespace.as_deref()), ++ )?; ++ } ++ } ++ ValueType::List(_) => { ++ return Err(PolyXmlError::SerializationError( ++ "Nested lists are invalid mixed content branches".into(), ++ )) ++ } ++ } ++ } ++ Ok(()) ++ } ++ ++ // A tagged null is a present nil element, unlike an absent ordinary field. ++ // Bind the instance prefix locally without shadowing the element's QName. ++ // Scalar callers reach this through their existing failed-format path. ++ #[cold] ++ fn write_mixed_nil(writer: &mut Writer, qualified: &str) -> Result<()> { ++ let (declaration, attribute) = if qualified.starts_with("xsi:") { ++ ("xmlns:xsi1", "xsi1:nil") ++ } else { ++ ("xmlns:xsi", "xsi:nil") ++ }; ++ let mut element = BytesStart::new(qualified); ++ element.push_attribute((declaration, XSI_NS)); ++ element.push_attribute((attribute, "true")); ++ writer ++ .write_event(Event::Empty(element)) ++ .map_err(|error| PolyXmlError::SerializationError(error.to_string())) ++ } ++ + fn write_any_wildcard_element( + writer: &mut quick_xml::Writer, + val: &PolyValue, +diff --git a/crates/polyxml-core/tests/test_mixed_nil.rs b/crates/polyxml-core/tests/test_mixed_nil.rs +new file mode 100644 +index 0000000..95cc765 +--- /dev/null ++++ b/crates/polyxml-core/tests/test_mixed_nil.rs +@@ -0,0 +1,93 @@ ++use std::collections::HashMap; ++use std::sync::Arc; ++ ++use polyxml::schema::ModelSchema; ++use polyxml::schema_parser::XsdParser; ++use polyxml::serializer::XmlSerializer; ++use polyxml::{deserialize, serialize, PolyValue}; ++ ++fn schema(namespace: Option<&str>) -> Arc { ++ let declaration = namespace ++ .map(|ns| format!("targetNamespace='{ns}' xmlns:t='{ns}' elementFormDefault='qualified'")) ++ .unwrap_or_default(); ++ let xsd = format!(" ++ ++ ++ ++ ++ ++ ++ "); ++ let ir = XsdParser::new().parse_str(&xsd).unwrap(); ++ ModelSchema::from_ir(&ir, Some("Root")).unwrap() ++} ++ ++#[test] ++fn nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings() { ++ let schema = schema(None); ++ for nil in [ ++ "", ++ "", ++ "", ++ "", ++ ] { ++ let xml = format!("before{nil}nested{nil}after"); ++ let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); ++ let items_field = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; ++ let items = value.get(items_field).and_then(PolyValue::as_list).unwrap(); ++ assert!(items[1].get("value").unwrap().is_null()); ++ assert_eq!(items[2].get("value").and_then(PolyValue::as_str), Some("")); ++ assert!(items[4].get("value").unwrap().is_null()); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++} ++ ++#[test] ++fn nil_instance_prefix_does_not_rebind_the_element_namespace() { ++ let schema = schema(Some("urn:document")); ++ let xml = b"after"; ++ let value = deserialize(xml, Arc::clone(&schema)).unwrap(); ++ for prefix in ["", "doc", "xsi", "xsi1"] { ++ let ns_map = HashMap::from([(prefix.to_owned(), "urn:document".to_owned())]); ++ let output = XmlSerializer::serialize_with_options( ++ "Root", ++ &value, ++ &schema, ++ None, ++ Some(true), ++ Some(&ns_map), ++ ) ++ .unwrap(); ++ let mut reader = quick_xml::NsReader::from_reader(output.as_slice()); ++ let mut nils = 0; ++ loop { ++ let (namespace, event) = reader.read_resolved_event().unwrap(); ++ match event { ++ quick_xml::events::Event::Empty(element) => { ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "urn:document") ++ ); ++ for attribute in element.attributes() { ++ let attribute = attribute.unwrap(); ++ if attribute.key.local_name().as_ref() == "nil" { ++ let (namespace, _) = reader.resolver().resolve_attribute(attribute.key); ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "http://www.w3.org/2001/XMLSchema-instance") ++ ); ++ nils += 1; ++ } ++ } ++ } ++ quick_xml::events::Event::Eof => break, ++ _ => {} ++ } ++ } ++ assert_eq!(nils, 3); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++ let output = ++ XmlSerializer::serialize_with_options("Root", &value, &schema, None, Some(false), None) ++ .unwrap(); ++ assert_eq!(value, deserialize(&output, schema).unwrap()); ++} +diff --git a/crates/polyxml-core/tests/test_runtime_fast_paths.rs b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +index c0f13f1..07aa439 100644 +--- a/crates/polyxml-core/tests/test_runtime_fast_paths.rs ++++ b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +@@ -239,6 +239,8 @@ fn unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames() { + assert_eq!(value,deserialize(&output,Arc::clone(&schema)).unwrap()); + } + let nil_document = b"Ready"; +- assert!(deserialize(nil_document, Arc::clone(&schema)).is_ok()); ++ let value = deserialize(nil_document, Arc::clone(&schema)).unwrap(); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + assert!(deserialize(b"invalid", schema).is_err()); + } diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/metadata.json new file mode 100644 index 0000000..18d401e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/metadata.json @@ -0,0 +1,11 @@ +{ + "baseline": "1819c91", + "implementation": "58cb346", + "harness_revision": "58cb346", + "rust_tests": 324, + "rejected_preflights": [ + "mixed-nil-instructions-empty-profile: missed marker and zero collected instructions", + "mixed-writer-tests.log: shared workspace target linked stale test binary" + ], + "workspace_target": "/home/bailey/github/PolyXML/target/followup-mixed-index-verification" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-Cargo.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-Cargo.lock new file mode 100644 index 0000000..897d8aa --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-Cargo.lock @@ -0,0 +1,317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "branch-allocations" +version = "0.0.0" +dependencies = [ + "polyxml", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-Cargo.toml b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-Cargo.toml new file mode 100644 index 0000000..b3146ec --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-Cargo.toml @@ -0,0 +1,7 @@ +[package] +name="branch-allocations" +version="0.0.0" +edition="2021" +[workspace] +[dependencies] +polyxml={path="/home/bailey/github/polyxml-perf-selected/crates/polyxml-core"} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-allocations.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-allocations.txt new file mode 100644 index 0000000..9c70427 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-allocations.txt @@ -0,0 +1,9 @@ +memcap: <=7682 MiB (60% of 12803 MiB available) [systemd MemoryMax, swap off] +branches=1,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=1,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=11903 +branches=16,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=16,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=12647 +branches=64,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=64,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=13583 +branches=256,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=256,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=15023 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-build.txt new file mode 100644 index 0000000..ba16df6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7711 MiB (60% of 12853 MiB available) [systemd MemoryMax, swap off] + Compiling branch-allocations v0.0.0 (/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/branch-allocations-baseline) + Finished `release` profile [optimized] target(s) in 0.90s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-harness.rs new file mode 100644 index 0000000..c875031 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-harness.rs @@ -0,0 +1,89 @@ +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize,serialize,PolyValue}; +use std::{hint::black_box,sync::Arc}; +use std::alloc::{GlobalAlloc, Layout, System}; +use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; + +struct CountingAllocator; +static COUNTING: AtomicBool = AtomicBool::new(false); +static ALLOCATIONS: AtomicUsize = AtomicUsize::new(0); +static REALLOCATIONS: AtomicUsize = AtomicUsize::new(0); +static BYTES: AtomicUsize = AtomicUsize::new(0); + +// Diagnostic instrumentation only. The benchmark consumers use System directly. +unsafe impl GlobalAlloc for CountingAllocator { + unsafe fn alloc(&self, layout: Layout) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + ALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(layout.size(), Ordering::Relaxed); + } + unsafe { System.alloc(layout) } + } + unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + ALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(layout.size(), Ordering::Relaxed); + } + unsafe { System.alloc_zeroed(layout) } + } + unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { + unsafe { System.dealloc(ptr, layout) } + } + unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + REALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(new_size, Ordering::Relaxed); + } + unsafe { System.realloc(ptr, layout, new_size) } + } +} +#[global_allocator] +static ALLOCATOR: CountingAllocator = CountingAllocator; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + + +fn main() { + for branches in [1,16,64,256] { for count in [1,1000] { + let (schema,xml)=fixture(branches,count); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root",&value,&schema,None).unwrap()); } + ALLOCATIONS.store(0,Ordering::Relaxed);REALLOCATIONS.store(0,Ordering::Relaxed);BYTES.store(0,Ordering::Relaxed); + COUNTING.store(true,Ordering::Relaxed); + let output=serialize("Root",&value,&schema,None).unwrap(); + COUNTING.store(false,Ordering::Relaxed); + println!("branches={branches},items={count},allocations={},reallocations={},requested_bytes={},output_bytes={}",ALLOCATIONS.load(Ordering::Relaxed),REALLOCATIONS.load(Ordering::Relaxed),BYTES.load(Ordering::Relaxed),output.len()); + } } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-metadata.json new file mode 100644 index 0000000..7053ee5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/baseline-metadata.json @@ -0,0 +1,16 @@ +{ + "revision": "1819c91b0808b9242c642d82350d2b657b60108c", + "items": [ + 1, + 1000 + ], + "branches": [ + 1, + 16, + 64, + 256 + ], + "operations": 1, + "warmup_operations": 3, + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-Cargo.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-Cargo.lock new file mode 100644 index 0000000..897d8aa --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-Cargo.lock @@ -0,0 +1,317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "branch-allocations" +version = "0.0.0" +dependencies = [ + "polyxml", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-Cargo.toml b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-Cargo.toml new file mode 100644 index 0000000..4788c05 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-Cargo.toml @@ -0,0 +1,7 @@ +[package] +name="branch-allocations" +version="0.0.0" +edition="2021" +[workspace] +[dependencies] +polyxml={path="/home/bailey/github/polyxml-mixed-index/crates/polyxml-core"} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-allocations.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-allocations.txt new file mode 100644 index 0000000..89d07a1 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-allocations.txt @@ -0,0 +1,9 @@ +memcap: <=7662 MiB (60% of 12770 MiB available) [systemd MemoryMax, swap off] +branches=1,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=1,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=11903 +branches=16,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=16,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=12647 +branches=64,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=64,items=1000,allocations=2,reallocations=5,requested_bytes=35472,output_bytes=13583 +branches=256,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=256,items=1000,allocations=2,reallocations=5,requested_bytes=45072,output_bytes=15023 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-build.txt new file mode 100644 index 0000000..8b74f03 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-build.txt @@ -0,0 +1,4 @@ +memcap: <=7692 MiB (60% of 12820 MiB available) [systemd MemoryMax, swap off] + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling branch-allocations v0.0.0 (/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/branch-allocations-current) + Finished `release` profile [optimized] target(s) in 24.81s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-harness.rs new file mode 100644 index 0000000..c875031 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-harness.rs @@ -0,0 +1,89 @@ +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize,serialize,PolyValue}; +use std::{hint::black_box,sync::Arc}; +use std::alloc::{GlobalAlloc, Layout, System}; +use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; + +struct CountingAllocator; +static COUNTING: AtomicBool = AtomicBool::new(false); +static ALLOCATIONS: AtomicUsize = AtomicUsize::new(0); +static REALLOCATIONS: AtomicUsize = AtomicUsize::new(0); +static BYTES: AtomicUsize = AtomicUsize::new(0); + +// Diagnostic instrumentation only. The benchmark consumers use System directly. +unsafe impl GlobalAlloc for CountingAllocator { + unsafe fn alloc(&self, layout: Layout) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + ALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(layout.size(), Ordering::Relaxed); + } + unsafe { System.alloc(layout) } + } + unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + ALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(layout.size(), Ordering::Relaxed); + } + unsafe { System.alloc_zeroed(layout) } + } + unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { + unsafe { System.dealloc(ptr, layout) } + } + unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + REALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(new_size, Ordering::Relaxed); + } + unsafe { System.realloc(ptr, layout, new_size) } + } +} +#[global_allocator] +static ALLOCATOR: CountingAllocator = CountingAllocator; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + + +fn main() { + for branches in [1,16,64,256] { for count in [1,1000] { + let (schema,xml)=fixture(branches,count); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root",&value,&schema,None).unwrap()); } + ALLOCATIONS.store(0,Ordering::Relaxed);REALLOCATIONS.store(0,Ordering::Relaxed);BYTES.store(0,Ordering::Relaxed); + COUNTING.store(true,Ordering::Relaxed); + let output=serialize("Root",&value,&schema,None).unwrap(); + COUNTING.store(false,Ordering::Relaxed); + println!("branches={branches},items={count},allocations={},reallocations={},requested_bytes={},output_bytes={}",ALLOCATIONS.load(Ordering::Relaxed),REALLOCATIONS.load(Ordering::Relaxed),BYTES.load(Ordering::Relaxed),output.len()); + } } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-metadata.json new file mode 100644 index 0000000..681d48e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations-sampled/current-metadata.json @@ -0,0 +1,16 @@ +{ + "revision": "58cb346f964b5196dfad62e8a62a8aa4beb9beef", + "items": [ + 1, + 1000 + ], + "branches": [ + 1, + 16, + 64, + 256 + ], + "operations": 1, + "warmup_operations": 3, + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-Cargo.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-Cargo.lock new file mode 100644 index 0000000..897d8aa --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-Cargo.lock @@ -0,0 +1,317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "branch-allocations" +version = "0.0.0" +dependencies = [ + "polyxml", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-Cargo.toml b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-Cargo.toml new file mode 100644 index 0000000..b3146ec --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-Cargo.toml @@ -0,0 +1,7 @@ +[package] +name="branch-allocations" +version="0.0.0" +edition="2021" +[workspace] +[dependencies] +polyxml={path="/home/bailey/github/polyxml-perf-selected/crates/polyxml-core"} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-allocations.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-allocations.txt new file mode 100644 index 0000000..62b3cf2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-allocations.txt @@ -0,0 +1,9 @@ +memcap: <=7672 MiB (60% of 12786 MiB available) [systemd MemoryMax, swap off] +branches=1,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=1,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=11903 +branches=16,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=16,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=12647 +branches=64,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=64,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=13583 +branches=256,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=256,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=15023 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-build.txt new file mode 100644 index 0000000..d92d65f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-build.txt @@ -0,0 +1,37 @@ +memcap: <=7737 MiB (60% of 12896 MiB available) [systemd MemoryMax, swap off] + Compiling proc-macro2 v1.0.107 + Compiling unicode-ident v1.0.26 + Compiling quote v1.0.47 + Compiling syn v3.0.6 + Compiling serde_core v1.0.229 + Compiling memchr v2.8.3 + Compiling lexical-util v1.0.7 + Compiling serde v1.0.229 + Compiling serde_derive v1.0.229 + Compiling zmij v1.0.23 + Compiling siphasher v1.0.4 + Compiling phf_shared v0.14.0 + Compiling lexical-write-integer v1.0.6 + Compiling lexical-parse-integer v1.0.6 + Compiling aho-corasick v1.1.5 + Compiling regex-syntax v0.8.11 + Compiling thiserror v2.0.21 + Compiling serde_json v1.0.151 + Compiling fastrand v2.5.0 + Compiling phf_generator v0.14.0 + Compiling regex-automata v0.4.18 + Compiling lexical-parse-float v1.0.6 + Compiling lexical-write-float v1.0.6 + Compiling thiserror-impl v2.0.21 + Compiling memo-map v0.3.4 + Compiling itoa v1.0.18 + Compiling minijinja v2.24.0 + Compiling lexical-core v1.0.6 + Compiling regex v1.13.1 + Compiling phf_codegen v0.14.0 + Compiling quick-xml v0.42.0 + Compiling smallvec v1.16.2 + Compiling heck v0.5.0 + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-perf-selected/crates/polyxml-core) + Compiling branch-allocations v0.0.0 (/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/branch-allocations-baseline) + Finished `release` profile [optimized] target(s) in 1m 05s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-harness.rs new file mode 100644 index 0000000..c875031 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-harness.rs @@ -0,0 +1,89 @@ +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize,serialize,PolyValue}; +use std::{hint::black_box,sync::Arc}; +use std::alloc::{GlobalAlloc, Layout, System}; +use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; + +struct CountingAllocator; +static COUNTING: AtomicBool = AtomicBool::new(false); +static ALLOCATIONS: AtomicUsize = AtomicUsize::new(0); +static REALLOCATIONS: AtomicUsize = AtomicUsize::new(0); +static BYTES: AtomicUsize = AtomicUsize::new(0); + +// Diagnostic instrumentation only. The benchmark consumers use System directly. +unsafe impl GlobalAlloc for CountingAllocator { + unsafe fn alloc(&self, layout: Layout) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + ALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(layout.size(), Ordering::Relaxed); + } + unsafe { System.alloc(layout) } + } + unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + ALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(layout.size(), Ordering::Relaxed); + } + unsafe { System.alloc_zeroed(layout) } + } + unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { + unsafe { System.dealloc(ptr, layout) } + } + unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + REALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(new_size, Ordering::Relaxed); + } + unsafe { System.realloc(ptr, layout, new_size) } + } +} +#[global_allocator] +static ALLOCATOR: CountingAllocator = CountingAllocator; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + + +fn main() { + for branches in [1,16,64,256] { for count in [1,1000] { + let (schema,xml)=fixture(branches,count); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root",&value,&schema,None).unwrap()); } + ALLOCATIONS.store(0,Ordering::Relaxed);REALLOCATIONS.store(0,Ordering::Relaxed);BYTES.store(0,Ordering::Relaxed); + COUNTING.store(true,Ordering::Relaxed); + let output=serialize("Root",&value,&schema,None).unwrap(); + COUNTING.store(false,Ordering::Relaxed); + println!("branches={branches},items={count},allocations={},reallocations={},requested_bytes={},output_bytes={}",ALLOCATIONS.load(Ordering::Relaxed),REALLOCATIONS.load(Ordering::Relaxed),BYTES.load(Ordering::Relaxed),output.len()); + } } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-metadata.json new file mode 100644 index 0000000..7053ee5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/baseline-metadata.json @@ -0,0 +1,16 @@ +{ + "revision": "1819c91b0808b9242c642d82350d2b657b60108c", + "items": [ + 1, + 1000 + ], + "branches": [ + 1, + 16, + 64, + 256 + ], + "operations": 1, + "warmup_operations": 3, + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-Cargo.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-Cargo.lock new file mode 100644 index 0000000..897d8aa --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-Cargo.lock @@ -0,0 +1,317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "branch-allocations" +version = "0.0.0" +dependencies = [ + "polyxml", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-Cargo.toml b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-Cargo.toml new file mode 100644 index 0000000..4788c05 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-Cargo.toml @@ -0,0 +1,7 @@ +[package] +name="branch-allocations" +version="0.0.0" +edition="2021" +[workspace] +[dependencies] +polyxml={path="/home/bailey/github/polyxml-mixed-index/crates/polyxml-core"} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-allocations.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-allocations.txt new file mode 100644 index 0000000..0f9e9e8 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-allocations.txt @@ -0,0 +1,9 @@ +memcap: <=7652 MiB (60% of 12753 MiB available) [systemd MemoryMax, swap off] +branches=1,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=1,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=11903 +branches=16,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=16,items=1000,allocations=1,reallocations=5,requested_bytes=32256,output_bytes=12647 +branches=64,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=64,items=1000,allocations=2,reallocations=5,requested_bytes=35472,output_bytes=13583 +branches=256,items=1,allocations=1,reallocations=0,requested_bytes=512,output_bytes=23 +branches=256,items=1000,allocations=2,reallocations=5,requested_bytes=45072,output_bytes=15023 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-build.txt new file mode 100644 index 0000000..7d15b4a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-build.txt @@ -0,0 +1,37 @@ +memcap: <=7700 MiB (60% of 12833 MiB available) [systemd MemoryMax, swap off] + Compiling proc-macro2 v1.0.107 + Compiling unicode-ident v1.0.26 + Compiling quote v1.0.47 + Compiling syn v3.0.6 + Compiling serde_core v1.0.229 + Compiling memchr v2.8.3 + Compiling lexical-util v1.0.7 + Compiling serde v1.0.229 + Compiling serde_derive v1.0.229 + Compiling siphasher v1.0.4 + Compiling zmij v1.0.23 + Compiling phf_shared v0.14.0 + Compiling lexical-write-integer v1.0.6 + Compiling lexical-parse-integer v1.0.6 + Compiling aho-corasick v1.1.5 + Compiling serde_json v1.0.151 + Compiling regex-syntax v0.8.11 + Compiling thiserror v2.0.21 + Compiling fastrand v2.5.0 + Compiling phf_generator v0.14.0 + Compiling regex-automata v0.4.18 + Compiling lexical-parse-float v1.0.6 + Compiling lexical-write-float v1.0.6 + Compiling thiserror-impl v2.0.21 + Compiling memo-map v0.3.4 + Compiling itoa v1.0.18 + Compiling minijinja v2.24.0 + Compiling lexical-core v1.0.6 + Compiling regex v1.13.1 + Compiling phf_codegen v0.14.0 + Compiling quick-xml v0.42.0 + Compiling heck v0.5.0 + Compiling smallvec v1.16.2 + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling branch-allocations v0.0.0 (/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/branch-allocations-current) + Finished `release` profile [optimized] target(s) in 1m 05s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-harness.rs new file mode 100644 index 0000000..c875031 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-harness.rs @@ -0,0 +1,89 @@ +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize,serialize,PolyValue}; +use std::{hint::black_box,sync::Arc}; +use std::alloc::{GlobalAlloc, Layout, System}; +use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; + +struct CountingAllocator; +static COUNTING: AtomicBool = AtomicBool::new(false); +static ALLOCATIONS: AtomicUsize = AtomicUsize::new(0); +static REALLOCATIONS: AtomicUsize = AtomicUsize::new(0); +static BYTES: AtomicUsize = AtomicUsize::new(0); + +// Diagnostic instrumentation only. The benchmark consumers use System directly. +unsafe impl GlobalAlloc for CountingAllocator { + unsafe fn alloc(&self, layout: Layout) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + ALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(layout.size(), Ordering::Relaxed); + } + unsafe { System.alloc(layout) } + } + unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + ALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(layout.size(), Ordering::Relaxed); + } + unsafe { System.alloc_zeroed(layout) } + } + unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) { + unsafe { System.dealloc(ptr, layout) } + } + unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8 { + if COUNTING.load(Ordering::Relaxed) { + REALLOCATIONS.fetch_add(1, Ordering::Relaxed); + BYTES.fetch_add(new_size, Ordering::Relaxed); + } + unsafe { System.realloc(ptr, layout, new_size) } + } +} +#[global_allocator] +static ALLOCATOR: CountingAllocator = CountingAllocator; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + + +fn main() { + for branches in [1,16,64,256] { for count in [1,1000] { + let (schema,xml)=fixture(branches,count); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root",&value,&schema,None).unwrap()); } + ALLOCATIONS.store(0,Ordering::Relaxed);REALLOCATIONS.store(0,Ordering::Relaxed);BYTES.store(0,Ordering::Relaxed); + COUNTING.store(true,Ordering::Relaxed); + let output=serialize("Root",&value,&schema,None).unwrap(); + COUNTING.store(false,Ordering::Relaxed); + println!("branches={branches},items={count},allocations={},reallocations={},requested_bytes={},output_bytes={}",ALLOCATIONS.load(Ordering::Relaxed),REALLOCATIONS.load(Ordering::Relaxed),BYTES.load(Ordering::Relaxed),output.len()); + } } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-metadata.json new file mode 100644 index 0000000..077ddef --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-allocations/current-metadata.json @@ -0,0 +1,16 @@ +{ + "revision": "d3bf1728be1d265b6b5d317946492cec9b4a6f8c", + "items": [ + 1, + 1000 + ], + "branches": [ + 1, + 16, + 64, + 256 + ], + "operations": 1, + "warmup_operations": 3, + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-0.txt new file mode 100644 index 0000000..d40ea5f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-0.txt @@ -0,0 +1,48 @@ +memcap: <=7659 MiB (60% of 12766 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0136 s (34k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [144.37 µs 145.44 µs 146.94 µs] + thrpt: [187.59 MiB/s 189.53 MiB/s 190.93 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 2 (2.00%) high mild + 8 (8.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0005 s (42k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [118.54 µs 120.76 µs 124.16 µs] + thrpt: [321.85 MiB/s 330.92 MiB/s 337.10 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 4 (4.00%) high mild + 3 (3.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0004 s (61k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.299 µs 80.605 µs 80.981 µs] + thrpt: [235.68 MiB/s 236.78 MiB/s 237.68 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 4 (4.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0072 s (34k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.80 µs 145.33 µs 145.98 µs] + thrpt: [124.21 MiB/s 124.77 MiB/s 125.22 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 7 (7.00%) high mild + 3 (3.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0039 s (50k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [97.760 µs 98.080 µs 98.475 µs] + thrpt: [367.07 MiB/s 368.55 MiB/s 369.75 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 3 (3.00%) high mild + 4 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-1.txt new file mode 100644 index 0000000..bda93d7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-1.txt @@ -0,0 +1,48 @@ +memcap: <=7703 MiB (60% of 12839 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0039 s (34k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [144.77 µs 145.64 µs 146.67 µs] + thrpt: [187.94 MiB/s 189.26 MiB/s 190.40 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 4 (4.00%) high mild + 10 (10.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0015 s (47k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [105.61 µs 106.00 µs 106.44 µs] + thrpt: [375.46 MiB/s 377.00 MiB/s 378.39 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 5 (5.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0068 s (62k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.273 µs 80.769 µs 81.369 µs] + thrpt: [234.56 MiB/s 236.30 MiB/s 237.76 MiB/s] +Found 6 outliers among 100 measurements (6.00%) + 1 (1.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0037 s (34k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [143.93 µs 144.29 µs 144.73 µs] + thrpt: [125.28 MiB/s 125.66 MiB/s 125.98 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 4 (4.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0029 s (51k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [97.805 µs 98.449 µs 99.344 µs] + thrpt: [363.86 MiB/s 367.17 MiB/s 369.58 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 7 (7.00%) high mild + 7 (7.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-2.txt new file mode 100644 index 0000000..086fdea --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-2.txt @@ -0,0 +1,48 @@ +memcap: <=7707 MiB (60% of 12845 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0070 s (34k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [144.56 µs 145.33 µs 146.28 µs] + thrpt: [188.44 MiB/s 189.67 MiB/s 190.67 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 3 (3.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0037 s (52k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [94.106 µs 94.703 µs 95.447 µs] + thrpt: [418.68 MiB/s 421.97 MiB/s 424.65 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 3 (3.00%) high mild + 8 (8.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0067 s (63k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [79.355 µs 79.863 µs 80.490 µs] + thrpt: [237.12 MiB/s 238.98 MiB/s 240.51 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 2 (2.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0006 s (35k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [142.89 µs 144.25 µs 146.07 µs] + thrpt: [124.13 MiB/s 125.70 MiB/s 126.89 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 3 (3.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0045 s (50k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [97.124 µs 97.760 µs 98.507 µs] + thrpt: [366.95 MiB/s 369.75 MiB/s 372.18 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 2 (2.00%) high mild + 9 (9.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-build.txt new file mode 100644 index 0000000..389d232 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7707 MiB (60% of 12845 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.85s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/criterion-SHA256SUMS new file mode 100644 index 0000000..eacdee1 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/criterion-SHA256SUMS @@ -0,0 +1,240 @@ +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/base/benchmark.json +6f2f11dd98e4e3e7953a0494283c82c0ab08d6b8723c6896598faf8cc3897a86 baseline-0/mixed_write/enum/1000/base/estimates.json +7efb4b2dd47c627ee147668bb649e87a64b8363b7bed2e443b3d2a9b0db43ecd baseline-0/mixed_write/enum/1000/base/sample.json +487f8aef43be0143578ff3ff82704e0b155f97b0a55ce9f004f530e3337c3103 baseline-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/new/benchmark.json +6f2f11dd98e4e3e7953a0494283c82c0ab08d6b8723c6896598faf8cc3897a86 baseline-0/mixed_write/enum/1000/new/estimates.json +7efb4b2dd47c627ee147668bb649e87a64b8363b7bed2e443b3d2a9b0db43ecd baseline-0/mixed_write/enum/1000/new/sample.json +487f8aef43be0143578ff3ff82704e0b155f97b0a55ce9f004f530e3337c3103 baseline-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/base/benchmark.json +1a3add086b5483c5e961052814fe0dadc43ff9b1f5dc2a2fe0f967e752f12437 baseline-0/mixed_write/nested/1000/base/estimates.json +2dd50d332506eea9c157510c476304308d990d4044685e22c63de9b2fc40c5f2 baseline-0/mixed_write/nested/1000/base/sample.json +790db580f8ce09488661317309757a79b85a742c541db51b4d7c15505c88980b baseline-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/new/benchmark.json +1a3add086b5483c5e961052814fe0dadc43ff9b1f5dc2a2fe0f967e752f12437 baseline-0/mixed_write/nested/1000/new/estimates.json +2dd50d332506eea9c157510c476304308d990d4044685e22c63de9b2fc40c5f2 baseline-0/mixed_write/nested/1000/new/sample.json +790db580f8ce09488661317309757a79b85a742c541db51b4d7c15505c88980b baseline-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/base/benchmark.json +ad933d3895ca88fe5bc7b52dcd42eee293a5c95572506e40bd18e2351f6d944f baseline-0/mixed_write/pattern/1000/base/estimates.json +aa85dbbabe689bbcc79b8adbe3c74f6f72cb12ee3ed2d2125a2ae2ad8a595640 baseline-0/mixed_write/pattern/1000/base/sample.json +0204b28e5aa2f98b9073a6d831eb57a3b55feffb9ba3b08a6e275ed787c86f44 baseline-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/new/benchmark.json +ad933d3895ca88fe5bc7b52dcd42eee293a5c95572506e40bd18e2351f6d944f baseline-0/mixed_write/pattern/1000/new/estimates.json +aa85dbbabe689bbcc79b8adbe3c74f6f72cb12ee3ed2d2125a2ae2ad8a595640 baseline-0/mixed_write/pattern/1000/new/sample.json +0204b28e5aa2f98b9073a6d831eb57a3b55feffb9ba3b08a6e275ed787c86f44 baseline-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/base/benchmark.json +c942c4d0dcad53215d650e558666ae747bc2e83f9438d596bc6d550f95d5276d baseline-0/mixed_write/scalar/1000/base/estimates.json +f07e9192d156a81cb060e681982042cde5b20b4544fd9dd408feef156b0a3451 baseline-0/mixed_write/scalar/1000/base/sample.json +6b0593550073d4eb54043d4af3f600de601597232b301ce9ab790a36d4fa28cf baseline-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/new/benchmark.json +c942c4d0dcad53215d650e558666ae747bc2e83f9438d596bc6d550f95d5276d baseline-0/mixed_write/scalar/1000/new/estimates.json +f07e9192d156a81cb060e681982042cde5b20b4544fd9dd408feef156b0a3451 baseline-0/mixed_write/scalar/1000/new/sample.json +6b0593550073d4eb54043d4af3f600de601597232b301ce9ab790a36d4fa28cf baseline-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/base/benchmark.json +b0a2c07a61bced0f493c7776436e05c2b7440ababaf0279a60bf1d679779f84a baseline-0/mixed_write/text/1000/base/estimates.json +eb1c61dda4953ff9005ca6bd8b8ebc41ece6d8c851f9b994e99858ebeb7f68a1 baseline-0/mixed_write/text/1000/base/sample.json +28e84f5fc03ebff6589a258b8b3f075069160d8c5e10205203e892270c1e710c baseline-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/new/benchmark.json +b0a2c07a61bced0f493c7776436e05c2b7440ababaf0279a60bf1d679779f84a baseline-0/mixed_write/text/1000/new/estimates.json +eb1c61dda4953ff9005ca6bd8b8ebc41ece6d8c851f9b994e99858ebeb7f68a1 baseline-0/mixed_write/text/1000/new/sample.json +28e84f5fc03ebff6589a258b8b3f075069160d8c5e10205203e892270c1e710c baseline-0/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/base/benchmark.json +0c4d9eeee1c9429678ff37071f0a9131172638768045ba48e6ef9fce6f4e412c baseline-1/mixed_write/enum/1000/base/estimates.json +707099f45587dd245f320a59d0b2a3919cc9fa100dabe06aab4c678b02a8b78b baseline-1/mixed_write/enum/1000/base/sample.json +17e7cc24e0548226c0f88c1a1740367d61d37dc26a58f67bba20830bca25dd3f baseline-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/new/benchmark.json +0c4d9eeee1c9429678ff37071f0a9131172638768045ba48e6ef9fce6f4e412c baseline-1/mixed_write/enum/1000/new/estimates.json +707099f45587dd245f320a59d0b2a3919cc9fa100dabe06aab4c678b02a8b78b baseline-1/mixed_write/enum/1000/new/sample.json +17e7cc24e0548226c0f88c1a1740367d61d37dc26a58f67bba20830bca25dd3f baseline-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/base/benchmark.json +0d4ddfc261511b830b0f01e300ba2700f772ac00f879138eed773fe856d56e45 baseline-1/mixed_write/nested/1000/base/estimates.json +7ae352f87aa8b7227fa822fe365e7cd8f227b09502e650d91e001d62ccf20609 baseline-1/mixed_write/nested/1000/base/sample.json +01606de5ad0e6f02ff61bedfa9e8d68b36131d70f46e9ec1a76ea8657eea4dc0 baseline-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/new/benchmark.json +0d4ddfc261511b830b0f01e300ba2700f772ac00f879138eed773fe856d56e45 baseline-1/mixed_write/nested/1000/new/estimates.json +7ae352f87aa8b7227fa822fe365e7cd8f227b09502e650d91e001d62ccf20609 baseline-1/mixed_write/nested/1000/new/sample.json +01606de5ad0e6f02ff61bedfa9e8d68b36131d70f46e9ec1a76ea8657eea4dc0 baseline-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/base/benchmark.json +3352b8f79c7cc3243aca59cb7d1c1bf0ab427e557caca2f00be583404e5d5dc0 baseline-1/mixed_write/pattern/1000/base/estimates.json +9a7e20e8fc57d64600059f2d389cf6e7eee5be1824e146999c462873f2981ec3 baseline-1/mixed_write/pattern/1000/base/sample.json +c59f8689d4a4acef341e1e243353181c26dd630a68c6de788d75ceb6714f7ea6 baseline-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/new/benchmark.json +3352b8f79c7cc3243aca59cb7d1c1bf0ab427e557caca2f00be583404e5d5dc0 baseline-1/mixed_write/pattern/1000/new/estimates.json +9a7e20e8fc57d64600059f2d389cf6e7eee5be1824e146999c462873f2981ec3 baseline-1/mixed_write/pattern/1000/new/sample.json +c59f8689d4a4acef341e1e243353181c26dd630a68c6de788d75ceb6714f7ea6 baseline-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/base/benchmark.json +eab7b368552acfa27b6d1b37134575cf0b708165a311bc4708bfbc7ad5d7dfbb baseline-1/mixed_write/scalar/1000/base/estimates.json +6baafae4abc98613464004e7e4855229dacd0c80d945aaef289c4fb5c28f9c38 baseline-1/mixed_write/scalar/1000/base/sample.json +4e87cef982c2a715c3eb09b2b513ce1fd70710a0204742e2e869ee039d9f8041 baseline-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/new/benchmark.json +eab7b368552acfa27b6d1b37134575cf0b708165a311bc4708bfbc7ad5d7dfbb baseline-1/mixed_write/scalar/1000/new/estimates.json +6baafae4abc98613464004e7e4855229dacd0c80d945aaef289c4fb5c28f9c38 baseline-1/mixed_write/scalar/1000/new/sample.json +4e87cef982c2a715c3eb09b2b513ce1fd70710a0204742e2e869ee039d9f8041 baseline-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/base/benchmark.json +dcb0c496b113854269db1a26d5ffdcc35750d950be47154157aeaf0dfc36000c baseline-1/mixed_write/text/1000/base/estimates.json +c39ef72f46eb850f1ea8b339ecf07ffed11260a8feca7fb4692e4c08e265b2cd baseline-1/mixed_write/text/1000/base/sample.json +faefee43067b253a3e7eb263d3d455f04b7ad6e0d498149b19f50c1a951f3dca baseline-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/new/benchmark.json +dcb0c496b113854269db1a26d5ffdcc35750d950be47154157aeaf0dfc36000c baseline-1/mixed_write/text/1000/new/estimates.json +c39ef72f46eb850f1ea8b339ecf07ffed11260a8feca7fb4692e4c08e265b2cd baseline-1/mixed_write/text/1000/new/sample.json +faefee43067b253a3e7eb263d3d455f04b7ad6e0d498149b19f50c1a951f3dca baseline-1/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-2/mixed_write/enum/1000/base/benchmark.json +f7bb014f8572f082b521436bab301102b6263078bc05c327624eed776afbff4d baseline-2/mixed_write/enum/1000/base/estimates.json +344a8dc6651de277bb114c5682b6a2e0735559d585d4e51804dcdab57abdcdd6 baseline-2/mixed_write/enum/1000/base/sample.json +d1090e26be4b147fc50e9ffa47ac48ff6d97b859418c9690d8e4b86e508b4f49 baseline-2/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-2/mixed_write/enum/1000/new/benchmark.json +f7bb014f8572f082b521436bab301102b6263078bc05c327624eed776afbff4d baseline-2/mixed_write/enum/1000/new/estimates.json +344a8dc6651de277bb114c5682b6a2e0735559d585d4e51804dcdab57abdcdd6 baseline-2/mixed_write/enum/1000/new/sample.json +d1090e26be4b147fc50e9ffa47ac48ff6d97b859418c9690d8e4b86e508b4f49 baseline-2/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-2/mixed_write/nested/1000/base/benchmark.json +c18393b9d743ffc8fc9566e83da610bb3ac3f50c2fc5246e667d813f19efa316 baseline-2/mixed_write/nested/1000/base/estimates.json +5404e7bfc9e615f195baa3e62ccb9271cf263f0413e91a2ae2df9259978e7c17 baseline-2/mixed_write/nested/1000/base/sample.json +f8776602a73300be0b1faf0557ff9e545383d3b94df3b7c96e982e84c59cbed4 baseline-2/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-2/mixed_write/nested/1000/new/benchmark.json +c18393b9d743ffc8fc9566e83da610bb3ac3f50c2fc5246e667d813f19efa316 baseline-2/mixed_write/nested/1000/new/estimates.json +5404e7bfc9e615f195baa3e62ccb9271cf263f0413e91a2ae2df9259978e7c17 baseline-2/mixed_write/nested/1000/new/sample.json +f8776602a73300be0b1faf0557ff9e545383d3b94df3b7c96e982e84c59cbed4 baseline-2/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-2/mixed_write/pattern/1000/base/benchmark.json +b95a1f30c54203c310fed3f1114ea6157ddd77ce5fb070e141e37cc1c5dae232 baseline-2/mixed_write/pattern/1000/base/estimates.json +136f963a38afa8c6e6852a049979f869fb7e4949020e41d600040f8f633d653b baseline-2/mixed_write/pattern/1000/base/sample.json +c91247022aa2c88a5c39963e972b7d9af8f6a9e2d35f975c6ba3673fd49b72df baseline-2/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-2/mixed_write/pattern/1000/new/benchmark.json +b95a1f30c54203c310fed3f1114ea6157ddd77ce5fb070e141e37cc1c5dae232 baseline-2/mixed_write/pattern/1000/new/estimates.json +136f963a38afa8c6e6852a049979f869fb7e4949020e41d600040f8f633d653b baseline-2/mixed_write/pattern/1000/new/sample.json +c91247022aa2c88a5c39963e972b7d9af8f6a9e2d35f975c6ba3673fd49b72df baseline-2/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-2/mixed_write/scalar/1000/base/benchmark.json +e70c8ed422bb132bc60218fe96218f97debc19a8b82c09c3f4c391d23d5abd25 baseline-2/mixed_write/scalar/1000/base/estimates.json +99fac9ce560141d914c1ec1017700ec84643b3662e0312a58713ec475920f487 baseline-2/mixed_write/scalar/1000/base/sample.json +c8da1b45205c24923f010ca8c2250645275621630f34e1fbc6385905c0fbfb63 baseline-2/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-2/mixed_write/scalar/1000/new/benchmark.json +e70c8ed422bb132bc60218fe96218f97debc19a8b82c09c3f4c391d23d5abd25 baseline-2/mixed_write/scalar/1000/new/estimates.json +99fac9ce560141d914c1ec1017700ec84643b3662e0312a58713ec475920f487 baseline-2/mixed_write/scalar/1000/new/sample.json +c8da1b45205c24923f010ca8c2250645275621630f34e1fbc6385905c0fbfb63 baseline-2/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-2/mixed_write/text/1000/base/benchmark.json +53d7f05c874f35c4489844f4c90407de797881aa233f4542d193e4a6e14adef8 baseline-2/mixed_write/text/1000/base/estimates.json +fa1fd4c1950cca8a06c9a9cac0d3ecf88dfe6ee318601cca9ed1d8eab7fcec0a baseline-2/mixed_write/text/1000/base/sample.json +85e978373ad3b3b422480e5ea867dcff85e1cd443b714ad2f82e68fa64211aff baseline-2/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-2/mixed_write/text/1000/new/benchmark.json +53d7f05c874f35c4489844f4c90407de797881aa233f4542d193e4a6e14adef8 baseline-2/mixed_write/text/1000/new/estimates.json +fa1fd4c1950cca8a06c9a9cac0d3ecf88dfe6ee318601cca9ed1d8eab7fcec0a baseline-2/mixed_write/text/1000/new/sample.json +85e978373ad3b3b422480e5ea867dcff85e1cd443b714ad2f82e68fa64211aff baseline-2/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/base/benchmark.json +51703d3e95190c0e7e000f89e961e18b8fdfae019adee81a570a121300783428 current-0/mixed_write/enum/1000/base/estimates.json +d23dfb1601680aafe6a7d858a6b1ca4e285c4630eea9aa6961e81907c3b41ade current-0/mixed_write/enum/1000/base/sample.json +9a5bb93b3abe8bca76fe46205bbfa2dfe6be0691b1fda9def2e433cf99cbc1f2 current-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/new/benchmark.json +51703d3e95190c0e7e000f89e961e18b8fdfae019adee81a570a121300783428 current-0/mixed_write/enum/1000/new/estimates.json +d23dfb1601680aafe6a7d858a6b1ca4e285c4630eea9aa6961e81907c3b41ade current-0/mixed_write/enum/1000/new/sample.json +9a5bb93b3abe8bca76fe46205bbfa2dfe6be0691b1fda9def2e433cf99cbc1f2 current-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/base/benchmark.json +f53d63b38aeb1d9c077ae9a8ff949764d9d8be1d94481d8d59148ff63f651936 current-0/mixed_write/nested/1000/base/estimates.json +9bad32ba18da21e4a4563069dacbf4df519540356dc63aa714efa0a679b0bcf0 current-0/mixed_write/nested/1000/base/sample.json +c51e01195eed58381615d7bce26a5e38ca2f235c6fcac987256386dbc279a7e4 current-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/new/benchmark.json +f53d63b38aeb1d9c077ae9a8ff949764d9d8be1d94481d8d59148ff63f651936 current-0/mixed_write/nested/1000/new/estimates.json +9bad32ba18da21e4a4563069dacbf4df519540356dc63aa714efa0a679b0bcf0 current-0/mixed_write/nested/1000/new/sample.json +c51e01195eed58381615d7bce26a5e38ca2f235c6fcac987256386dbc279a7e4 current-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/base/benchmark.json +dc9e53e0933488088f2c0a22d1777fc2d768a12c971623a3d4ee83ca94a5ab75 current-0/mixed_write/pattern/1000/base/estimates.json +414257b54c8d65fc5e4b9a91f4f51e6b488448c231c7cf66fed26373094da99c current-0/mixed_write/pattern/1000/base/sample.json +412845881a5002ad48fd27bc0cea174465724b96171babf2e84a40caaf189f11 current-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/new/benchmark.json +dc9e53e0933488088f2c0a22d1777fc2d768a12c971623a3d4ee83ca94a5ab75 current-0/mixed_write/pattern/1000/new/estimates.json +414257b54c8d65fc5e4b9a91f4f51e6b488448c231c7cf66fed26373094da99c current-0/mixed_write/pattern/1000/new/sample.json +412845881a5002ad48fd27bc0cea174465724b96171babf2e84a40caaf189f11 current-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/base/benchmark.json +9b8a8ecec46f4102a54f1adf19b2d36d2913c3bdb286048e3c983bcd2ea06b5c current-0/mixed_write/scalar/1000/base/estimates.json +c62c7a18626a6a979bd854508f07452d08c8edcf0dd813918aa1b6b0f39f1a71 current-0/mixed_write/scalar/1000/base/sample.json +137d635e78f1a23cd80d92147197eb5bdc618f10d1e97251ba7fce869547a568 current-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/new/benchmark.json +9b8a8ecec46f4102a54f1adf19b2d36d2913c3bdb286048e3c983bcd2ea06b5c current-0/mixed_write/scalar/1000/new/estimates.json +c62c7a18626a6a979bd854508f07452d08c8edcf0dd813918aa1b6b0f39f1a71 current-0/mixed_write/scalar/1000/new/sample.json +137d635e78f1a23cd80d92147197eb5bdc618f10d1e97251ba7fce869547a568 current-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/base/benchmark.json +0e35b47af98f6c80e41f00941b55e9628e66c40b4a24c934737ab88ff086cc22 current-0/mixed_write/text/1000/base/estimates.json +deff117146f269ee69b8dc22f64aed141b8f144ce8887a291e72fa036ae000f1 current-0/mixed_write/text/1000/base/sample.json +fe303f72aae9d8e8543eabf775b358cba74eacb52d5fd052810c260bfb68f8f5 current-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/new/benchmark.json +0e35b47af98f6c80e41f00941b55e9628e66c40b4a24c934737ab88ff086cc22 current-0/mixed_write/text/1000/new/estimates.json +deff117146f269ee69b8dc22f64aed141b8f144ce8887a291e72fa036ae000f1 current-0/mixed_write/text/1000/new/sample.json +fe303f72aae9d8e8543eabf775b358cba74eacb52d5fd052810c260bfb68f8f5 current-0/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/base/benchmark.json +44d672e524e315f13cf47ff9aa8a0efbfafa3ff7eb4d19a45f9103945cec3042 current-1/mixed_write/enum/1000/base/estimates.json +3c69673fb1f175b20f7e9747355a341a5237bd00f569100a011b3035f74a43a5 current-1/mixed_write/enum/1000/base/sample.json +d4694729ad3b18a33b5bc3b9b9e96f24be2d60b66317465f5b6be44c71d26c87 current-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/new/benchmark.json +44d672e524e315f13cf47ff9aa8a0efbfafa3ff7eb4d19a45f9103945cec3042 current-1/mixed_write/enum/1000/new/estimates.json +3c69673fb1f175b20f7e9747355a341a5237bd00f569100a011b3035f74a43a5 current-1/mixed_write/enum/1000/new/sample.json +d4694729ad3b18a33b5bc3b9b9e96f24be2d60b66317465f5b6be44c71d26c87 current-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/base/benchmark.json +e4030a1a293f6d4b0a1ad24133f6e853e6a377e832d6939e81b2cbee891c1107 current-1/mixed_write/nested/1000/base/estimates.json +5304f8df8d3aa80a30a533a989e6535987eaaa75838c7baee6ebcd573b9643b0 current-1/mixed_write/nested/1000/base/sample.json +b2d0c352f58a0d1a4c2d695250867100e309250527a40b2a1a5da75d9f8d8d60 current-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/new/benchmark.json +e4030a1a293f6d4b0a1ad24133f6e853e6a377e832d6939e81b2cbee891c1107 current-1/mixed_write/nested/1000/new/estimates.json +5304f8df8d3aa80a30a533a989e6535987eaaa75838c7baee6ebcd573b9643b0 current-1/mixed_write/nested/1000/new/sample.json +b2d0c352f58a0d1a4c2d695250867100e309250527a40b2a1a5da75d9f8d8d60 current-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/base/benchmark.json +655041537fc3acd975815f520b2c14829bdeb414c8182d7d5c0526fe83f11107 current-1/mixed_write/pattern/1000/base/estimates.json +1a73abee1cb50d40c39a8114d8e7d3741cf02418f6b3b3463bd0fb684bb9b9b1 current-1/mixed_write/pattern/1000/base/sample.json +ec7d6f6d4fe9c8ad43ea54c631e193f0979480fdb0e63396afc902237fad0a05 current-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/new/benchmark.json +655041537fc3acd975815f520b2c14829bdeb414c8182d7d5c0526fe83f11107 current-1/mixed_write/pattern/1000/new/estimates.json +1a73abee1cb50d40c39a8114d8e7d3741cf02418f6b3b3463bd0fb684bb9b9b1 current-1/mixed_write/pattern/1000/new/sample.json +ec7d6f6d4fe9c8ad43ea54c631e193f0979480fdb0e63396afc902237fad0a05 current-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/base/benchmark.json +46c9ca9e466e69b99d768a1985318ca6f246f30571a80dd4fe12033391de5dd6 current-1/mixed_write/scalar/1000/base/estimates.json +a08298f4e244e880a15de1c03237a4916efa5b0419cf179a785c1f364dbbad8a current-1/mixed_write/scalar/1000/base/sample.json +cd2c621f2a1e618a88df0a3846543e5bbc4747ea3c2c758aba8bcbdc12fe9c0d current-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/new/benchmark.json +46c9ca9e466e69b99d768a1985318ca6f246f30571a80dd4fe12033391de5dd6 current-1/mixed_write/scalar/1000/new/estimates.json +a08298f4e244e880a15de1c03237a4916efa5b0419cf179a785c1f364dbbad8a current-1/mixed_write/scalar/1000/new/sample.json +cd2c621f2a1e618a88df0a3846543e5bbc4747ea3c2c758aba8bcbdc12fe9c0d current-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/base/benchmark.json +906f6c7f014b9922bf84f57ab87a25ad003fe4b4682a1cb038f540aa647490fe current-1/mixed_write/text/1000/base/estimates.json +22204047986cf28ffb9aad2b83fca6c5ad1180bc8d9c23167cdda5fcc9e9064e current-1/mixed_write/text/1000/base/sample.json +42715abc1611f345049cb4096db54b71fe0a55d35dd9c9057f803e0c522516c0 current-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/new/benchmark.json +906f6c7f014b9922bf84f57ab87a25ad003fe4b4682a1cb038f540aa647490fe current-1/mixed_write/text/1000/new/estimates.json +22204047986cf28ffb9aad2b83fca6c5ad1180bc8d9c23167cdda5fcc9e9064e current-1/mixed_write/text/1000/new/sample.json +42715abc1611f345049cb4096db54b71fe0a55d35dd9c9057f803e0c522516c0 current-1/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-2/mixed_write/enum/1000/base/benchmark.json +c51066cc257be077d33ad47702fa52449dde62d5268873349e6f8e5b8b3a0174 current-2/mixed_write/enum/1000/base/estimates.json +69b5ab21855cc522356d8999016760c1817c5b62e0349788ea29718dd65d40fc current-2/mixed_write/enum/1000/base/sample.json +f536c2da83ba69c01f56da49de406b7e91e2599ced17da6868f05a7b3d0bd1f9 current-2/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-2/mixed_write/enum/1000/new/benchmark.json +c51066cc257be077d33ad47702fa52449dde62d5268873349e6f8e5b8b3a0174 current-2/mixed_write/enum/1000/new/estimates.json +69b5ab21855cc522356d8999016760c1817c5b62e0349788ea29718dd65d40fc current-2/mixed_write/enum/1000/new/sample.json +f536c2da83ba69c01f56da49de406b7e91e2599ced17da6868f05a7b3d0bd1f9 current-2/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-2/mixed_write/nested/1000/base/benchmark.json +1c1c3e833d5dc520d2c544447576c147c4176c32b281505f18f0ed551dc7c371 current-2/mixed_write/nested/1000/base/estimates.json +fc8083088b1019f7ed08dda31801fa1e6e78bd55df7171d600fa135e18f1603e current-2/mixed_write/nested/1000/base/sample.json +7b85fe066df3c316db9a11a9e428b90246d72ad7ee717277ac15a622e214d4af current-2/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-2/mixed_write/nested/1000/new/benchmark.json +1c1c3e833d5dc520d2c544447576c147c4176c32b281505f18f0ed551dc7c371 current-2/mixed_write/nested/1000/new/estimates.json +fc8083088b1019f7ed08dda31801fa1e6e78bd55df7171d600fa135e18f1603e current-2/mixed_write/nested/1000/new/sample.json +7b85fe066df3c316db9a11a9e428b90246d72ad7ee717277ac15a622e214d4af current-2/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-2/mixed_write/pattern/1000/base/benchmark.json +fce4add3fc12cd702129828f2cdd0de437e52a3134892223c97923a9b7961549 current-2/mixed_write/pattern/1000/base/estimates.json +518c5587c98f92bf8e60a3ed42c34f7f8873f00e6f489da312de09c34e19d0ac current-2/mixed_write/pattern/1000/base/sample.json +4ffd8bf0889390e0a4b499d92314a79390a2d00c1209ca8e615eda5694fbc8ee current-2/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-2/mixed_write/pattern/1000/new/benchmark.json +fce4add3fc12cd702129828f2cdd0de437e52a3134892223c97923a9b7961549 current-2/mixed_write/pattern/1000/new/estimates.json +518c5587c98f92bf8e60a3ed42c34f7f8873f00e6f489da312de09c34e19d0ac current-2/mixed_write/pattern/1000/new/sample.json +4ffd8bf0889390e0a4b499d92314a79390a2d00c1209ca8e615eda5694fbc8ee current-2/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-2/mixed_write/scalar/1000/base/benchmark.json +74d90dfbf2f5fa4b77489bd4e54b8d640fb2bfaa62a26733d63f34924e887183 current-2/mixed_write/scalar/1000/base/estimates.json +c005da9e2dcf76d83c582485a98a1a9d3204b7978dfbc256f91f86431accb0e4 current-2/mixed_write/scalar/1000/base/sample.json +0f53e9e9b483cd6100966f455f5e4c78eb4d6d9950bbc407e17b24058f68d248 current-2/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-2/mixed_write/scalar/1000/new/benchmark.json +74d90dfbf2f5fa4b77489bd4e54b8d640fb2bfaa62a26733d63f34924e887183 current-2/mixed_write/scalar/1000/new/estimates.json +c005da9e2dcf76d83c582485a98a1a9d3204b7978dfbc256f91f86431accb0e4 current-2/mixed_write/scalar/1000/new/sample.json +0f53e9e9b483cd6100966f455f5e4c78eb4d6d9950bbc407e17b24058f68d248 current-2/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-2/mixed_write/text/1000/base/benchmark.json +9f8dc1667a4a3fcf3e4088b328cf9a76cfb6b9a836c18681e367ffb5064823e1 current-2/mixed_write/text/1000/base/estimates.json +6f98b43b5140ec0f22ef62df8bb102b04df7cce31c13a8fc3089ac138f942ab4 current-2/mixed_write/text/1000/base/sample.json +26f6c0c910f097dd3e45d28c83cac632f10d6de80eaec3be50474ed75842adf4 current-2/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-2/mixed_write/text/1000/new/benchmark.json +9f8dc1667a4a3fcf3e4088b328cf9a76cfb6b9a836c18681e367ffb5064823e1 current-2/mixed_write/text/1000/new/estimates.json +6f98b43b5140ec0f22ef62df8bb102b04df7cce31c13a8fc3089ac138f942ab4 current-2/mixed_write/text/1000/new/sample.json +26f6c0c910f097dd3e45d28c83cac632f10d6de80eaec3be50474ed75842adf4 current-2/mixed_write/text/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/criterion-results.tar.gz new file mode 100644 index 0000000..6542600 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-0.txt new file mode 100644 index 0000000..182db68 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-0.txt @@ -0,0 +1,48 @@ +memcap: <=7702 MiB (60% of 12837 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0007 s (36k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [136.84 µs 137.72 µs 139.05 µs] + thrpt: [198.23 MiB/s 200.15 MiB/s 201.44 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 4 (4.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0000 s (47k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [104.87 µs 105.68 µs 106.67 µs] + thrpt: [374.62 MiB/s 378.14 MiB/s 381.06 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 5 (5.00%) high mild + 8 (8.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0030 s (65k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [77.012 µs 77.849 µs 78.820 µs] + thrpt: [242.14 MiB/s 245.17 MiB/s 247.83 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 5 (5.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0072 s (36k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [136.30 µs 136.81 µs 137.37 µs] + thrpt: [132.00 MiB/s 132.54 MiB/s 133.03 MiB/s] +Found 5 outliers among 100 measurements (5.00%) + 3 (3.00%) high mild + 2 (2.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0013 s (52k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [94.860 µs 95.425 µs 96.085 µs] + thrpt: [376.20 MiB/s 378.80 MiB/s 381.06 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 2 (2.00%) high mild + 7 (7.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-1.txt new file mode 100644 index 0000000..bfee361 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-1.txt @@ -0,0 +1,48 @@ +memcap: <=7705 MiB (60% of 12842 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0038 s (36k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [138.69 µs 139.87 µs 141.27 µs] + thrpt: [195.11 MiB/s 197.07 MiB/s 198.75 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 4 (4.00%) high mild + 8 (8.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0065 s (48k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [102.91 µs 104.04 µs 105.69 µs] + thrpt: [378.12 MiB/s 384.10 MiB/s 388.34 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 4 (4.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0019 s (66k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [74.761 µs 75.162 µs 75.684 µs] + thrpt: [252.18 MiB/s 253.93 MiB/s 255.29 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 3 (3.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0028 s (36k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [135.88 µs 136.50 µs 137.24 µs] + thrpt: [132.12 MiB/s 132.84 MiB/s 133.45 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 2 (2.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0066 s (51k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [96.368 µs 97.061 µs 98.046 µs] + thrpt: [368.68 MiB/s 372.42 MiB/s 375.09 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 7 (7.00%) high mild + 4 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-2.txt new file mode 100644 index 0000000..0a4d1dc --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-2.txt @@ -0,0 +1,48 @@ +memcap: <=7707 MiB (60% of 12845 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0105 s (36k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [137.53 µs 138.00 µs 138.54 µs] + thrpt: [198.96 MiB/s 199.74 MiB/s 200.42 MiB/s] +Found 6 outliers among 100 measurements (6.00%) + 2 (2.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0046 s (53k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [94.890 µs 95.547 µs 96.352 µs] + thrpt: [414.75 MiB/s 418.24 MiB/s 421.14 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 5 (5.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0059 s (66k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [76.177 µs 77.003 µs 77.959 µs] + thrpt: [244.82 MiB/s 247.86 MiB/s 250.55 MiB/s] +Found 18 outliers among 100 measurements (18.00%) + 8 (8.00%) high mild + 10 (10.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0107 s (37k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [135.71 µs 136.26 µs 136.91 µs] + thrpt: [132.44 MiB/s 133.07 MiB/s 133.61 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 4 (4.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0074 s (53k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [95.415 µs 96.108 µs 96.975 µs] + thrpt: [372.75 MiB/s 376.11 MiB/s 378.84 MiB/s] +Found 15 outliers among 100 measurements (15.00%) + 6 (6.00%) high mild + 9 (9.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-build.txt new file mode 100644 index 0000000..793a9aa --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7659 MiB (60% of 12766 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.79s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/harness.rs new file mode 100644 index 0000000..7d0413e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/harness.rs @@ -0,0 +1,120 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["mixed_read", "mixed_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for kind in ["text", "scalar", "enum", "pattern", "nested"] { + let (schema, xml) = fixture(kind, 1000); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function(BenchmarkId::new(kind, 1000), |b| { + if operation == "mixed_read" { + b.iter(|| { + black_box(deserialize(black_box(&xml), Arc::clone(&schema)).unwrap()) + }); + } else { + b.iter(|| { + black_box(serialize("Root", black_box(&value), &schema, None).unwrap()) + }); + } + }); + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/metadata.json new file mode 100644 index 0000000..3e759f2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "58cb346f964b5196dfad62e8a62a8aa4beb9beef" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 100, + "warmup_seconds": 3.0, + "measurement_seconds": 5.0, + "rounds": 3, + "filter": "^mixed_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/summary.json new file mode 100644 index 0000000..edb0025 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common-sampled/summary.json @@ -0,0 +1,357 @@ +{ + "mixed_write/enum/1000": { + "baseline_ns": 80605.41379537959, + "candidate_ns": 77003.08932228915, + "delta_percent": -4.469085019816532, + "speedup": 1.0467815577893667, + "process_deltas_percent": [ + -3.4197982804833105, + -6.942078239819727, + -3.5807587525168882 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80299.25736922443, + "upper_bound": 80980.58653341586 + }, + "point_estimate": 80605.41379537959, + "standard_error": 174.6423910264313 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80273.16555348462, + "upper_bound": 81369.33672366288 + }, + "point_estimate": 80768.76735818476, + "standard_error": 281.5817411394025 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 79355.34950553799, + "upper_bound": 80490.23173773731 + }, + "point_estimate": 79862.7829113924, + "standard_error": 291.630293016041 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 77011.79812366002, + "upper_bound": 78820.16660183764 + }, + "point_estimate": 77848.87124042874, + "standard_error": 462.43024178247896 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 74761.14801432882, + "upper_bound": 75683.617142911 + }, + "point_estimate": 75161.7363348416, + "standard_error": 236.98779480126768 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 76176.7094318524, + "upper_bound": 77959.4278614458 + }, + "point_estimate": 77003.08932228915, + "standard_error": 456.74770533626946 + } + ] + } + }, + "mixed_write/nested/1000": { + "baseline_ns": 98080.12799603172, + "candidate_ns": 96107.74948669203, + "delta_percent": -2.0109868835198608, + "speedup": 1.0205225751292075, + "process_deltas_percent": [ + -2.7073174346968543, + -1.4096765856766114, + -1.6905357440217372 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97760.00178075401, + "upper_bound": 98474.95281696432 + }, + "point_estimate": 98080.12799603172, + "standard_error": 183.77360902681713 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97805.44832170925, + "upper_bound": 99343.8564277996 + }, + "point_estimate": 98449.09275049118, + "standard_error": 398.5962914257458 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97123.70496130956, + "upper_bound": 98507.22277331348 + }, + "point_estimate": 97760.42440476188, + "standard_error": 353.6183443463611 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 94860.39916108988, + "upper_bound": 96085.11826481833 + }, + "point_estimate": 95424.78759082216, + "standard_error": 313.7349421856039 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 96368.103822549, + "upper_bound": 98046.01219705888 + }, + "point_estimate": 97061.27894117645, + "standard_error": 437.696613250102 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 95414.52519676808, + "upper_bound": 96974.91226283272 + }, + "point_estimate": 96107.74948669203, + "standard_error": 399.85236632155966 + } + ] + } + }, + "mixed_write/pattern/1000": { + "baseline_ns": 144292.46912790695, + "candidate_ns": 136500.09766483514, + "delta_percent": -5.400400665515215, + "speedup": 1.057086929580119, + "process_deltas_percent": [ + -5.8642675391949, + -5.400400665515215, + -5.537762282933912 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144798.25790044243, + "upper_bound": 145977.57148598824 + }, + "point_estimate": 145327.47386430678, + "standard_error": 303.4800211412887 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 143929.27314607566, + "upper_bound": 144729.6762819768 + }, + "point_estimate": 144292.46912790695, + "standard_error": 204.96122160539093 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142893.7255795129, + "upper_bound": 146073.5743782235 + }, + "point_estimate": 144248.7153295129, + "standard_error": 823.0635656304541 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 136301.8419792818, + "upper_bound": 137365.80607389504 + }, + "point_estimate": 136805.0819889503, + "standard_error": 272.8051210096864 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 135877.3712445055, + "upper_bound": 137242.78083447806 + }, + "point_estimate": 136500.09766483514, + "standard_error": 349.77596295883916 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 135707.92078108108, + "upper_bound": 136907.7942466216 + }, + "point_estimate": 136260.56437837842, + "standard_error": 307.1254387593365 + } + ] + } + }, + "mixed_write/scalar/1000": { + "baseline_ns": 105999.19989361706, + "candidate_ns": 104040.42302277431, + "delta_percent": -1.8479166567376137, + "speedup": 1.0188270752264625, + "process_deltas_percent": [ + -12.489415693419737, + -1.8479166567376137, + 0.8920096818298306 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 118544.19815467625, + "upper_bound": 124163.33187829737 + }, + "point_estimate": 120761.38760191847, + "standard_error": 1501.6317365060381 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 105610.66962978725, + "upper_bound": 106435.4447340426 + }, + "point_estimate": 105999.19989361706, + "standard_error": 210.14868138039745 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 94105.64898187027, + "upper_bound": 95447.3673125 + }, + "point_estimate": 94702.51400763362, + "standard_error": 345.6718740084271 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 104869.26046466247, + "upper_bound": 106673.22133649793 + }, + "point_estimate": 105678.99590717303, + "standard_error": 460.868235223171 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 102905.07908074529, + "upper_bound": 105686.8481495859 + }, + "point_estimate": 104040.42302277431, + "standard_error": 727.8199977682528 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 94890.44879269451, + "upper_bound": 96351.79131593928 + }, + "point_estimate": 95547.26960151797, + "standard_error": 373.78148033457285 + } + ] + } + }, + "mixed_write/text/1000": { + "baseline_ns": 145435.18029239762, + "candidate_ns": 138002.92974860332, + "delta_percent": -5.110352618157277, + "speedup": 1.0538557446376933, + "process_deltas_percent": [ + -5.306256794878239, + -3.963856467379756, + -5.038633888261945 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144366.43207383042, + "upper_bound": 146935.30283333332 + }, + "point_estimate": 145435.18029239762, + "standard_error": 666.1173942311058 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144766.41907681155, + "upper_bound": 146665.52380942027 + }, + "point_estimate": 145641.3069565218, + "standard_error": 486.77289495081675 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144563.06917055388, + "upper_bound": 146277.53294970843 + }, + "point_estimate": 145325.34166180762, + "standard_error": 440.67775981226407 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 136837.1171455432, + "upper_bound": 139049.5217876045 + }, + "point_estimate": 137718.01615598885, + "standard_error": 584.8017940029177 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 138690.3314725352, + "upper_bound": 141272.03605211267 + }, + "point_estimate": 139868.2945915493, + "standard_error": 663.842491197093 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 137528.1408072625, + "upper_bound": 138541.1055642459 + }, + "point_estimate": 138002.92974860332, + "standard_error": 258.3452880878344 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-0.txt new file mode 100644 index 0000000..78139bd --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-0.txt @@ -0,0 +1,48 @@ +memcap: <=7653 MiB (60% of 12755 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0052 s (33k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [145.39 µs 146.07 µs 146.87 µs] + thrpt: [187.67 MiB/s 188.70 MiB/s 189.59 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 4 (4.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0088 s (51k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [97.011 µs 97.772 µs 98.773 µs] + thrpt: [404.58 MiB/s 408.73 MiB/s 411.93 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 4 (4.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0067 s (62k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.483 µs 81.261 µs 82.404 µs] + thrpt: [231.61 MiB/s 234.87 MiB/s 237.14 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 3 (3.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0077 s (31k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.18 µs 145.49 µs 147.39 µs] + thrpt: [123.02 MiB/s 124.63 MiB/s 125.76 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 4 (4.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0072 s (51k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [97.941 µs 98.228 µs 98.549 µs] + thrpt: [366.79 MiB/s 367.99 MiB/s 369.07 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 7 (7.00%) high mild + 2 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-1.txt new file mode 100644 index 0000000..d5f479e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-1.txt @@ -0,0 +1,47 @@ +memcap: <=7730 MiB (60% of 12884 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0043 s (34k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [143.73 µs 144.82 µs 146.26 µs] + thrpt: [188.46 MiB/s 190.34 MiB/s 191.78 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 1 (1.00%) high mild + 8 (8.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0025 s (52k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [96.806 µs 97.139 µs 97.521 µs] + thrpt: [409.78 MiB/s 411.39 MiB/s 412.80 MiB/s] +Found 6 outliers among 100 measurements (6.00%) + 6 (6.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0064 s (62k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.274 µs 81.011 µs 81.911 µs] + thrpt: [233.01 MiB/s 235.60 MiB/s 237.76 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 6 (6.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0062 s (35k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.52 µs 145.54 µs 146.79 µs] + thrpt: [123.52 MiB/s 124.59 MiB/s 125.46 MiB/s] +Found 15 outliers among 100 measurements (15.00%) + 3 (3.00%) high mild + 12 (12.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0094 s (50k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [98.324 µs 98.687 µs 99.100 µs] + thrpt: [364.75 MiB/s 366.28 MiB/s 367.63 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 5 (5.00%) high mild + 6 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-2.txt new file mode 100644 index 0000000..582e903 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-2.txt @@ -0,0 +1,47 @@ +memcap: <=7733 MiB (60% of 12889 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0058 s (34k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [145.48 µs 146.06 µs 146.74 µs] + thrpt: [187.85 MiB/s 188.71 MiB/s 189.48 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 5 (5.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0056 s (53k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [94.485 µs 95.239 µs 96.261 µs] + thrpt: [415.14 MiB/s 419.59 MiB/s 422.94 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 1 (1.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0044 s (62k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [79.147 µs 79.695 µs 80.396 µs] + thrpt: [237.40 MiB/s 239.49 MiB/s 241.15 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 7 (7.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0020 s (34k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.87 µs 146.45 µs 148.66 µs] + thrpt: [121.97 MiB/s 123.81 MiB/s 125.16 MiB/s] +Found 15 outliers among 100 measurements (15.00%) + 6 (6.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0065 s (52k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [97.471 µs 97.920 µs 98.417 µs] + thrpt: [367.29 MiB/s 369.15 MiB/s 370.85 MiB/s] +Found 4 outliers among 100 measurements (4.00%) + 2 (2.00%) high mild + 2 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-build.txt new file mode 100644 index 0000000..87c34f5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7733 MiB (60% of 12888 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.78s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/criterion-SHA256SUMS new file mode 100644 index 0000000..6e1b788 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/criterion-SHA256SUMS @@ -0,0 +1,240 @@ +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/base/benchmark.json +343de8785a8583ea2d7aebf95b3eb313b0a4f76c974b67c7a4010a785c5a836f baseline-0/mixed_write/enum/1000/base/estimates.json +44054e3b2ba568889a062e663a76dab3b1bc8ed6ad96d0327831f206955e6674 baseline-0/mixed_write/enum/1000/base/sample.json +a19e432305a6f28ca2423d274edda08e4bdc7ace3fd67036752b3e8b6d076449 baseline-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/new/benchmark.json +343de8785a8583ea2d7aebf95b3eb313b0a4f76c974b67c7a4010a785c5a836f baseline-0/mixed_write/enum/1000/new/estimates.json +44054e3b2ba568889a062e663a76dab3b1bc8ed6ad96d0327831f206955e6674 baseline-0/mixed_write/enum/1000/new/sample.json +a19e432305a6f28ca2423d274edda08e4bdc7ace3fd67036752b3e8b6d076449 baseline-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/base/benchmark.json +37ca5d641bab6187694f19dba523ebd6b4e3fa8209fc8f176add510cfd170fbe baseline-0/mixed_write/nested/1000/base/estimates.json +664979a7decb8980c61bf5996ae5cd9c883752d32ccd11091ed66e8c27194f95 baseline-0/mixed_write/nested/1000/base/sample.json +b0bc410a9e0206a643b48f8f2e7fdd242b4af66159e991c252a3e0a32b99edca baseline-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/new/benchmark.json +37ca5d641bab6187694f19dba523ebd6b4e3fa8209fc8f176add510cfd170fbe baseline-0/mixed_write/nested/1000/new/estimates.json +664979a7decb8980c61bf5996ae5cd9c883752d32ccd11091ed66e8c27194f95 baseline-0/mixed_write/nested/1000/new/sample.json +b0bc410a9e0206a643b48f8f2e7fdd242b4af66159e991c252a3e0a32b99edca baseline-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/base/benchmark.json +375607ad2f227606104ab1246459c0dfb4a7e8610d9f523722a3e01bc7cd0a71 baseline-0/mixed_write/pattern/1000/base/estimates.json +78fde272fa6868aef73aeb85bee795bc4bbb9e79914cfb6bab74d5b12c0f7ce0 baseline-0/mixed_write/pattern/1000/base/sample.json +dbc61c6119b3c4afe05f482461e6cd5429d19f817742ef4483def7cb217ff1db baseline-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/new/benchmark.json +375607ad2f227606104ab1246459c0dfb4a7e8610d9f523722a3e01bc7cd0a71 baseline-0/mixed_write/pattern/1000/new/estimates.json +78fde272fa6868aef73aeb85bee795bc4bbb9e79914cfb6bab74d5b12c0f7ce0 baseline-0/mixed_write/pattern/1000/new/sample.json +dbc61c6119b3c4afe05f482461e6cd5429d19f817742ef4483def7cb217ff1db baseline-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/base/benchmark.json +068cfa2f0fc98b0f66bb0d3373576c6984340fcf0d2370def86f21fa4a323ab5 baseline-0/mixed_write/scalar/1000/base/estimates.json +41f605fec563058d4898ca3bc98747dc2e9a3fef80972cc13e0e8bab438ecc76 baseline-0/mixed_write/scalar/1000/base/sample.json +baeb31334cfbbdc88884b02d38a471241e2322aff3b487b2ace5f4d28886bda8 baseline-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/new/benchmark.json +068cfa2f0fc98b0f66bb0d3373576c6984340fcf0d2370def86f21fa4a323ab5 baseline-0/mixed_write/scalar/1000/new/estimates.json +41f605fec563058d4898ca3bc98747dc2e9a3fef80972cc13e0e8bab438ecc76 baseline-0/mixed_write/scalar/1000/new/sample.json +baeb31334cfbbdc88884b02d38a471241e2322aff3b487b2ace5f4d28886bda8 baseline-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/base/benchmark.json +210b932b352a7fc5c642b9b13660609f2dc23eff6d2145f2d795aa4a4315132b baseline-0/mixed_write/text/1000/base/estimates.json +2447f0f05779d85491f0cc16d70a5b2ee28b51f6d236fd93cde880b778e055cd baseline-0/mixed_write/text/1000/base/sample.json +c52891e318dd65f682dad4a762c79f863620f63bfed2fee24035884baa4b4406 baseline-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/new/benchmark.json +210b932b352a7fc5c642b9b13660609f2dc23eff6d2145f2d795aa4a4315132b baseline-0/mixed_write/text/1000/new/estimates.json +2447f0f05779d85491f0cc16d70a5b2ee28b51f6d236fd93cde880b778e055cd baseline-0/mixed_write/text/1000/new/sample.json +c52891e318dd65f682dad4a762c79f863620f63bfed2fee24035884baa4b4406 baseline-0/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/base/benchmark.json +6ee25d5a55350e592842b195e639d569469debc9025e401d192bfc669e1f5a34 baseline-1/mixed_write/enum/1000/base/estimates.json +0c0d4392329ea0a4d22aa0a960705fddd0ecad9deadea8e92394a00be067873d baseline-1/mixed_write/enum/1000/base/sample.json +5819d2c19548861f014060a869b0b21e5f2198c3a5298c9e1be7d8d211068596 baseline-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/new/benchmark.json +6ee25d5a55350e592842b195e639d569469debc9025e401d192bfc669e1f5a34 baseline-1/mixed_write/enum/1000/new/estimates.json +0c0d4392329ea0a4d22aa0a960705fddd0ecad9deadea8e92394a00be067873d baseline-1/mixed_write/enum/1000/new/sample.json +5819d2c19548861f014060a869b0b21e5f2198c3a5298c9e1be7d8d211068596 baseline-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/base/benchmark.json +0bc1ab881e861b2faaec32e2797b50b44393c65a54898e6c351a839c4d3b0aaa baseline-1/mixed_write/nested/1000/base/estimates.json +432bd88b3af6ecf16a6c45cd0a54ba92e181b869e115bd858358d4bfa16a09c9 baseline-1/mixed_write/nested/1000/base/sample.json +a51e875ce66a42a462081e64098fcaf4dce32187d80afdf08234abac0737d810 baseline-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/new/benchmark.json +0bc1ab881e861b2faaec32e2797b50b44393c65a54898e6c351a839c4d3b0aaa baseline-1/mixed_write/nested/1000/new/estimates.json +432bd88b3af6ecf16a6c45cd0a54ba92e181b869e115bd858358d4bfa16a09c9 baseline-1/mixed_write/nested/1000/new/sample.json +a51e875ce66a42a462081e64098fcaf4dce32187d80afdf08234abac0737d810 baseline-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/base/benchmark.json +c1a477fc92f72de3ca0d975bb9c9b8b234013fc6bcb88e57ab82b573cca3c24f baseline-1/mixed_write/pattern/1000/base/estimates.json +b7eee4b273b493a9a1d978d7e988b90d423aefcce3ad010e39573547af8e9814 baseline-1/mixed_write/pattern/1000/base/sample.json +bf051efe9b03c4a31464c177625b5b8635f8f4cdd072aa99f6b19d31487edb63 baseline-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/new/benchmark.json +c1a477fc92f72de3ca0d975bb9c9b8b234013fc6bcb88e57ab82b573cca3c24f baseline-1/mixed_write/pattern/1000/new/estimates.json +b7eee4b273b493a9a1d978d7e988b90d423aefcce3ad010e39573547af8e9814 baseline-1/mixed_write/pattern/1000/new/sample.json +bf051efe9b03c4a31464c177625b5b8635f8f4cdd072aa99f6b19d31487edb63 baseline-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/base/benchmark.json +3c8c516ceb05f5a2eccb111868d80de1b0fbbe0f11a6b2a2ad812e91a7f83d20 baseline-1/mixed_write/scalar/1000/base/estimates.json +fcd9630e38a565c682f7af93091451f80069ce4ead639c1e6277dc7546ab304c baseline-1/mixed_write/scalar/1000/base/sample.json +ae73afb33d9d29ff5cfa407cd32547225cbbeb0dd1c552807697f2e63da93962 baseline-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/new/benchmark.json +3c8c516ceb05f5a2eccb111868d80de1b0fbbe0f11a6b2a2ad812e91a7f83d20 baseline-1/mixed_write/scalar/1000/new/estimates.json +fcd9630e38a565c682f7af93091451f80069ce4ead639c1e6277dc7546ab304c baseline-1/mixed_write/scalar/1000/new/sample.json +ae73afb33d9d29ff5cfa407cd32547225cbbeb0dd1c552807697f2e63da93962 baseline-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/base/benchmark.json +f9bac3f4abecfc0bdfd7e927f767ca0cd78b4a7c861985b4df7f0762af176ea2 baseline-1/mixed_write/text/1000/base/estimates.json +98b13701b26044c31d24cfa28e0097b533ba8801788a6fbf0329a5aac5cde814 baseline-1/mixed_write/text/1000/base/sample.json +494c3b56d128636816aa46195e2ae7c324cad2622118b0e56430df811e4149a3 baseline-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/new/benchmark.json +f9bac3f4abecfc0bdfd7e927f767ca0cd78b4a7c861985b4df7f0762af176ea2 baseline-1/mixed_write/text/1000/new/estimates.json +98b13701b26044c31d24cfa28e0097b533ba8801788a6fbf0329a5aac5cde814 baseline-1/mixed_write/text/1000/new/sample.json +494c3b56d128636816aa46195e2ae7c324cad2622118b0e56430df811e4149a3 baseline-1/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-2/mixed_write/enum/1000/base/benchmark.json +804a96950b22acfb73f225e8750af8493769ee76a29bb37b6cc079af22805dfd baseline-2/mixed_write/enum/1000/base/estimates.json +f473b6d92bd3d56ffea338f4a429068c021efe511d592936484267c6b37e5178 baseline-2/mixed_write/enum/1000/base/sample.json +1535b16fe3567e9c47a6daa88f14f7ea08d99dc32ca35b78150ac7023a5814b8 baseline-2/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-2/mixed_write/enum/1000/new/benchmark.json +804a96950b22acfb73f225e8750af8493769ee76a29bb37b6cc079af22805dfd baseline-2/mixed_write/enum/1000/new/estimates.json +f473b6d92bd3d56ffea338f4a429068c021efe511d592936484267c6b37e5178 baseline-2/mixed_write/enum/1000/new/sample.json +1535b16fe3567e9c47a6daa88f14f7ea08d99dc32ca35b78150ac7023a5814b8 baseline-2/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-2/mixed_write/nested/1000/base/benchmark.json +3a8d4636fc95aea037f5e26fbc4084a52684af0d57b135df7d5e68aa1c05de92 baseline-2/mixed_write/nested/1000/base/estimates.json +3bc578a8d20fc3adce7a4f411fa8fb1058f295a4c25f0b3d5d0e550552443fab baseline-2/mixed_write/nested/1000/base/sample.json +0f1fe313b1e6ae8aeb57f00931ff7bbbe664d0a81f141d29f6fa61506d12b1d8 baseline-2/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-2/mixed_write/nested/1000/new/benchmark.json +3a8d4636fc95aea037f5e26fbc4084a52684af0d57b135df7d5e68aa1c05de92 baseline-2/mixed_write/nested/1000/new/estimates.json +3bc578a8d20fc3adce7a4f411fa8fb1058f295a4c25f0b3d5d0e550552443fab baseline-2/mixed_write/nested/1000/new/sample.json +0f1fe313b1e6ae8aeb57f00931ff7bbbe664d0a81f141d29f6fa61506d12b1d8 baseline-2/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-2/mixed_write/pattern/1000/base/benchmark.json +9bb04a0168ea495ceba22e37839504970105929d5997d1bbcd6ac44ca74f35dc baseline-2/mixed_write/pattern/1000/base/estimates.json +0d139bedcdc0c8d34006f5a281781a0528f4a8c706e395c55d402442f90b638e baseline-2/mixed_write/pattern/1000/base/sample.json +92d983a26827216571d8255b0fd4b508532e42f41eea945db80e68a3fd7c9930 baseline-2/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-2/mixed_write/pattern/1000/new/benchmark.json +9bb04a0168ea495ceba22e37839504970105929d5997d1bbcd6ac44ca74f35dc baseline-2/mixed_write/pattern/1000/new/estimates.json +0d139bedcdc0c8d34006f5a281781a0528f4a8c706e395c55d402442f90b638e baseline-2/mixed_write/pattern/1000/new/sample.json +92d983a26827216571d8255b0fd4b508532e42f41eea945db80e68a3fd7c9930 baseline-2/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-2/mixed_write/scalar/1000/base/benchmark.json +dc3e07a068995db496b9cb3ec195b919e9511776987c2fb8655aeb527681a338 baseline-2/mixed_write/scalar/1000/base/estimates.json +db046a9dff2d1f2021f08db2d91c9af714ba15448acdc99b6579de5f7c53f469 baseline-2/mixed_write/scalar/1000/base/sample.json +f724f2d1fc3eeb5924db943c8c379218bd0c498377a708d4ec0f7463d1f7bf3d baseline-2/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-2/mixed_write/scalar/1000/new/benchmark.json +dc3e07a068995db496b9cb3ec195b919e9511776987c2fb8655aeb527681a338 baseline-2/mixed_write/scalar/1000/new/estimates.json +db046a9dff2d1f2021f08db2d91c9af714ba15448acdc99b6579de5f7c53f469 baseline-2/mixed_write/scalar/1000/new/sample.json +f724f2d1fc3eeb5924db943c8c379218bd0c498377a708d4ec0f7463d1f7bf3d baseline-2/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-2/mixed_write/text/1000/base/benchmark.json +3652797e907561b5fcdd2e6cc68a50f69b7bf25e53b67e07993522302e0fd8ac baseline-2/mixed_write/text/1000/base/estimates.json +82939ad885237fefd7150cdc03f24bc98727c42f4fe444e0397b79317e84e29e baseline-2/mixed_write/text/1000/base/sample.json +dd023b66ba4915358eba92aa5d0a52eaf66b764508fc1d92a8b6443fc6b8e419 baseline-2/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-2/mixed_write/text/1000/new/benchmark.json +3652797e907561b5fcdd2e6cc68a50f69b7bf25e53b67e07993522302e0fd8ac baseline-2/mixed_write/text/1000/new/estimates.json +82939ad885237fefd7150cdc03f24bc98727c42f4fe444e0397b79317e84e29e baseline-2/mixed_write/text/1000/new/sample.json +dd023b66ba4915358eba92aa5d0a52eaf66b764508fc1d92a8b6443fc6b8e419 baseline-2/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/base/benchmark.json +339d44ef6cdbf0937bd84a3fdb95c5cdcc1b1cbba39fa8acdd19fe8d757323c3 current-0/mixed_write/enum/1000/base/estimates.json +45bbb578c94048f76408c9b1315887fa54674c169e9c0c986d8498a0c5647a3d current-0/mixed_write/enum/1000/base/sample.json +b3c52df20f11336ce3964a94193ed9821706c5770c871a7c1c1a3bf03edafe8a current-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/new/benchmark.json +339d44ef6cdbf0937bd84a3fdb95c5cdcc1b1cbba39fa8acdd19fe8d757323c3 current-0/mixed_write/enum/1000/new/estimates.json +45bbb578c94048f76408c9b1315887fa54674c169e9c0c986d8498a0c5647a3d current-0/mixed_write/enum/1000/new/sample.json +b3c52df20f11336ce3964a94193ed9821706c5770c871a7c1c1a3bf03edafe8a current-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/base/benchmark.json +91d19b11e434d79dd1f4d1cf13af6990fd6d60a877ef3ee44d26636cc5a0667a current-0/mixed_write/nested/1000/base/estimates.json +79cc67ec701f1c1b9c2fe7f94d4d7669d3f13e1b936a1fe47bc12e81b29ee928 current-0/mixed_write/nested/1000/base/sample.json +1dcdab763b979ae31c8ae896205307d0169437909f9f467606c06a95eea9aea1 current-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/new/benchmark.json +91d19b11e434d79dd1f4d1cf13af6990fd6d60a877ef3ee44d26636cc5a0667a current-0/mixed_write/nested/1000/new/estimates.json +79cc67ec701f1c1b9c2fe7f94d4d7669d3f13e1b936a1fe47bc12e81b29ee928 current-0/mixed_write/nested/1000/new/sample.json +1dcdab763b979ae31c8ae896205307d0169437909f9f467606c06a95eea9aea1 current-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/base/benchmark.json +60053cdaf82de478f45f9d4eb9d1a88d18b0a3e94e5bfbc435b996b39c3a2278 current-0/mixed_write/pattern/1000/base/estimates.json +c58680852994cd1c80cfd281857e49fbf6c2016e014b1173621bd7ed611bb5f0 current-0/mixed_write/pattern/1000/base/sample.json +36962abf8910a21ab8448c41d2cf7cb527b927fd4b70436e073c4786915c8fb0 current-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/new/benchmark.json +60053cdaf82de478f45f9d4eb9d1a88d18b0a3e94e5bfbc435b996b39c3a2278 current-0/mixed_write/pattern/1000/new/estimates.json +c58680852994cd1c80cfd281857e49fbf6c2016e014b1173621bd7ed611bb5f0 current-0/mixed_write/pattern/1000/new/sample.json +36962abf8910a21ab8448c41d2cf7cb527b927fd4b70436e073c4786915c8fb0 current-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/base/benchmark.json +75884f6dd5b717d5b370c6e80afd3fce375b42e4e07fa319332c001d4d681936 current-0/mixed_write/scalar/1000/base/estimates.json +c8c8115089784d2fac193462d59e013d6ffd132d300b4d99dcc579755916771a current-0/mixed_write/scalar/1000/base/sample.json +4c14828f8dcd5518275863c5c2b9a16a32d8c67d55bce027afc843a96b83ff59 current-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/new/benchmark.json +75884f6dd5b717d5b370c6e80afd3fce375b42e4e07fa319332c001d4d681936 current-0/mixed_write/scalar/1000/new/estimates.json +c8c8115089784d2fac193462d59e013d6ffd132d300b4d99dcc579755916771a current-0/mixed_write/scalar/1000/new/sample.json +4c14828f8dcd5518275863c5c2b9a16a32d8c67d55bce027afc843a96b83ff59 current-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/base/benchmark.json +f6a3e919ee857256bcffbeef64a022e3c8c6dda5e79868ff2071711046772678 current-0/mixed_write/text/1000/base/estimates.json +ab191f8a3cc0ffa51aace1cb1b3f95278fc1ffc9c0b554dd1f4e705ede7e05d7 current-0/mixed_write/text/1000/base/sample.json +b6a1e6db198dc045810f18b68d24861b3e58530aca6b749f2e59e217e3bd6713 current-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/new/benchmark.json +f6a3e919ee857256bcffbeef64a022e3c8c6dda5e79868ff2071711046772678 current-0/mixed_write/text/1000/new/estimates.json +ab191f8a3cc0ffa51aace1cb1b3f95278fc1ffc9c0b554dd1f4e705ede7e05d7 current-0/mixed_write/text/1000/new/sample.json +b6a1e6db198dc045810f18b68d24861b3e58530aca6b749f2e59e217e3bd6713 current-0/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/base/benchmark.json +ccd52fc1120fdd8c32008a78d0bffbadf7ae13d27a26b2104f72f744d2ca6091 current-1/mixed_write/enum/1000/base/estimates.json +ef990e2ebcaa9076141179d4035c4fb8a64ab01ddb265a4467b8dc924a4f0a50 current-1/mixed_write/enum/1000/base/sample.json +1052a68e5322da9b2712fb9cc3fdbb15c28026c425c34d1d7b445e064825310e current-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/new/benchmark.json +ccd52fc1120fdd8c32008a78d0bffbadf7ae13d27a26b2104f72f744d2ca6091 current-1/mixed_write/enum/1000/new/estimates.json +ef990e2ebcaa9076141179d4035c4fb8a64ab01ddb265a4467b8dc924a4f0a50 current-1/mixed_write/enum/1000/new/sample.json +1052a68e5322da9b2712fb9cc3fdbb15c28026c425c34d1d7b445e064825310e current-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/base/benchmark.json +ba143806ad471dfff25c6f760d8c08978c445b63de934755e2ed46dd8c3bbb65 current-1/mixed_write/nested/1000/base/estimates.json +1700a14ce5370196a8b3683a2a621ddf8d1254336cda11ac1eed3be38ff5a871 current-1/mixed_write/nested/1000/base/sample.json +4b21d28740f1af64838903a86f1ecda73bac23c781c0688fecb5928d935c3c08 current-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/new/benchmark.json +ba143806ad471dfff25c6f760d8c08978c445b63de934755e2ed46dd8c3bbb65 current-1/mixed_write/nested/1000/new/estimates.json +1700a14ce5370196a8b3683a2a621ddf8d1254336cda11ac1eed3be38ff5a871 current-1/mixed_write/nested/1000/new/sample.json +4b21d28740f1af64838903a86f1ecda73bac23c781c0688fecb5928d935c3c08 current-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/base/benchmark.json +4819ba48bbe4677afd1ba0843d31d046d77e20fbd482f5281baeae6330fe1fea current-1/mixed_write/pattern/1000/base/estimates.json +5c35ab9495be169cbc7ab4084c43f3b45b9b24fbd2eba70844fe1acdb735b3c0 current-1/mixed_write/pattern/1000/base/sample.json +e22c15a6df436cb7eb14ec2c743cbc75cba062870a5fc0fd635ca590e48f2834 current-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/new/benchmark.json +4819ba48bbe4677afd1ba0843d31d046d77e20fbd482f5281baeae6330fe1fea current-1/mixed_write/pattern/1000/new/estimates.json +5c35ab9495be169cbc7ab4084c43f3b45b9b24fbd2eba70844fe1acdb735b3c0 current-1/mixed_write/pattern/1000/new/sample.json +e22c15a6df436cb7eb14ec2c743cbc75cba062870a5fc0fd635ca590e48f2834 current-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/base/benchmark.json +03d2a6f93bc2a8fb62b1f18df5344811b01a24c876dbff65ae1053b9fbc4425c current-1/mixed_write/scalar/1000/base/estimates.json +0ef215785d46855b36f7702556f902332996f751299e84ea5dd4d13e980b5f04 current-1/mixed_write/scalar/1000/base/sample.json +bbbb19a5c7e671f009c7bd896919eb1841e419c87410b76d006ccbc3aaa98024 current-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/new/benchmark.json +03d2a6f93bc2a8fb62b1f18df5344811b01a24c876dbff65ae1053b9fbc4425c current-1/mixed_write/scalar/1000/new/estimates.json +0ef215785d46855b36f7702556f902332996f751299e84ea5dd4d13e980b5f04 current-1/mixed_write/scalar/1000/new/sample.json +bbbb19a5c7e671f009c7bd896919eb1841e419c87410b76d006ccbc3aaa98024 current-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/base/benchmark.json +c2f0fde14c319b2ac771c5f26c474e3dd73ad0b8a99bba36d3cd1d92924e63e0 current-1/mixed_write/text/1000/base/estimates.json +608c62f0625c01c4e0768ebfbd701b0afd010a6d278e46748aa07d6fa7e81568 current-1/mixed_write/text/1000/base/sample.json +3ec5f6150f132ad82bf15d77107f39da624a69119d15af097e975c75d02b5bdb current-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/new/benchmark.json +c2f0fde14c319b2ac771c5f26c474e3dd73ad0b8a99bba36d3cd1d92924e63e0 current-1/mixed_write/text/1000/new/estimates.json +608c62f0625c01c4e0768ebfbd701b0afd010a6d278e46748aa07d6fa7e81568 current-1/mixed_write/text/1000/new/sample.json +3ec5f6150f132ad82bf15d77107f39da624a69119d15af097e975c75d02b5bdb current-1/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-2/mixed_write/enum/1000/base/benchmark.json +8430c2a81611ea4410617282d642307b09128b8d7a2cd0bf4b75327ce0949a11 current-2/mixed_write/enum/1000/base/estimates.json +1b126bc3d8f6083a53df25f79bc84e8a0983dcc7501cc79532f69f7ed3a88899 current-2/mixed_write/enum/1000/base/sample.json +a525bfd563d9b3f3b14bdfff1e40099073f57d2f40d32cb9338ce56317504351 current-2/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-2/mixed_write/enum/1000/new/benchmark.json +8430c2a81611ea4410617282d642307b09128b8d7a2cd0bf4b75327ce0949a11 current-2/mixed_write/enum/1000/new/estimates.json +1b126bc3d8f6083a53df25f79bc84e8a0983dcc7501cc79532f69f7ed3a88899 current-2/mixed_write/enum/1000/new/sample.json +a525bfd563d9b3f3b14bdfff1e40099073f57d2f40d32cb9338ce56317504351 current-2/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-2/mixed_write/nested/1000/base/benchmark.json +87b8db95a0e6677493c66d39a00ab9f410a64691f860c6b77a7ddfbdd79d5349 current-2/mixed_write/nested/1000/base/estimates.json +4aaa7a1dbc52c66bfcbfe3f72d58519b0cd40eeb23a7caa2581b8240e448c956 current-2/mixed_write/nested/1000/base/sample.json +b807ea55deb9f4f16147cb05f24560e75ce5a65679f0501c8915ad03ee2b1dfa current-2/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-2/mixed_write/nested/1000/new/benchmark.json +87b8db95a0e6677493c66d39a00ab9f410a64691f860c6b77a7ddfbdd79d5349 current-2/mixed_write/nested/1000/new/estimates.json +4aaa7a1dbc52c66bfcbfe3f72d58519b0cd40eeb23a7caa2581b8240e448c956 current-2/mixed_write/nested/1000/new/sample.json +b807ea55deb9f4f16147cb05f24560e75ce5a65679f0501c8915ad03ee2b1dfa current-2/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-2/mixed_write/pattern/1000/base/benchmark.json +840477d15b957addb71a2b05db4553a31459c10b0544eba0ab609a731c379383 current-2/mixed_write/pattern/1000/base/estimates.json +1a43538f557f53bd7202532c3caf6776da863b1f31dffc6d567609a163daaeb5 current-2/mixed_write/pattern/1000/base/sample.json +c30439fec8a7054c8303e90790647a834f78e1a65fdc5f47593bfaacd9948e37 current-2/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-2/mixed_write/pattern/1000/new/benchmark.json +840477d15b957addb71a2b05db4553a31459c10b0544eba0ab609a731c379383 current-2/mixed_write/pattern/1000/new/estimates.json +1a43538f557f53bd7202532c3caf6776da863b1f31dffc6d567609a163daaeb5 current-2/mixed_write/pattern/1000/new/sample.json +c30439fec8a7054c8303e90790647a834f78e1a65fdc5f47593bfaacd9948e37 current-2/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-2/mixed_write/scalar/1000/base/benchmark.json +21e2c9c3bbf0488f90d6af19890c6cf67efe5c80eb8cefdccecd2d5850f795ab current-2/mixed_write/scalar/1000/base/estimates.json +f652905b3f9535dbae2f02ab7b7bdb591d2b8614f828579f0d62e032c1c15173 current-2/mixed_write/scalar/1000/base/sample.json +93819b6a1deddc6b2c151d4e05f0960f48d283e011a7ac46965da11ab19e01d4 current-2/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-2/mixed_write/scalar/1000/new/benchmark.json +21e2c9c3bbf0488f90d6af19890c6cf67efe5c80eb8cefdccecd2d5850f795ab current-2/mixed_write/scalar/1000/new/estimates.json +f652905b3f9535dbae2f02ab7b7bdb591d2b8614f828579f0d62e032c1c15173 current-2/mixed_write/scalar/1000/new/sample.json +93819b6a1deddc6b2c151d4e05f0960f48d283e011a7ac46965da11ab19e01d4 current-2/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-2/mixed_write/text/1000/base/benchmark.json +b98885b48f506146a735263bb12dc472bddb6b197a2944717a77ab28f020e0a6 current-2/mixed_write/text/1000/base/estimates.json +c23cecf3ba422b2fb548d94e4982123e16bbaa7ba73987942d892f773bc0115e current-2/mixed_write/text/1000/base/sample.json +1e090fb105d2da35d23e0ac2d4648b9308a602f8d06d6f0b9f0175329d7b2904 current-2/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-2/mixed_write/text/1000/new/benchmark.json +b98885b48f506146a735263bb12dc472bddb6b197a2944717a77ab28f020e0a6 current-2/mixed_write/text/1000/new/estimates.json +c23cecf3ba422b2fb548d94e4982123e16bbaa7ba73987942d892f773bc0115e current-2/mixed_write/text/1000/new/sample.json +1e090fb105d2da35d23e0ac2d4648b9308a602f8d06d6f0b9f0175329d7b2904 current-2/mixed_write/text/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/criterion-results.tar.gz new file mode 100644 index 0000000..9602b29 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-0.txt new file mode 100644 index 0000000..a384bad --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-0.txt @@ -0,0 +1,48 @@ +memcap: <=7731 MiB (60% of 12886 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0122 s (35k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [140.95 µs 141.72 µs 142.63 µs] + thrpt: [193.25 MiB/s 194.50 MiB/s 195.56 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 5 (5.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0085 s (52k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [95.757 µs 96.564 µs 97.552 µs] + thrpt: [409.64 MiB/s 413.84 MiB/s 417.33 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 3 (3.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0051 s (64k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [78.286 µs 78.986 µs 79.860 µs] + thrpt: [238.99 MiB/s 241.64 MiB/s 243.80 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 3 (3.00%) high mild + 10 (10.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0121 s (35k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [141.24 µs 141.93 µs 142.73 µs] + thrpt: [127.04 MiB/s 127.75 MiB/s 128.38 MiB/s] +Found 15 outliers among 100 measurements (15.00%) + 5 (5.00%) high mild + 10 (10.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0080 s (49k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [99.251 µs 99.909 µs 100.72 µs] + thrpt: [358.89 MiB/s 361.80 MiB/s 364.20 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 2 (2.00%) high mild + 6 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-1.txt new file mode 100644 index 0000000..dc45c13 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-1.txt @@ -0,0 +1,48 @@ +memcap: <=7734 MiB (60% of 12890 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0024 s (35k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [142.05 µs 142.67 µs 143.38 µs] + thrpt: [192.24 MiB/s 193.20 MiB/s 194.05 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 7 (7.00%) high mild + 2 (2.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0061 s (53k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [95.130 µs 95.547 µs 96.034 µs] + thrpt: [416.12 MiB/s 418.24 MiB/s 420.08 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 5 (5.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0023 s (64k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [77.567 µs 77.982 µs 78.454 µs] + thrpt: [243.28 MiB/s 244.75 MiB/s 246.06 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 5 (5.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0017 s (35k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [141.52 µs 143.12 µs 145.16 µs] + thrpt: [124.91 MiB/s 126.69 MiB/s 128.13 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 4 (4.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0052 s (51k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [97.713 µs 98.018 µs 98.446 µs] + thrpt: [367.18 MiB/s 368.78 MiB/s 369.93 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 8 (8.00%) high mild + 1 (1.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-2.txt new file mode 100644 index 0000000..d8f86c4 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-2.txt @@ -0,0 +1,48 @@ +memcap: <=7732 MiB (60% of 12887 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0067 s (35k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [142.71 µs 143.46 µs 144.30 µs] + thrpt: [191.02 MiB/s 192.14 MiB/s 193.14 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 5 (5.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0020 s (48k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [104.49 µs 105.49 µs 107.00 µs] + thrpt: [373.48 MiB/s 378.80 MiB/s 382.43 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 5 (5.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0060 s (64k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [77.796 µs 78.304 µs 78.884 µs] + thrpt: [241.95 MiB/s 243.74 MiB/s 245.33 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 5 (5.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0095 s (31k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [159.93 µs 161.20 µs 162.96 µs] + thrpt: [111.27 MiB/s 112.48 MiB/s 113.38 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 4 (4.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0041 s (50k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [99.966 µs 100.85 µs 101.84 µs] + thrpt: [354.96 MiB/s 358.43 MiB/s 361.59 MiB/s] +Found 18 outliers among 100 measurements (18.00%) + 2 (2.00%) high mild + 16 (16.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-build.txt new file mode 100644 index 0000000..4a38e3c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7680 MiB (60% of 12800 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.83s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/harness.rs new file mode 100644 index 0000000..7d0413e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/harness.rs @@ -0,0 +1,120 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["mixed_read", "mixed_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for kind in ["text", "scalar", "enum", "pattern", "nested"] { + let (schema, xml) = fixture(kind, 1000); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function(BenchmarkId::new(kind, 1000), |b| { + if operation == "mixed_read" { + b.iter(|| { + black_box(deserialize(black_box(&xml), Arc::clone(&schema)).unwrap()) + }); + } else { + b.iter(|| { + black_box(serialize("Root", black_box(&value), &schema, None).unwrap()) + }); + } + }); + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/metadata.json new file mode 100644 index 0000000..e0c0cca --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "d3bf1728be1d265b6b5d317946492cec9b4a6f8c" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 100, + "warmup_seconds": 3.0, + "measurement_seconds": 5.0, + "rounds": 3, + "filter": "^mixed_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/summary.json new file mode 100644 index 0000000..89b0c62 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-common/summary.json @@ -0,0 +1,357 @@ +{ + "mixed_write/enum/1000": { + "baseline_ns": 81010.59922580642, + "candidate_ns": 78303.79169781932, + "delta_percent": -3.341300464204966, + "speedup": 1.0345680262640777, + "process_deltas_percent": [ + -2.800001525501805, + -3.738955530531507, + -1.7462636219343741 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80483.10670307445, + "upper_bound": 82403.89705622975 + }, + "point_estimate": 81261.14611650488, + "standard_error": 503.93282872340745 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80274.16689596769, + "upper_bound": 81910.71780322581 + }, + "point_estimate": 81010.59922580642, + "standard_error": 421.8761647155983 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 79146.8839604, + "upper_bound": 80395.8244096 + }, + "point_estimate": 79695.48495999999, + "standard_error": 322.10276438293084 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 78286.29055633806, + "upper_bound": 79860.10505555553 + }, + "point_estimate": 78985.8327856025, + "standard_error": 406.22672225987895 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 77566.6657476744, + "upper_bound": 78453.57820968993 + }, + "point_estimate": 77981.64894573642, + "standard_error": 227.48173982375494 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 77796.07547196263, + "upper_bound": 78884.0028080218 + }, + "point_estimate": 78303.79169781932, + "standard_error": 279.4181114709529 + } + ] + } + }, + "mixed_write/nested/1000": { + "baseline_ns": 98228.08615384616, + "candidate_ns": 99908.7832995951, + "delta_percent": 1.7110148548721726, + "speedup": 0.9831776837807237, + "process_deltas_percent": [ + 1.7110148548721726, + -0.6781604030665522, + 2.989094640371448 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97941.41515384619, + "upper_bound": 98548.76272731756 + }, + "point_estimate": 98228.08615384616, + "standard_error": 155.65072966538824 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 98323.63292757934, + "upper_bound": 99099.88164434522 + }, + "point_estimate": 98687.42990079364, + "standard_error": 197.78698394412882 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97470.64981589149, + "upper_bound": 98416.77368265507 + }, + "point_estimate": 97920.3487015504, + "standard_error": 241.27609570227068 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99250.91396508098, + "upper_bound": 100720.07162500001 + }, + "point_estimate": 99908.7832995951, + "standard_error": 377.5423570074068 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97713.4850014793, + "upper_bound": 98446.30638116378 + }, + "point_estimate": 98018.17082840239, + "standard_error": 190.59523658736552 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99966.20288667991, + "upper_bound": 101835.19613618289 + }, + "point_estimate": 100847.2805964215, + "standard_error": 477.3230394409333 + } + ] + } + }, + "mixed_write/pattern/1000": { + "baseline_ns": 145540.1727745665, + "candidate_ns": 143120.81507082153, + "delta_percent": -1.6623298279935583, + "speedup": 1.0169043035602319, + "process_deltas_percent": [ + -2.443687706263453, + -1.6623298279935583, + 10.072808132253396 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144176.65260227263, + "upper_bound": 147392.42160064934 + }, + "point_estimate": 145488.50600649347, + "standard_error": 845.2079854625139 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144521.64868713875, + "upper_bound": 146792.2261524566 + }, + "point_estimate": 145540.1727745665, + "standard_error": 581.3938110459568 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144874.37118604654, + "upper_bound": 148660.36754941853 + }, + "point_estimate": 146451.7763081396, + "standard_error": 987.3321973892772 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 141240.10032838982, + "upper_bound": 142733.4823502825 + }, + "point_estimate": 141933.22127118643, + "standard_error": 382.3613480317795 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 141518.8181211048, + "upper_bound": 145156.500095609 + }, + "point_estimate": 143120.81507082153, + "standard_error": 937.766700277048 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 159930.68213064517, + "upper_bound": 162956.29722016127 + }, + "point_estimate": 161203.58274193545, + "standard_error": 783.2418885370022 + } + ] + } + }, + "mixed_write/scalar/1000": { + "baseline_ns": 97139.03311411984, + "candidate_ns": 96564.14649325628, + "delta_percent": -0.5918183478192285, + "speedup": 1.0059534168916795, + "process_deltas_percent": [ + -1.2349487028608608, + -1.6384338763440698, + 10.768108528794706 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97011.26497499993, + "upper_bound": 98773.34194215684 + }, + "point_estimate": 97771.57529411762, + "standard_error": 453.563508981061 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 96806.02203288201, + "upper_bound": 97521.15173065761 + }, + "point_estimate": 97139.03311411984, + "standard_error": 183.02402241747328 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 94485.2672836812, + "upper_bound": 96260.93479032256 + }, + "point_estimate": 95239.3449525617, + "standard_error": 461.22210669228883 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 95757.02379913292, + "upper_bound": 97552.48660404622 + }, + "point_estimate": 96564.14649325628, + "standard_error": 461.3631570499901 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 95129.5361195446, + "upper_bound": 96033.7780521822 + }, + "point_estimate": 95547.47428842502, + "standard_error": 232.08207774159897 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 104493.49187447921, + "upper_bound": 106998.06650677085 + }, + "point_estimate": 105494.8209791667, + "standard_error": 658.0578781043064 + } + ] + } + }, + "mixed_write/text/1000": { + "baseline_ns": 146063.78752976193, + "candidate_ns": 142669.46525568186, + "delta_percent": -2.323862972119939, + "speedup": 1.023791511855722, + "process_deltas_percent": [ + -2.98138951637531, + -1.4829421407669408, + -1.783630843382944 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 145391.41097972973, + "upper_bound": 146873.1459271772 + }, + "point_estimate": 146072.5539339339, + "standard_error": 379.48580083706486 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 143728.65069230765, + "upper_bound": 146258.7228868343 + }, + "point_estimate": 144817.01784023672, + "standard_error": 653.3524236387852 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 145475.32563467263, + "upper_bound": 146735.74335565482 + }, + "point_estimate": 146063.78752976193, + "standard_error": 322.45738990697765 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 140948.8724412182, + "upper_bound": 142630.82099008493 + }, + "point_estimate": 141717.56212464592, + "standard_error": 430.7706410688985 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142047.09454545454, + "upper_bound": 143380.86681392044 + }, + "point_estimate": 142669.46525568186, + "standard_error": 341.01385897723367 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142713.75868821837, + "upper_bound": 144295.55041091956 + }, + "point_estimate": 143458.54876436776, + "standard_error": 406.1120807414222 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline-0.txt new file mode 100644 index 0000000..92bb460 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline-0.txt @@ -0,0 +1,22 @@ +memcap: <=7643 MiB (60% of 12738 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0005 s (31k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [64.110 µs 64.537 µs 65.054 µs] + thrpt: [174.49 MiB/s 175.89 MiB/s 177.06 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0005 s (31k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [64.177 µs 64.606 µs 65.095 µs] + thrpt: [174.38 MiB/s 175.71 MiB/s 176.88 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline-1.txt new file mode 100644 index 0000000..593717c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline-1.txt @@ -0,0 +1,22 @@ +memcap: <=7696 MiB (60% of 12826 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0009 s (31k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [63.666 µs 64.004 µs 64.445 µs] + thrpt: [176.14 MiB/s 177.36 MiB/s 178.30 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0023 s (31k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [63.527 µs 64.478 µs 65.764 µs] + thrpt: [172.61 MiB/s 176.05 MiB/s 178.69 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline-build.txt new file mode 100644 index 0000000..0c87797 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7699 MiB (60% of 12833 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.76s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/criterion-SHA256SUMS new file mode 100644 index 0000000..5b94376 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/criterion-SHA256SUMS @@ -0,0 +1,64 @@ +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-0/branch_write/branches_256/1000/base/benchmark.json +bea39c50b197c1ec9e26f43c54c9c10f03caac598eaee006a713c3e5908bc25b baseline-0/branch_write/branches_256/1000/base/estimates.json +84798c9fc6b8cb1b428cfbe34a0da2ccd63fd7db96740be92667f41ac672f71a baseline-0/branch_write/branches_256/1000/base/sample.json +641481e41d19100120f9749fc469c8f6d9c5e08dbd74cab015603b3b9db77472 baseline-0/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-0/branch_write/branches_256/1000/new/benchmark.json +bea39c50b197c1ec9e26f43c54c9c10f03caac598eaee006a713c3e5908bc25b baseline-0/branch_write/branches_256/1000/new/estimates.json +84798c9fc6b8cb1b428cfbe34a0da2ccd63fd7db96740be92667f41ac672f71a baseline-0/branch_write/branches_256/1000/new/sample.json +641481e41d19100120f9749fc469c8f6d9c5e08dbd74cab015603b3b9db77472 baseline-0/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-0/branch_write/branches_64/1000/base/benchmark.json +4b7040f3d4e5ce8c06a2df2934af1987e6fca4d18401417383559282fae515f7 baseline-0/branch_write/branches_64/1000/base/estimates.json +b33489a7510a03cef81725c3b6a2927aa64a2d88db1d142bef3c9eb33a57c83f baseline-0/branch_write/branches_64/1000/base/sample.json +0358796ab0e00bee71f0bcbe09dee01049aab09ea7718c6dfdba99d1a3cd04b1 baseline-0/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-0/branch_write/branches_64/1000/new/benchmark.json +4b7040f3d4e5ce8c06a2df2934af1987e6fca4d18401417383559282fae515f7 baseline-0/branch_write/branches_64/1000/new/estimates.json +b33489a7510a03cef81725c3b6a2927aa64a2d88db1d142bef3c9eb33a57c83f baseline-0/branch_write/branches_64/1000/new/sample.json +0358796ab0e00bee71f0bcbe09dee01049aab09ea7718c6dfdba99d1a3cd04b1 baseline-0/branch_write/branches_64/1000/new/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-1/branch_write/branches_256/1000/base/benchmark.json +d08b7735a28a92eb868dc72f503333eb917c9853a8efc6c7e79f011ea2648cfa baseline-1/branch_write/branches_256/1000/base/estimates.json +79f55677c8fac753c7e9a5d005a404fb2a5fefe05954312c5d2c4e2501c3c75c baseline-1/branch_write/branches_256/1000/base/sample.json +c19721d08a563a2af78ff748e871f814451b55f95628056003ef92fb8da24297 baseline-1/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-1/branch_write/branches_256/1000/new/benchmark.json +d08b7735a28a92eb868dc72f503333eb917c9853a8efc6c7e79f011ea2648cfa baseline-1/branch_write/branches_256/1000/new/estimates.json +79f55677c8fac753c7e9a5d005a404fb2a5fefe05954312c5d2c4e2501c3c75c baseline-1/branch_write/branches_256/1000/new/sample.json +c19721d08a563a2af78ff748e871f814451b55f95628056003ef92fb8da24297 baseline-1/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-1/branch_write/branches_64/1000/base/benchmark.json +9b4ac2b7fcf1e2ea082063363da4cd7ec814bdd2c04a1519e8cd2b3e42d70eb2 baseline-1/branch_write/branches_64/1000/base/estimates.json +fbcf3468f3647a414e9535df8c2da96aa29f2661c475c2cf82828cf4e9cf0167 baseline-1/branch_write/branches_64/1000/base/sample.json +2b4e9445926c595de0b2454d078aa2188117ebcc1d8f5ed7fa7a31a04fb37bdb baseline-1/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-1/branch_write/branches_64/1000/new/benchmark.json +9b4ac2b7fcf1e2ea082063363da4cd7ec814bdd2c04a1519e8cd2b3e42d70eb2 baseline-1/branch_write/branches_64/1000/new/estimates.json +fbcf3468f3647a414e9535df8c2da96aa29f2661c475c2cf82828cf4e9cf0167 baseline-1/branch_write/branches_64/1000/new/sample.json +2b4e9445926c595de0b2454d078aa2188117ebcc1d8f5ed7fa7a31a04fb37bdb baseline-1/branch_write/branches_64/1000/new/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-0/branch_write/branches_256/1000/base/benchmark.json +b92257db10860b2a784e3f4f1b9068c4077cc997f1f48f60b1eaa0f225d74b72 current-0/branch_write/branches_256/1000/base/estimates.json +c225b7856f2014490728c54e91c6cdadf9da9897ef1a82b2398288078317e25c current-0/branch_write/branches_256/1000/base/sample.json +9aa76f2ee207b18fe86b39e37713d9ffb24d6b18c054c0a13dc99d7a17f343da current-0/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-0/branch_write/branches_256/1000/new/benchmark.json +b92257db10860b2a784e3f4f1b9068c4077cc997f1f48f60b1eaa0f225d74b72 current-0/branch_write/branches_256/1000/new/estimates.json +c225b7856f2014490728c54e91c6cdadf9da9897ef1a82b2398288078317e25c current-0/branch_write/branches_256/1000/new/sample.json +9aa76f2ee207b18fe86b39e37713d9ffb24d6b18c054c0a13dc99d7a17f343da current-0/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-0/branch_write/branches_64/1000/base/benchmark.json +fd1df6af1e6c20fb561ee9e324a612d7c01a52c8c30844dfabdb5f269efe29a7 current-0/branch_write/branches_64/1000/base/estimates.json +ba6b11b8d3fab2e75ed4edd3723eb577020b692b097ad199e78eeccdff46aca8 current-0/branch_write/branches_64/1000/base/sample.json +08d3fda92054c418220191b10eab721bdca806829f638bdc7c7d514e9d14aabc current-0/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-0/branch_write/branches_64/1000/new/benchmark.json +fd1df6af1e6c20fb561ee9e324a612d7c01a52c8c30844dfabdb5f269efe29a7 current-0/branch_write/branches_64/1000/new/estimates.json +ba6b11b8d3fab2e75ed4edd3723eb577020b692b097ad199e78eeccdff46aca8 current-0/branch_write/branches_64/1000/new/sample.json +08d3fda92054c418220191b10eab721bdca806829f638bdc7c7d514e9d14aabc current-0/branch_write/branches_64/1000/new/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-1/branch_write/branches_256/1000/base/benchmark.json +b9a8ffc2a1a4bf5e1100c56a43c72894fe4412462c9150f61c41097b30633841 current-1/branch_write/branches_256/1000/base/estimates.json +90ff9d54a9203c3fcc73bc45d09ffb9d33091bd7d165d1d3f70f4ba6b4dbf14d current-1/branch_write/branches_256/1000/base/sample.json +9ffc2442c744734cc0e2d5508831b5d8e568495f44c36af5e53caaf5da37b58d current-1/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-1/branch_write/branches_256/1000/new/benchmark.json +b9a8ffc2a1a4bf5e1100c56a43c72894fe4412462c9150f61c41097b30633841 current-1/branch_write/branches_256/1000/new/estimates.json +90ff9d54a9203c3fcc73bc45d09ffb9d33091bd7d165d1d3f70f4ba6b4dbf14d current-1/branch_write/branches_256/1000/new/sample.json +9ffc2442c744734cc0e2d5508831b5d8e568495f44c36af5e53caaf5da37b58d current-1/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-1/branch_write/branches_64/1000/base/benchmark.json +519a749198c2ffbb8462c8a3a32ef9a6e62d791b2531b2b34d3acbffe8a664d3 current-1/branch_write/branches_64/1000/base/estimates.json +66cb351f5c4c3d86c20c0a8ee948eabfe703a7f3e57e13b8073e95241e581601 current-1/branch_write/branches_64/1000/base/sample.json +185e1a35e1beacf60f2e7768350824cf4069b92706d907361655b11c3533d37d current-1/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-1/branch_write/branches_64/1000/new/benchmark.json +519a749198c2ffbb8462c8a3a32ef9a6e62d791b2531b2b34d3acbffe8a664d3 current-1/branch_write/branches_64/1000/new/estimates.json +66cb351f5c4c3d86c20c0a8ee948eabfe703a7f3e57e13b8073e95241e581601 current-1/branch_write/branches_64/1000/new/sample.json +185e1a35e1beacf60f2e7768350824cf4069b92706d907361655b11c3533d37d current-1/branch_write/branches_64/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/criterion-results.tar.gz new file mode 100644 index 0000000..e44baee Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current-0.txt new file mode 100644 index 0000000..8646eeb --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current-0.txt @@ -0,0 +1,22 @@ +memcap: <=7667 MiB (60% of 12778 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0005 s (32k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [61.579 µs 61.833 µs 62.144 µs] + thrpt: [182.67 MiB/s 183.58 MiB/s 184.34 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0024 s (32k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [62.265 µs 62.907 µs 63.658 µs] + thrpt: [178.32 MiB/s 180.45 MiB/s 182.31 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current-1.txt new file mode 100644 index 0000000..7a10722 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current-1.txt @@ -0,0 +1,22 @@ +memcap: <=7689 MiB (60% of 12815 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0013 s (32k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [61.623 µs 61.994 µs 62.458 µs] + thrpt: [181.75 MiB/s 183.11 MiB/s 184.21 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0020 s (32k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [62.498 µs 63.029 µs 63.661 µs] + thrpt: [178.31 MiB/s 180.10 MiB/s 181.63 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current-build.txt new file mode 100644 index 0000000..98f1554 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7669 MiB (60% of 12782 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.73s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/harness.rs new file mode 100644 index 0000000..a268184 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % 1, i % 1)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % 1).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [64, 256] { + for count in [1000] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/metadata.json new file mode 100644 index 0000000..bb748c9 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "58cb346f964b5196dfad62e8a62a8aa4beb9beef" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/summary.json new file mode 100644 index 0000000..0d0f5fc --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-final-sampled/summary.json @@ -0,0 +1,106 @@ +{ + "branch_write/branches_256/1000": { + "baseline_ns": 64541.83328119491, + "candidate_ns": 62968.14529938226, + "delta_percent": -2.438244936360001, + "speedup": 1.024991810928058, + "process_deltas_percent": [ + -2.6292529525412944, + -2.246857986524997 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64176.610931451614, + "upper_bound": 65095.36447741932 + }, + "point_estimate": 64605.79090322581, + "standard_error": 235.14445176437306 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63527.48307234726, + "upper_bound": 65763.99403456593 + }, + "point_estimate": 64477.875659164005, + "standard_error": 582.357855271789 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 62264.5616749226, + "upper_bound": 63657.752735294096 + }, + "point_estimate": 62907.14123839009, + "standard_error": 358.6922526079523 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 62498.053372854905, + "upper_bound": 63661.3006575663 + }, + "point_estimate": 63029.149360374424, + "standard_error": 299.0012981933105 + } + ] + } + }, + "branch_write/branches_64/1000": { + "baseline_ns": 64270.401126666664, + "candidate_ns": 61913.7858676677, + "delta_percent": -3.666719388221107, + "speedup": 1.0380628518507318, + "process_deltas_percent": [ + -4.189320376859773, + -3.139765604393052 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64109.80960539215, + "upper_bound": 65054.48325571895 + }, + "point_estimate": 64536.94833333335, + "standard_error": 243.04414568335642 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63666.41755040003, + "upper_bound": 64445.313326400006 + }, + "point_estimate": 64003.85391999998, + "standard_error": 200.0344031748133 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 61578.960038759695, + "upper_bound": 62143.64282713176 + }, + "point_estimate": 61833.28880620155, + "standard_error": 144.2415709695958 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 61623.31491496063, + "upper_bound": 62458.31786377951 + }, + "point_estimate": 61994.28292913385, + "standard_error": 215.4071323524662 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline-0.txt new file mode 100644 index 0000000..dc53daa --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline-0.txt @@ -0,0 +1,22 @@ +memcap: <=7651 MiB (60% of 12751 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0004 s (30k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [63.401 µs 63.740 µs 64.147 µs] + thrpt: [176.96 MiB/s 178.09 MiB/s 179.04 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0002 s (31k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [63.828 µs 64.047 µs 64.290 µs] + thrpt: [176.57 MiB/s 177.24 MiB/s 177.85 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline-1.txt new file mode 100644 index 0000000..1e6dae8 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline-1.txt @@ -0,0 +1,22 @@ +memcap: <=7704 MiB (60% of 12841 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0032 s (31k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [64.195 µs 64.436 µs 64.738 µs] + thrpt: [175.35 MiB/s 176.17 MiB/s 176.83 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0009 s (31k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [63.984 µs 64.268 µs 64.613 µs] + thrpt: [175.69 MiB/s 176.63 MiB/s 177.41 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline-build.txt new file mode 100644 index 0000000..025af19 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7700 MiB (60% of 12833 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.73s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/criterion-SHA256SUMS new file mode 100644 index 0000000..798b1e1 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/criterion-SHA256SUMS @@ -0,0 +1,64 @@ +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-0/branch_write/branches_256/1000/base/benchmark.json +5038ad2d13d48abb5cddd0e5844e985c12d5b678948d657f86c92e262155c0fd baseline-0/branch_write/branches_256/1000/base/estimates.json +6c8f56e81423a7df2ad54c4a79ba98327983f36f4ece34be6da9ae6413125312 baseline-0/branch_write/branches_256/1000/base/sample.json +3e16140726e179e16c648e1fe5db16566e61f176b238625e04caa53414a372e5 baseline-0/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-0/branch_write/branches_256/1000/new/benchmark.json +5038ad2d13d48abb5cddd0e5844e985c12d5b678948d657f86c92e262155c0fd baseline-0/branch_write/branches_256/1000/new/estimates.json +6c8f56e81423a7df2ad54c4a79ba98327983f36f4ece34be6da9ae6413125312 baseline-0/branch_write/branches_256/1000/new/sample.json +3e16140726e179e16c648e1fe5db16566e61f176b238625e04caa53414a372e5 baseline-0/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-0/branch_write/branches_64/1000/base/benchmark.json +03b871ad2cf7413bb5ac4e4109138153a100062c08baea06888e21156943d453 baseline-0/branch_write/branches_64/1000/base/estimates.json +b5f81d0840482fa3636bf99afdc515213c8fed0a79a644344d48670ddb22cb85 baseline-0/branch_write/branches_64/1000/base/sample.json +3b6174db414619fefb75cd49192ac4dbab11d0276b2b7956942402008bc8fd3d baseline-0/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-0/branch_write/branches_64/1000/new/benchmark.json +03b871ad2cf7413bb5ac4e4109138153a100062c08baea06888e21156943d453 baseline-0/branch_write/branches_64/1000/new/estimates.json +b5f81d0840482fa3636bf99afdc515213c8fed0a79a644344d48670ddb22cb85 baseline-0/branch_write/branches_64/1000/new/sample.json +3b6174db414619fefb75cd49192ac4dbab11d0276b2b7956942402008bc8fd3d baseline-0/branch_write/branches_64/1000/new/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-1/branch_write/branches_256/1000/base/benchmark.json +5dd280c21ef3bb68bc7e061425771de4fce9ae1117458b9ff271b3fc54f77171 baseline-1/branch_write/branches_256/1000/base/estimates.json +c22b3955434d586d1adf5ec839a013995f55286bb3f44c4a7b7dda559c1b46c7 baseline-1/branch_write/branches_256/1000/base/sample.json +27d94bd596f1fa7703cd16ad85dce83388bc0e83687d3c7db7db3bc8f7afc9c1 baseline-1/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-1/branch_write/branches_256/1000/new/benchmark.json +5dd280c21ef3bb68bc7e061425771de4fce9ae1117458b9ff271b3fc54f77171 baseline-1/branch_write/branches_256/1000/new/estimates.json +c22b3955434d586d1adf5ec839a013995f55286bb3f44c4a7b7dda559c1b46c7 baseline-1/branch_write/branches_256/1000/new/sample.json +27d94bd596f1fa7703cd16ad85dce83388bc0e83687d3c7db7db3bc8f7afc9c1 baseline-1/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-1/branch_write/branches_64/1000/base/benchmark.json +ad77fe8a92d917f939dc3b56077f16007946e1acdef5baf750fb78c1c3b9c45f baseline-1/branch_write/branches_64/1000/base/estimates.json +8beeb72944a732681303090f1f4b10c81ff59e7db72f5e9094814253bceb4d21 baseline-1/branch_write/branches_64/1000/base/sample.json +448865ee4a72dbbd38571fb4db3dda9d81590505a8bf55606b741950dd76495a baseline-1/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-1/branch_write/branches_64/1000/new/benchmark.json +ad77fe8a92d917f939dc3b56077f16007946e1acdef5baf750fb78c1c3b9c45f baseline-1/branch_write/branches_64/1000/new/estimates.json +8beeb72944a732681303090f1f4b10c81ff59e7db72f5e9094814253bceb4d21 baseline-1/branch_write/branches_64/1000/new/sample.json +448865ee4a72dbbd38571fb4db3dda9d81590505a8bf55606b741950dd76495a baseline-1/branch_write/branches_64/1000/new/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-0/branch_write/branches_256/1000/base/benchmark.json +de6945c158d3c11335dfb8b5fca12f805ae3c6e87dac9ea0ab9f79246b11dc66 current-0/branch_write/branches_256/1000/base/estimates.json +8493e321132c6f0ee7a9f88db78389bce1a1db58b0dd421f798bc896ad437f1c current-0/branch_write/branches_256/1000/base/sample.json +5179975d989e7897e38ef3e32c689aea26ee39988496f89a2e0d5da843ece950 current-0/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-0/branch_write/branches_256/1000/new/benchmark.json +de6945c158d3c11335dfb8b5fca12f805ae3c6e87dac9ea0ab9f79246b11dc66 current-0/branch_write/branches_256/1000/new/estimates.json +8493e321132c6f0ee7a9f88db78389bce1a1db58b0dd421f798bc896ad437f1c current-0/branch_write/branches_256/1000/new/sample.json +5179975d989e7897e38ef3e32c689aea26ee39988496f89a2e0d5da843ece950 current-0/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-0/branch_write/branches_64/1000/base/benchmark.json +1ba82f57d19edafcd337141a8e27725f9844eaf698997d1f283f1d95a15afd3a current-0/branch_write/branches_64/1000/base/estimates.json +a01bb70b8a2bf1d8fb845b0d95c8b5c62b4449cb15b0553205f8cffbb307ecfc current-0/branch_write/branches_64/1000/base/sample.json +91ec4761696f05fa66d553dd556dad94c7d56f0c0bad36b6d409ae24faea8497 current-0/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-0/branch_write/branches_64/1000/new/benchmark.json +1ba82f57d19edafcd337141a8e27725f9844eaf698997d1f283f1d95a15afd3a current-0/branch_write/branches_64/1000/new/estimates.json +a01bb70b8a2bf1d8fb845b0d95c8b5c62b4449cb15b0553205f8cffbb307ecfc current-0/branch_write/branches_64/1000/new/sample.json +91ec4761696f05fa66d553dd556dad94c7d56f0c0bad36b6d409ae24faea8497 current-0/branch_write/branches_64/1000/new/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-1/branch_write/branches_256/1000/base/benchmark.json +a73b085cb68b8006dae988f9bd5c847eeeadddd41397268a73091f517aded155 current-1/branch_write/branches_256/1000/base/estimates.json +c20be6723e9092cf73a7a797676a72eeac2cf3c71c7f18a30ceb3b9ef7e57288 current-1/branch_write/branches_256/1000/base/sample.json +09f8d38c82314e91d79b5e0e7cf9eccebee487889a85741fbae9d9baf10636a4 current-1/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-1/branch_write/branches_256/1000/new/benchmark.json +a73b085cb68b8006dae988f9bd5c847eeeadddd41397268a73091f517aded155 current-1/branch_write/branches_256/1000/new/estimates.json +c20be6723e9092cf73a7a797676a72eeac2cf3c71c7f18a30ceb3b9ef7e57288 current-1/branch_write/branches_256/1000/new/sample.json +09f8d38c82314e91d79b5e0e7cf9eccebee487889a85741fbae9d9baf10636a4 current-1/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-1/branch_write/branches_64/1000/base/benchmark.json +3a10950770652b26299dc6e0e48f25e634496c1586fe035062c29777ac714d23 current-1/branch_write/branches_64/1000/base/estimates.json +04e39c74a6039577bdbeb1156849c6f51ac5f5afda3494169d8b991271a233da current-1/branch_write/branches_64/1000/base/sample.json +c70b5dfb3223492c7b0b9cef2de474e8abfd2a7de89cfb6c80dbf7b7e28a8b28 current-1/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-1/branch_write/branches_64/1000/new/benchmark.json +3a10950770652b26299dc6e0e48f25e634496c1586fe035062c29777ac714d23 current-1/branch_write/branches_64/1000/new/estimates.json +04e39c74a6039577bdbeb1156849c6f51ac5f5afda3494169d8b991271a233da current-1/branch_write/branches_64/1000/new/sample.json +c70b5dfb3223492c7b0b9cef2de474e8abfd2a7de89cfb6c80dbf7b7e28a8b28 current-1/branch_write/branches_64/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/criterion-results.tar.gz new file mode 100644 index 0000000..814978d Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current-0.txt new file mode 100644 index 0000000..fc0300a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current-0.txt @@ -0,0 +1,21 @@ +memcap: <=7679 MiB (60% of 12798 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0031 s (28k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [70.109 µs 71.138 µs 72.594 µs] + thrpt: [156.37 MiB/s 159.57 MiB/s 161.91 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 4 (8.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0034 s (27k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [74.992 µs 76.411 µs 78.168 µs] + thrpt: [145.22 MiB/s 148.56 MiB/s 151.37 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current-1.txt new file mode 100644 index 0000000..581901b --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current-1.txt @@ -0,0 +1,22 @@ +memcap: <=7698 MiB (60% of 12830 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0002 s (28k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [70.993 µs 71.388 µs 71.938 µs] + thrpt: [157.80 MiB/s 159.01 MiB/s 159.90 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0021 s (27k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [75.883 µs 77.411 µs 79.234 µs] + thrpt: [143.27 MiB/s 146.64 MiB/s 149.59 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 4 (8.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current-build.txt new file mode 100644 index 0000000..cb853c7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7639 MiB (60% of 12732 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.75s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/harness.rs new file mode 100644 index 0000000..a268184 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % 1, i % 1)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % 1).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [64, 256] { + for count in [1000] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/metadata.json new file mode 100644 index 0000000..26d8361 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "ba6fd98d252fd736d9ecc9a78c3f372b75f4b118" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/summary.json new file mode 100644 index 0000000..8836db3 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-refined/summary.json @@ -0,0 +1,106 @@ +{ + "branch_write/branches_256/1000": { + "baseline_ns": 64157.492062359626, + "candidate_ns": 76911.28659033397, + "delta_percent": 19.878885720124394, + "speedup": 0.8341752544602835, + "process_deltas_percent": [ + 19.305936757253363, + 20.449856191065784 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63828.30107717042, + "upper_bound": 64290.17956672025 + }, + "point_estimate": 64046.5270096463, + "standard_error": 117.45608606786014 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63983.57186790923, + "upper_bound": 64612.50604538088 + }, + "point_estimate": 64268.457115072946, + "standard_error": 161.62704644839243 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 74992.27313271027, + "upper_bound": 78167.85962149531 + }, + "point_estimate": 76411.3090093458, + "standard_error": 820.6217972535823 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 75882.72660428303, + "upper_bound": 79233.86900931096 + }, + "point_estimate": 77411.26417132215, + "standard_error": 857.8977450927409 + } + ] + } + }, + "branch_write/branches_64/1000": { + "baseline_ns": 64088.08102521564, + "candidate_ns": 71262.94665098566, + "delta_percent": 11.19531980205033, + "speedup": 0.899318426153365, + "process_deltas_percent": [ + 11.607192487511252, + 10.787898495600977 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63400.78952961084, + "upper_bound": 64146.882143824034 + }, + "point_estimate": 63739.878375634544, + "standard_error": 191.12743851128332 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64194.98190406503, + "upper_bound": 64738.43025040648 + }, + "point_estimate": 64436.28367479674, + "standard_error": 139.6706769964146 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 70108.99831875002, + "upper_bound": 72594.3854017857 + }, + "point_estimate": 71138.28875, + "standard_error": 647.322346596766 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 70993.47016935486, + "upper_bound": 71938.43634856632 + }, + "point_estimate": 71387.60455197131, + "standard_error": 246.92293743483856 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline-0.txt new file mode 100644 index 0000000..0a20ed6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline-0.txt @@ -0,0 +1,22 @@ +memcap: <=7642 MiB (60% of 12737 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0002 s (31k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [63.908 µs 64.501 µs 65.215 µs] + thrpt: [174.06 MiB/s 175.99 MiB/s 177.62 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0016 s (31k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [64.554 µs 64.875 µs 65.301 µs] + thrpt: [173.83 MiB/s 174.98 MiB/s 175.85 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline-1.txt new file mode 100644 index 0000000..752229a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline-1.txt @@ -0,0 +1,22 @@ +memcap: <=7704 MiB (60% of 12840 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0005 s (31k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [63.127 µs 63.411 µs 63.739 µs] + thrpt: [178.09 MiB/s 179.02 MiB/s 179.82 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0026 s (31k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [65.383 µs 67.039 µs 69.146 µs] + thrpt: [164.17 MiB/s 169.33 MiB/s 173.62 MiB/s] +Found 9 outliers among 50 measurements (18.00%) + 2 (4.00%) high mild + 7 (14.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline-build.txt new file mode 100644 index 0000000..d9efff5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7684 MiB (60% of 12807 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.77s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/criterion-SHA256SUMS new file mode 100644 index 0000000..47279cb --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/criterion-SHA256SUMS @@ -0,0 +1,64 @@ +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-0/branch_write/branches_256/1000/base/benchmark.json +e2c5a368205ca16e5348dca3af6af904446125d4e6437fcefa36c7ec7093ce24 baseline-0/branch_write/branches_256/1000/base/estimates.json +dd49af31a9955a2607a8d0d53c787e465c3ebe06a187879d602182005aa72050 baseline-0/branch_write/branches_256/1000/base/sample.json +c919a807726aef2ac7f256947c7a8678a3eebd4e1a1ea518d6c8e6298ce776db baseline-0/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-0/branch_write/branches_256/1000/new/benchmark.json +e2c5a368205ca16e5348dca3af6af904446125d4e6437fcefa36c7ec7093ce24 baseline-0/branch_write/branches_256/1000/new/estimates.json +dd49af31a9955a2607a8d0d53c787e465c3ebe06a187879d602182005aa72050 baseline-0/branch_write/branches_256/1000/new/sample.json +c919a807726aef2ac7f256947c7a8678a3eebd4e1a1ea518d6c8e6298ce776db baseline-0/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-0/branch_write/branches_64/1000/base/benchmark.json +d10472d5cd007a0d04d8687799243830f2fb2653fe9043d8304e01900d13993e baseline-0/branch_write/branches_64/1000/base/estimates.json +32236d98b271c18e8aa9e21b51baf878492544acc71f8316cd4c43615f92395a baseline-0/branch_write/branches_64/1000/base/sample.json +c7904096ed6cbaad10be88a739f7f52a5e694dbd0f8de45fc70906a5ee2c0d2a baseline-0/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-0/branch_write/branches_64/1000/new/benchmark.json +d10472d5cd007a0d04d8687799243830f2fb2653fe9043d8304e01900d13993e baseline-0/branch_write/branches_64/1000/new/estimates.json +32236d98b271c18e8aa9e21b51baf878492544acc71f8316cd4c43615f92395a baseline-0/branch_write/branches_64/1000/new/sample.json +c7904096ed6cbaad10be88a739f7f52a5e694dbd0f8de45fc70906a5ee2c0d2a baseline-0/branch_write/branches_64/1000/new/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-1/branch_write/branches_256/1000/base/benchmark.json +5626a809f337d6f1967b54d35f9f3863be111dd10629a04ce2f72c7d544c63bf baseline-1/branch_write/branches_256/1000/base/estimates.json +b8572946250273b7e936c8e388568180222cb6bf479aedceef833466aa23bd54 baseline-1/branch_write/branches_256/1000/base/sample.json +589013d10e23a4b0bc1bd79cf201826446b68fd0a733f27da41704d0b1e2b39e baseline-1/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 baseline-1/branch_write/branches_256/1000/new/benchmark.json +5626a809f337d6f1967b54d35f9f3863be111dd10629a04ce2f72c7d544c63bf baseline-1/branch_write/branches_256/1000/new/estimates.json +b8572946250273b7e936c8e388568180222cb6bf479aedceef833466aa23bd54 baseline-1/branch_write/branches_256/1000/new/sample.json +589013d10e23a4b0bc1bd79cf201826446b68fd0a733f27da41704d0b1e2b39e baseline-1/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-1/branch_write/branches_64/1000/base/benchmark.json +2a2c71cd43f5c15496e90a26477e80acfe37ab34d90a85601738fd1d7e82b3ad baseline-1/branch_write/branches_64/1000/base/estimates.json +a8743ea86db3565f131b77e156ce74a725f11fec5742203cc9a8491097c836a5 baseline-1/branch_write/branches_64/1000/base/sample.json +74d673d36bc6e2500f3b28ad55382b1216dc77ef70fea005b67182ecc1799cc5 baseline-1/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 baseline-1/branch_write/branches_64/1000/new/benchmark.json +2a2c71cd43f5c15496e90a26477e80acfe37ab34d90a85601738fd1d7e82b3ad baseline-1/branch_write/branches_64/1000/new/estimates.json +a8743ea86db3565f131b77e156ce74a725f11fec5742203cc9a8491097c836a5 baseline-1/branch_write/branches_64/1000/new/sample.json +74d673d36bc6e2500f3b28ad55382b1216dc77ef70fea005b67182ecc1799cc5 baseline-1/branch_write/branches_64/1000/new/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-0/branch_write/branches_256/1000/base/benchmark.json +7f61f63ac5bf7d8c43b703fa0ac0686b26429d1ec0e151d4e3fcdceda99b2897 current-0/branch_write/branches_256/1000/base/estimates.json +cfc1faa9f7f214a1ed41b99c114124631af680f4ffc9269c2e7ef594f50ccb29 current-0/branch_write/branches_256/1000/base/sample.json +4dd18f83cc614e49cb1adb6906dfb5c25468face9f3267845eef4b302202c630 current-0/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-0/branch_write/branches_256/1000/new/benchmark.json +7f61f63ac5bf7d8c43b703fa0ac0686b26429d1ec0e151d4e3fcdceda99b2897 current-0/branch_write/branches_256/1000/new/estimates.json +cfc1faa9f7f214a1ed41b99c114124631af680f4ffc9269c2e7ef594f50ccb29 current-0/branch_write/branches_256/1000/new/sample.json +4dd18f83cc614e49cb1adb6906dfb5c25468face9f3267845eef4b302202c630 current-0/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-0/branch_write/branches_64/1000/base/benchmark.json +032ddd164d1b821e128081974b982f709183e9177c01d7673e2b3f21b7285933 current-0/branch_write/branches_64/1000/base/estimates.json +7c27add6fdd713b7e566c2b1bc1498982902b0e3f2f7b6ab96b1a7efd55c0915 current-0/branch_write/branches_64/1000/base/sample.json +63b2b9d6104cd53810248848273bbc1db2e33d6cfcf50a7a53a60940a3595db7 current-0/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-0/branch_write/branches_64/1000/new/benchmark.json +032ddd164d1b821e128081974b982f709183e9177c01d7673e2b3f21b7285933 current-0/branch_write/branches_64/1000/new/estimates.json +7c27add6fdd713b7e566c2b1bc1498982902b0e3f2f7b6ab96b1a7efd55c0915 current-0/branch_write/branches_64/1000/new/sample.json +63b2b9d6104cd53810248848273bbc1db2e33d6cfcf50a7a53a60940a3595db7 current-0/branch_write/branches_64/1000/new/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-1/branch_write/branches_256/1000/base/benchmark.json +d6c2e676475c1336168f35541d0dbe94e4b8107fb747f27d2f85f960a7f09ad3 current-1/branch_write/branches_256/1000/base/estimates.json +384b277f8c4d21f681add1451d5714ee526426774e817c2f16553c849d6c66f5 current-1/branch_write/branches_256/1000/base/sample.json +4765f5faa89bc57abbd3deab9e21234f0eb18853a4891c15dabd32615ae11bc0 current-1/branch_write/branches_256/1000/base/tukey.json +d97869cdea20691bf0adb753f6b09afe5463143c0a7876355f44611b4faca176 current-1/branch_write/branches_256/1000/new/benchmark.json +d6c2e676475c1336168f35541d0dbe94e4b8107fb747f27d2f85f960a7f09ad3 current-1/branch_write/branches_256/1000/new/estimates.json +384b277f8c4d21f681add1451d5714ee526426774e817c2f16553c849d6c66f5 current-1/branch_write/branches_256/1000/new/sample.json +4765f5faa89bc57abbd3deab9e21234f0eb18853a4891c15dabd32615ae11bc0 current-1/branch_write/branches_256/1000/new/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-1/branch_write/branches_64/1000/base/benchmark.json +27a60b60b835c6f2416ede4bbeb56054ce7c078debb077e297dbc773ce7fefe8 current-1/branch_write/branches_64/1000/base/estimates.json +dfb39856edeb9e9b86dfa18b5faf720f27284c10008d29d8c99f6a1e76701c3b current-1/branch_write/branches_64/1000/base/sample.json +46aef3fa1d01dfed2155e4a1c5891cc25119c8d3ad1a600611220b4917cc6342 current-1/branch_write/branches_64/1000/base/tukey.json +62eca5528079d85a1a28456700b578c8a5e1f907e62cd163f2d8539f3b56e4d5 current-1/branch_write/branches_64/1000/new/benchmark.json +27a60b60b835c6f2416ede4bbeb56054ce7c078debb077e297dbc773ce7fefe8 current-1/branch_write/branches_64/1000/new/estimates.json +dfb39856edeb9e9b86dfa18b5faf720f27284c10008d29d8c99f6a1e76701c3b current-1/branch_write/branches_64/1000/new/sample.json +46aef3fa1d01dfed2155e4a1c5891cc25119c8d3ad1a600611220b4917cc6342 current-1/branch_write/branches_64/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/criterion-results.tar.gz new file mode 100644 index 0000000..81c7e97 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current-0.txt new file mode 100644 index 0000000..c03ffc4 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current-0.txt @@ -0,0 +1,22 @@ +memcap: <=7690 MiB (60% of 12817 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0003 s (33k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [60.232 µs 61.261 µs 62.606 µs] + thrpt: [181.32 MiB/s 185.30 MiB/s 188.46 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 4 (8.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0010 s (33k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [61.061 µs 61.969 µs 63.030 µs] + thrpt: [180.10 MiB/s 183.18 MiB/s 185.90 MiB/s] +Found 10 outliers among 50 measurements (20.00%) + 3 (6.00%) high mild + 7 (14.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current-1.txt new file mode 100644 index 0000000..4de32a5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current-1.txt @@ -0,0 +1,20 @@ +memcap: <=7700 MiB (60% of 12833 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0017 s (33k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [59.562 µs 59.763 µs 59.992 µs] + thrpt: [189.22 MiB/s 189.94 MiB/s 190.58 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high mild +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0017 s (33k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [59.703 µs 60.128 µs 60.654 µs] + thrpt: [187.15 MiB/s 188.79 MiB/s 190.14 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current-build.txt new file mode 100644 index 0000000..68ac613 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current-build.txt @@ -0,0 +1,4 @@ +memcap: <=7651 MiB (60% of 12752 MiB available) [systemd MemoryMax, swap off] + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 26.77s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/harness.rs new file mode 100644 index 0000000..a268184 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % 1, i % 1)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % 1).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [64, 256] { + for count in [1000] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/metadata.json new file mode 100644 index 0000000..e5a0519 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "081683a9c4cdc9fded04e8e5d195ba74659c4a24" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/summary.json new file mode 100644 index 0000000..e800537 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-concentrated-sampled/summary.json @@ -0,0 +1,106 @@ +{ + "branch_write/branches_256/1000": { + "baseline_ns": 65957.08189508638, + "candidate_ns": 61048.1895836395, + "delta_percent": -7.442555325984756, + "speedup": 1.0804101210032022, + "process_deltas_percent": [ + -4.479703733167073, + -10.309750270639128 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64553.60503333334, + "upper_bound": 65301.12586585367 + }, + "point_estimate": 64874.88926829269, + "standard_error": 193.50625735478167 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 65383.13400729334, + "upper_bound": 69145.6320680713 + }, + "point_estimate": 67039.27452188006, + "standard_error": 969.9943474839505 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 61061.48368376723, + "upper_bound": 63029.83513476263 + }, + "point_estimate": 61968.68643185298, + "standard_error": 505.3669389500557 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 59702.65984454411, + "upper_bound": 60653.96641330345 + }, + "point_estimate": 60127.69273542602, + "standard_error": 245.36509966010314 + } + ] + } + }, + "branch_write/branches_64/1000": { + "baseline_ns": 63955.79468528204, + "candidate_ns": 60512.22260736197, + "delta_percent": -5.384300351305827, + "speedup": 1.0569070500064746, + "process_deltas_percent": [ + -5.0221084659686, + -5.7527151613046 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63907.61722355769, + "upper_bound": 65215.06566506409 + }, + "point_estimate": 64500.53660256408, + "standard_error": 335.37906986831234 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63127.40642719999, + "upper_bound": 63739.139611199964 + }, + "point_estimate": 63411.052767999994, + "standard_error": 156.99901807177952 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 60231.87865797546, + "upper_bound": 62605.522414110404 + }, + "point_estimate": 61261.249693251535, + "standard_error": 611.3554051081031 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 59562.40175230063, + "upper_bound": 59991.60796932517 + }, + "point_estimate": 59763.1955214724, + "standard_error": 110.13203910385523 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline-0.txt new file mode 100644 index 0000000..8a61f59 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline-0.txt @@ -0,0 +1,122 @@ +memcap: <=7623 MiB (60% of 12706 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_read/branches_1/1 +Benchmarking branch_read/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1: Collecting 50 samples in estimated 2.0000 s (3.2M iterations) +Benchmarking branch_read/branches_1/1: Analyzing +branch_read/branches_1/1 + time: [624.38 ns 627.80 ns 632.24 ns] + thrpt: [34.693 MiB/s 34.939 MiB/s 35.130 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 5 (10.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_1/1000 +Benchmarking branch_read/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1000: Collecting 50 samples in estimated 2.0069 s (6850 iterations) +Benchmarking branch_read/branches_1/1000: Analyzing +branch_read/branches_1/1000 + time: [289.65 µs 294.33 µs 300.31 µs] + thrpt: [37.799 MiB/s 38.568 MiB/s 39.191 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_read/branches_16/1 +Benchmarking branch_read/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_16/1: Analyzing +branch_read/branches_16/1 + time: [649.36 ns 668.09 ns 700.95 ns] + thrpt: [31.293 MiB/s 32.832 MiB/s 33.779 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_16/1000 +Benchmarking branch_read/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1000: Collecting 50 samples in estimated 2.0035 s (6450 iterations) +Benchmarking branch_read/branches_16/1000: Analyzing +branch_read/branches_16/1000 + time: [312.05 µs 314.25 µs 316.86 µs] + thrpt: [38.065 MiB/s 38.380 MiB/s 38.652 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_64/1 +Benchmarking branch_read/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_64/1: Analyzing +branch_read/branches_64/1 + time: [644.24 ns 648.00 ns 652.91 ns] + thrpt: [33.595 MiB/s 33.850 MiB/s 34.047 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_read/branches_64/1000 +Benchmarking branch_read/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1000: Collecting 50 samples in estimated 2.0126 s (5850 iterations) +Benchmarking branch_read/branches_64/1000: Analyzing +branch_read/branches_64/1000 + time: [343.14 µs 345.46 µs 348.18 µs] + thrpt: [37.205 MiB/s 37.497 MiB/s 37.751 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_256/1 +Benchmarking branch_read/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_256/1: Analyzing +branch_read/branches_256/1 + time: [643.23 ns 647.48 ns 653.83 ns] + thrpt: [33.548 MiB/s 33.877 MiB/s 34.100 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_read/branches_256/1000 +Benchmarking branch_read/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1000: Collecting 50 samples in estimated 2.0141 s (4850 iterations) +Benchmarking branch_read/branches_256/1000: Analyzing +branch_read/branches_256/1000 + time: [413.64 µs 415.96 µs 419.09 µs] + thrpt: [34.186 MiB/s 34.443 MiB/s 34.637 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe + +Benchmarking branch_write/branches_1/1 +Benchmarking branch_write/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1: Collecting 50 samples in estimated 2.0000 s (17M iterations) +Benchmarking branch_write/branches_1/1: Analyzing +branch_write/branches_1/1 + time: [115.15 ns 115.86 ns 116.77 ns] + thrpt: [187.84 MiB/s 189.32 MiB/s 190.49 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_16/1 +Benchmarking branch_write/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1: Collecting 50 samples in estimated 2.0000 s (16M iterations) +Benchmarking branch_write/branches_16/1: Analyzing +branch_write/branches_16/1 + time: [127.44 ns 127.95 ns 128.58 ns] + thrpt: [170.59 MiB/s 171.43 MiB/s 172.11 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_64/1 +Benchmarking branch_write/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1: Collecting 50 samples in estimated 2.0000 s (13M iterations) +Benchmarking branch_write/branches_64/1: Analyzing +branch_write/branches_64/1 + time: [145.86 ns 146.51 ns 147.27 ns] + thrpt: [148.94 MiB/s 149.71 MiB/s 150.38 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/1 +Benchmarking branch_write/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1: Collecting 50 samples in estimated 2.0000 s (9.3M iterations) +Benchmarking branch_write/branches_256/1: Analyzing +branch_write/branches_256/1 + time: [210.39 ns 214.12 ns 219.81 ns] + thrpt: [99.789 MiB/s 102.44 MiB/s 104.26 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline-1.txt new file mode 100644 index 0000000..ddd85de --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline-1.txt @@ -0,0 +1,123 @@ +memcap: <=7699 MiB (60% of 12832 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_read/branches_1/1 +Benchmarking branch_read/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_1/1: Analyzing +branch_read/branches_1/1 + time: [630.92 ns 634.46 ns 639.00 ns] + thrpt: [34.326 MiB/s 34.572 MiB/s 34.766 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_1/1000 +Benchmarking branch_read/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1000: Collecting 50 samples in estimated 2.0024 s (6800 iterations) +Benchmarking branch_read/branches_1/1000: Analyzing +branch_read/branches_1/1000 + time: [289.69 µs 293.39 µs 298.52 µs] + thrpt: [38.026 MiB/s 38.692 MiB/s 39.186 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_16/1 +Benchmarking branch_read/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_16/1: Analyzing +branch_read/branches_16/1 + time: [658.09 ns 664.50 ns 672.47 ns] + thrpt: [32.618 MiB/s 33.009 MiB/s 33.331 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_16/1000 +Benchmarking branch_read/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1000: Collecting 50 samples in estimated 2.0102 s (6400 iterations) +Benchmarking branch_read/branches_16/1000: Analyzing +branch_read/branches_16/1000 + time: [310.27 µs 311.82 µs 313.73 µs] + thrpt: [38.444 MiB/s 38.680 MiB/s 38.873 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_64/1 +Benchmarking branch_read/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_64/1: Analyzing +branch_read/branches_64/1 + time: [650.69 ns 657.04 ns 665.00 ns] + thrpt: [32.984 MiB/s 33.384 MiB/s 33.710 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_64/1000 +Benchmarking branch_read/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1000: Collecting 50 samples in estimated 2.0108 s (5850 iterations) +Benchmarking branch_read/branches_64/1000: Analyzing +branch_read/branches_64/1000 + time: [345.80 µs 350.53 µs 356.14 µs] + thrpt: [36.372 MiB/s 36.954 MiB/s 37.460 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_256/1 +Benchmarking branch_read/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_256/1: Analyzing +branch_read/branches_256/1 + time: [657.79 ns 660.90 ns 665.46 ns] + thrpt: [32.961 MiB/s 33.189 MiB/s 33.346 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_read/branches_256/1000 +Benchmarking branch_read/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1000: Collecting 50 samples in estimated 2.0136 s (4750 iterations) +Benchmarking branch_read/branches_256/1000: Analyzing +branch_read/branches_256/1000 + time: [413.38 µs 415.22 µs 417.66 µs] + thrpt: [34.303 MiB/s 34.505 MiB/s 34.658 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe + +Benchmarking branch_write/branches_1/1 +Benchmarking branch_write/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1: Collecting 50 samples in estimated 2.0000 s (17M iterations) +Benchmarking branch_write/branches_1/1: Analyzing +branch_write/branches_1/1 + time: [115.48 ns 116.56 ns 117.88 ns] + thrpt: [186.07 MiB/s 188.18 MiB/s 189.94 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_16/1 +Benchmarking branch_write/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1: Collecting 50 samples in estimated 2.0000 s (15M iterations) +Benchmarking branch_write/branches_16/1: Analyzing +branch_write/branches_16/1 + time: [128.46 ns 129.99 ns 132.71 ns] + thrpt: [165.28 MiB/s 168.75 MiB/s 170.75 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_64/1 +Benchmarking branch_write/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1: Collecting 50 samples in estimated 2.0000 s (14M iterations) +Benchmarking branch_write/branches_64/1: Analyzing +branch_write/branches_64/1 + time: [144.29 ns 145.80 ns 147.89 ns] + thrpt: [148.31 MiB/s 150.44 MiB/s 152.02 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_256/1 +Benchmarking branch_write/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1: Collecting 50 samples in estimated 2.0000 s (9.2M iterations) +Benchmarking branch_write/branches_256/1: Analyzing +branch_write/branches_256/1 + time: [210.76 ns 212.21 ns 214.06 ns] + thrpt: [102.47 MiB/s 103.36 MiB/s 104.07 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline-build.txt new file mode 100644 index 0000000..12e99a2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7700 MiB (60% of 12834 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.74s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/criterion-SHA256SUMS new file mode 100644 index 0000000..732dbdd --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/criterion-SHA256SUMS @@ -0,0 +1,384 @@ +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 baseline-0/branch_read/branches_1/1/base/benchmark.json +cac1a0e96df8c0462df7a9d9645029491a07f7a5c45ea195f6d9d78276cb4464 baseline-0/branch_read/branches_1/1/base/estimates.json +cccaec6e4d428301ad484fb151944cdf0ee305ee5de2628a316b9ee189ef7986 baseline-0/branch_read/branches_1/1/base/sample.json +f042630493d8c6e80df7de84141cc8aca044116d1d2b416ebc906cf30ecad039 baseline-0/branch_read/branches_1/1/base/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 baseline-0/branch_read/branches_1/1/new/benchmark.json +cac1a0e96df8c0462df7a9d9645029491a07f7a5c45ea195f6d9d78276cb4464 baseline-0/branch_read/branches_1/1/new/estimates.json +cccaec6e4d428301ad484fb151944cdf0ee305ee5de2628a316b9ee189ef7986 baseline-0/branch_read/branches_1/1/new/sample.json +f042630493d8c6e80df7de84141cc8aca044116d1d2b416ebc906cf30ecad039 baseline-0/branch_read/branches_1/1/new/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 baseline-0/branch_read/branches_1/1000/base/benchmark.json +8afaa3d86efeece6e44222bf2e6838e21a4ae7ad3706340db730c9b17a94caca baseline-0/branch_read/branches_1/1000/base/estimates.json +1a040409d713bc14566b2bdc958702b626932da1517709473b04a2222f215cf8 baseline-0/branch_read/branches_1/1000/base/sample.json +75742851c3a0aaa923efe3bb1c87f88fc0db6b4eae2613bd17d22ed1a53a5863 baseline-0/branch_read/branches_1/1000/base/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 baseline-0/branch_read/branches_1/1000/new/benchmark.json +8afaa3d86efeece6e44222bf2e6838e21a4ae7ad3706340db730c9b17a94caca baseline-0/branch_read/branches_1/1000/new/estimates.json +1a040409d713bc14566b2bdc958702b626932da1517709473b04a2222f215cf8 baseline-0/branch_read/branches_1/1000/new/sample.json +75742851c3a0aaa923efe3bb1c87f88fc0db6b4eae2613bd17d22ed1a53a5863 baseline-0/branch_read/branches_1/1000/new/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 baseline-0/branch_read/branches_16/1/base/benchmark.json +c626bc8163b83a7f8d5b7e2a11300e420b4cdafbc3e74123877692c21ae49e99 baseline-0/branch_read/branches_16/1/base/estimates.json +6b96f3b0af069027b9f8a229c1fd778f9879544c10450b1451ad94bbf5076a3b baseline-0/branch_read/branches_16/1/base/sample.json +c2685f0a9a6ac6882266b58a0df7f323bf92933913ebc9a9fbfbbf3d57a922e2 baseline-0/branch_read/branches_16/1/base/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 baseline-0/branch_read/branches_16/1/new/benchmark.json +c626bc8163b83a7f8d5b7e2a11300e420b4cdafbc3e74123877692c21ae49e99 baseline-0/branch_read/branches_16/1/new/estimates.json +6b96f3b0af069027b9f8a229c1fd778f9879544c10450b1451ad94bbf5076a3b baseline-0/branch_read/branches_16/1/new/sample.json +c2685f0a9a6ac6882266b58a0df7f323bf92933913ebc9a9fbfbbf3d57a922e2 baseline-0/branch_read/branches_16/1/new/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 baseline-0/branch_read/branches_16/1000/base/benchmark.json +39ef4a1a9befdafac4b5d9b8b59764a7001f0a59b48f5ddd69d32a1875247f63 baseline-0/branch_read/branches_16/1000/base/estimates.json +64819d8097fb871b3e8b6acc0681aa0af5569eda9ff0a37a3d7786d2eee01dba baseline-0/branch_read/branches_16/1000/base/sample.json +217246539a30d5df48fcfa7d75befc96cfb40e76962ae9fbbfae3d0f3b5f39d4 baseline-0/branch_read/branches_16/1000/base/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 baseline-0/branch_read/branches_16/1000/new/benchmark.json +39ef4a1a9befdafac4b5d9b8b59764a7001f0a59b48f5ddd69d32a1875247f63 baseline-0/branch_read/branches_16/1000/new/estimates.json +64819d8097fb871b3e8b6acc0681aa0af5569eda9ff0a37a3d7786d2eee01dba baseline-0/branch_read/branches_16/1000/new/sample.json +217246539a30d5df48fcfa7d75befc96cfb40e76962ae9fbbfae3d0f3b5f39d4 baseline-0/branch_read/branches_16/1000/new/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b baseline-0/branch_read/branches_256/1/base/benchmark.json +dc52b4c691e9734906274859b0b29f022d0beb87e74f7222e6494aa50f69b577 baseline-0/branch_read/branches_256/1/base/estimates.json +161b791dcb6e3971ebe4360378b70b6b9f311e1fb1cac2fc433327529a58d5f0 baseline-0/branch_read/branches_256/1/base/sample.json +60de7566e213fe43101700483faf1d67ef0bcc66a765441e88e97bce0f1d5892 baseline-0/branch_read/branches_256/1/base/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b baseline-0/branch_read/branches_256/1/new/benchmark.json +dc52b4c691e9734906274859b0b29f022d0beb87e74f7222e6494aa50f69b577 baseline-0/branch_read/branches_256/1/new/estimates.json +161b791dcb6e3971ebe4360378b70b6b9f311e1fb1cac2fc433327529a58d5f0 baseline-0/branch_read/branches_256/1/new/sample.json +60de7566e213fe43101700483faf1d67ef0bcc66a765441e88e97bce0f1d5892 baseline-0/branch_read/branches_256/1/new/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 baseline-0/branch_read/branches_256/1000/base/benchmark.json +0d88b26435e6ad6988e895432ef6b0e432586e96a43c4c924d4d70eb1573c3f7 baseline-0/branch_read/branches_256/1000/base/estimates.json +a4ea5c6eadacbd72cb7cd4ae25912b19ce59662a9d4809b7771ff5ae5240dd53 baseline-0/branch_read/branches_256/1000/base/sample.json +c39c170a9b64f9584c411dad9a999d8ad0785ef35569327db18893a48638d476 baseline-0/branch_read/branches_256/1000/base/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 baseline-0/branch_read/branches_256/1000/new/benchmark.json +0d88b26435e6ad6988e895432ef6b0e432586e96a43c4c924d4d70eb1573c3f7 baseline-0/branch_read/branches_256/1000/new/estimates.json +a4ea5c6eadacbd72cb7cd4ae25912b19ce59662a9d4809b7771ff5ae5240dd53 baseline-0/branch_read/branches_256/1000/new/sample.json +c39c170a9b64f9584c411dad9a999d8ad0785ef35569327db18893a48638d476 baseline-0/branch_read/branches_256/1000/new/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 baseline-0/branch_read/branches_64/1/base/benchmark.json +8a1f38e200c91e95999d5fda16a03a3512bf821c0ef02c933c4ebeefcbb2bba6 baseline-0/branch_read/branches_64/1/base/estimates.json +71eea14517c855f405e8facacd59dacd30968b23e341db15880010b70c280fa1 baseline-0/branch_read/branches_64/1/base/sample.json +dc242243ce9efc75a7c80f995c99ca137fa2457f3278e872fa0f9faa50a78389 baseline-0/branch_read/branches_64/1/base/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 baseline-0/branch_read/branches_64/1/new/benchmark.json +8a1f38e200c91e95999d5fda16a03a3512bf821c0ef02c933c4ebeefcbb2bba6 baseline-0/branch_read/branches_64/1/new/estimates.json +71eea14517c855f405e8facacd59dacd30968b23e341db15880010b70c280fa1 baseline-0/branch_read/branches_64/1/new/sample.json +dc242243ce9efc75a7c80f995c99ca137fa2457f3278e872fa0f9faa50a78389 baseline-0/branch_read/branches_64/1/new/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 baseline-0/branch_read/branches_64/1000/base/benchmark.json +20c3dc12e20343590a03afaf32c1dc86cc191a9a6a83b20523b83dee0ab543b0 baseline-0/branch_read/branches_64/1000/base/estimates.json +c594bd0044a501d1d3012b56fb93be311528c2343c1090a710935230053f7081 baseline-0/branch_read/branches_64/1000/base/sample.json +1404f2af902862bcd65e41fb9f9884b7684be93ea8152bbbaeb8ee07b442a7c0 baseline-0/branch_read/branches_64/1000/base/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 baseline-0/branch_read/branches_64/1000/new/benchmark.json +20c3dc12e20343590a03afaf32c1dc86cc191a9a6a83b20523b83dee0ab543b0 baseline-0/branch_read/branches_64/1000/new/estimates.json +c594bd0044a501d1d3012b56fb93be311528c2343c1090a710935230053f7081 baseline-0/branch_read/branches_64/1000/new/sample.json +1404f2af902862bcd65e41fb9f9884b7684be93ea8152bbbaeb8ee07b442a7c0 baseline-0/branch_read/branches_64/1000/new/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 baseline-0/branch_write/branches_1/1/base/benchmark.json +31619ae96b8abac4517a809c5eeac22cffcb8c19d1446f906559649d42b73081 baseline-0/branch_write/branches_1/1/base/estimates.json +3e210d874385fc9cf9ba959c048424d6d5495419c2a34c5736629ef0f0fff761 baseline-0/branch_write/branches_1/1/base/sample.json +ca39db82da93b5283f2dad19201b1ee5e88c726e136ad1436e94c9edb912b919 baseline-0/branch_write/branches_1/1/base/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 baseline-0/branch_write/branches_1/1/new/benchmark.json +31619ae96b8abac4517a809c5eeac22cffcb8c19d1446f906559649d42b73081 baseline-0/branch_write/branches_1/1/new/estimates.json +3e210d874385fc9cf9ba959c048424d6d5495419c2a34c5736629ef0f0fff761 baseline-0/branch_write/branches_1/1/new/sample.json +ca39db82da93b5283f2dad19201b1ee5e88c726e136ad1436e94c9edb912b919 baseline-0/branch_write/branches_1/1/new/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a baseline-0/branch_write/branches_16/1/base/benchmark.json +061f1d750218af53484f5bf8ed5ad31bbc04ae304fe5d5e0c7440bdccb26d24f baseline-0/branch_write/branches_16/1/base/estimates.json +cdf1e7aee8b9b07084f28472faebc26772aecfbbe3f9b72a59be670facce5654 baseline-0/branch_write/branches_16/1/base/sample.json +e7753e6ced2d627dcac736a2949d185e84601a8aeac7bf596ce20adfd99bffe0 baseline-0/branch_write/branches_16/1/base/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a baseline-0/branch_write/branches_16/1/new/benchmark.json +061f1d750218af53484f5bf8ed5ad31bbc04ae304fe5d5e0c7440bdccb26d24f baseline-0/branch_write/branches_16/1/new/estimates.json +cdf1e7aee8b9b07084f28472faebc26772aecfbbe3f9b72a59be670facce5654 baseline-0/branch_write/branches_16/1/new/sample.json +e7753e6ced2d627dcac736a2949d185e84601a8aeac7bf596ce20adfd99bffe0 baseline-0/branch_write/branches_16/1/new/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f baseline-0/branch_write/branches_256/1/base/benchmark.json +b26fe3f1ae0d645330181ba6c2947dcbc9a5a3e9cacf0b1be481d148626bd070 baseline-0/branch_write/branches_256/1/base/estimates.json +142cc45b1f9bc417f04d348bcfba3215de550a01dae2a31161571b2bb45fd6ab baseline-0/branch_write/branches_256/1/base/sample.json +61b934f489d6abde830c9b47c4ed555a640e245d4914b17c6a168fe65c4dde74 baseline-0/branch_write/branches_256/1/base/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f baseline-0/branch_write/branches_256/1/new/benchmark.json +b26fe3f1ae0d645330181ba6c2947dcbc9a5a3e9cacf0b1be481d148626bd070 baseline-0/branch_write/branches_256/1/new/estimates.json +142cc45b1f9bc417f04d348bcfba3215de550a01dae2a31161571b2bb45fd6ab baseline-0/branch_write/branches_256/1/new/sample.json +61b934f489d6abde830c9b47c4ed555a640e245d4914b17c6a168fe65c4dde74 baseline-0/branch_write/branches_256/1/new/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af baseline-0/branch_write/branches_64/1/base/benchmark.json +4924ea935ec4c38cd49acb090cbd503ee1459a438d0422330d426ffeda8010da baseline-0/branch_write/branches_64/1/base/estimates.json +ddfe7ce65ca0581b94076733ca6170c370fae6da662af27b3b1f6655e0817f78 baseline-0/branch_write/branches_64/1/base/sample.json +1a62bde07f17865d49fa43b0e4de9ca4a55481ccf4fd594220ed75e7dc58a30a baseline-0/branch_write/branches_64/1/base/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af baseline-0/branch_write/branches_64/1/new/benchmark.json +4924ea935ec4c38cd49acb090cbd503ee1459a438d0422330d426ffeda8010da baseline-0/branch_write/branches_64/1/new/estimates.json +ddfe7ce65ca0581b94076733ca6170c370fae6da662af27b3b1f6655e0817f78 baseline-0/branch_write/branches_64/1/new/sample.json +1a62bde07f17865d49fa43b0e4de9ca4a55481ccf4fd594220ed75e7dc58a30a baseline-0/branch_write/branches_64/1/new/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 baseline-1/branch_read/branches_1/1/base/benchmark.json +349c393609723bc5ad6f4daf84fc388cb548cc0e3b01a2cb383d24eface65279 baseline-1/branch_read/branches_1/1/base/estimates.json +05cbb9e90c6daab62ffa5555fcbfe5cf5016c5301dd7234b32b9627155963eac baseline-1/branch_read/branches_1/1/base/sample.json +d731845cfaedeeaa168758ed694ca73898287ca1bd9aca37b5aa332c44bd5fb9 baseline-1/branch_read/branches_1/1/base/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 baseline-1/branch_read/branches_1/1/new/benchmark.json +349c393609723bc5ad6f4daf84fc388cb548cc0e3b01a2cb383d24eface65279 baseline-1/branch_read/branches_1/1/new/estimates.json +05cbb9e90c6daab62ffa5555fcbfe5cf5016c5301dd7234b32b9627155963eac baseline-1/branch_read/branches_1/1/new/sample.json +d731845cfaedeeaa168758ed694ca73898287ca1bd9aca37b5aa332c44bd5fb9 baseline-1/branch_read/branches_1/1/new/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 baseline-1/branch_read/branches_1/1000/base/benchmark.json +2771fed67e829b1bc4f6436d486192cc222194f15f3fb00babe396dad83968d9 baseline-1/branch_read/branches_1/1000/base/estimates.json +f7134b1a62f6ab8252e451f996eb4541079648d5f7b5b7e8cd39749de0076b62 baseline-1/branch_read/branches_1/1000/base/sample.json +ea2b0ee2d60380f6fce29d19eeee1b2704f6bd158507ee9b51f9ac4a42006a05 baseline-1/branch_read/branches_1/1000/base/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 baseline-1/branch_read/branches_1/1000/new/benchmark.json +2771fed67e829b1bc4f6436d486192cc222194f15f3fb00babe396dad83968d9 baseline-1/branch_read/branches_1/1000/new/estimates.json +f7134b1a62f6ab8252e451f996eb4541079648d5f7b5b7e8cd39749de0076b62 baseline-1/branch_read/branches_1/1000/new/sample.json +ea2b0ee2d60380f6fce29d19eeee1b2704f6bd158507ee9b51f9ac4a42006a05 baseline-1/branch_read/branches_1/1000/new/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 baseline-1/branch_read/branches_16/1/base/benchmark.json +79622a51ffd6525541e53e050559196f9614c35f1453e66077afbffebb35018d baseline-1/branch_read/branches_16/1/base/estimates.json +8e1db832f20919a17ccc1d2aa83975cd25403f08152bcdd99baf95f2a4b1de9c baseline-1/branch_read/branches_16/1/base/sample.json +c0460bc4f787b7a168943a7070a897c403388f19c98d59c860cdf04376515bdd baseline-1/branch_read/branches_16/1/base/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 baseline-1/branch_read/branches_16/1/new/benchmark.json +79622a51ffd6525541e53e050559196f9614c35f1453e66077afbffebb35018d baseline-1/branch_read/branches_16/1/new/estimates.json +8e1db832f20919a17ccc1d2aa83975cd25403f08152bcdd99baf95f2a4b1de9c baseline-1/branch_read/branches_16/1/new/sample.json +c0460bc4f787b7a168943a7070a897c403388f19c98d59c860cdf04376515bdd baseline-1/branch_read/branches_16/1/new/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 baseline-1/branch_read/branches_16/1000/base/benchmark.json +3a083db3ac5a029ad66b29a56d65daae5ba04386251c691b38b05759dd038aef baseline-1/branch_read/branches_16/1000/base/estimates.json +d1c8c0b06f07a7c6345da0c1e8033e4aee952daa98b108d5ddb356b8e6027719 baseline-1/branch_read/branches_16/1000/base/sample.json +52e8be86141d064cf7e71c914e92c0fc4e27ea13860dc749b3b88c73c8cd3cb3 baseline-1/branch_read/branches_16/1000/base/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 baseline-1/branch_read/branches_16/1000/new/benchmark.json +3a083db3ac5a029ad66b29a56d65daae5ba04386251c691b38b05759dd038aef baseline-1/branch_read/branches_16/1000/new/estimates.json +d1c8c0b06f07a7c6345da0c1e8033e4aee952daa98b108d5ddb356b8e6027719 baseline-1/branch_read/branches_16/1000/new/sample.json +52e8be86141d064cf7e71c914e92c0fc4e27ea13860dc749b3b88c73c8cd3cb3 baseline-1/branch_read/branches_16/1000/new/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b baseline-1/branch_read/branches_256/1/base/benchmark.json +75f8e66e526acec07b38cf6c219a905062adc81a6a3c11be38325e1f40ffb877 baseline-1/branch_read/branches_256/1/base/estimates.json +be0491a1274bfa9ec21fd988dda6012691fded25a5984898776906687b57e811 baseline-1/branch_read/branches_256/1/base/sample.json +aba949440c94938e1e56a919a2acc1d599a9e32a61050d479e510be174564aaf baseline-1/branch_read/branches_256/1/base/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b baseline-1/branch_read/branches_256/1/new/benchmark.json +75f8e66e526acec07b38cf6c219a905062adc81a6a3c11be38325e1f40ffb877 baseline-1/branch_read/branches_256/1/new/estimates.json +be0491a1274bfa9ec21fd988dda6012691fded25a5984898776906687b57e811 baseline-1/branch_read/branches_256/1/new/sample.json +aba949440c94938e1e56a919a2acc1d599a9e32a61050d479e510be174564aaf baseline-1/branch_read/branches_256/1/new/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 baseline-1/branch_read/branches_256/1000/base/benchmark.json +8795c0d2606e19391f789ccaf7a1b48584a699e696fd511b0202920c44fd8de6 baseline-1/branch_read/branches_256/1000/base/estimates.json +3240841fb29f1aa736d0c4a17ea2e39ec47bb820f6ececbc01deaaa332bd1ba9 baseline-1/branch_read/branches_256/1000/base/sample.json +ebf44ae8895898d933ade8464e49cf54c37667ede2f08078228a93e3bef0992d baseline-1/branch_read/branches_256/1000/base/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 baseline-1/branch_read/branches_256/1000/new/benchmark.json +8795c0d2606e19391f789ccaf7a1b48584a699e696fd511b0202920c44fd8de6 baseline-1/branch_read/branches_256/1000/new/estimates.json +3240841fb29f1aa736d0c4a17ea2e39ec47bb820f6ececbc01deaaa332bd1ba9 baseline-1/branch_read/branches_256/1000/new/sample.json +ebf44ae8895898d933ade8464e49cf54c37667ede2f08078228a93e3bef0992d baseline-1/branch_read/branches_256/1000/new/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 baseline-1/branch_read/branches_64/1/base/benchmark.json +c91d462579eebdfb19c80fe5e335955ce6b65c473df9dc28d8eef2c7d93ff1d4 baseline-1/branch_read/branches_64/1/base/estimates.json +2ed392f58d492451cf2ff22332580a09a9f70679175779f5a387231255c3ccbb baseline-1/branch_read/branches_64/1/base/sample.json +3d0b0f95b4cc7b778b1eae275ed6fdc917b62faa5feffcb3ac56ff00808ede66 baseline-1/branch_read/branches_64/1/base/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 baseline-1/branch_read/branches_64/1/new/benchmark.json +c91d462579eebdfb19c80fe5e335955ce6b65c473df9dc28d8eef2c7d93ff1d4 baseline-1/branch_read/branches_64/1/new/estimates.json +2ed392f58d492451cf2ff22332580a09a9f70679175779f5a387231255c3ccbb baseline-1/branch_read/branches_64/1/new/sample.json +3d0b0f95b4cc7b778b1eae275ed6fdc917b62faa5feffcb3ac56ff00808ede66 baseline-1/branch_read/branches_64/1/new/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 baseline-1/branch_read/branches_64/1000/base/benchmark.json +ca9d501e7cbce15c4efb9fb57a9d3ba79f70391f15796928e8a200c2c39440a2 baseline-1/branch_read/branches_64/1000/base/estimates.json +d907c2c59f4e0f18c038b658b4e8146d8c997db70f0693422d70d5c3aef0d1bc baseline-1/branch_read/branches_64/1000/base/sample.json +c14d8e9129ffbbdf8f614da475c88d669ae43db2c5ecd69cba0c47f9f6ac34d2 baseline-1/branch_read/branches_64/1000/base/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 baseline-1/branch_read/branches_64/1000/new/benchmark.json +ca9d501e7cbce15c4efb9fb57a9d3ba79f70391f15796928e8a200c2c39440a2 baseline-1/branch_read/branches_64/1000/new/estimates.json +d907c2c59f4e0f18c038b658b4e8146d8c997db70f0693422d70d5c3aef0d1bc baseline-1/branch_read/branches_64/1000/new/sample.json +c14d8e9129ffbbdf8f614da475c88d669ae43db2c5ecd69cba0c47f9f6ac34d2 baseline-1/branch_read/branches_64/1000/new/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 baseline-1/branch_write/branches_1/1/base/benchmark.json +cc48f14a05cca34d8d46da673d5d08d11ff0529b60c3494ee14fea0fe18fb7a8 baseline-1/branch_write/branches_1/1/base/estimates.json +fad042eb51799be9872319a2f0632bde3c21693db33dc8fd55597b1cdc560daf baseline-1/branch_write/branches_1/1/base/sample.json +65ccd2c152d6ace4e6cbcf393c425ae9049fbbe7a07c2b9f5c2c1264b20b1a62 baseline-1/branch_write/branches_1/1/base/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 baseline-1/branch_write/branches_1/1/new/benchmark.json +cc48f14a05cca34d8d46da673d5d08d11ff0529b60c3494ee14fea0fe18fb7a8 baseline-1/branch_write/branches_1/1/new/estimates.json +fad042eb51799be9872319a2f0632bde3c21693db33dc8fd55597b1cdc560daf baseline-1/branch_write/branches_1/1/new/sample.json +65ccd2c152d6ace4e6cbcf393c425ae9049fbbe7a07c2b9f5c2c1264b20b1a62 baseline-1/branch_write/branches_1/1/new/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a baseline-1/branch_write/branches_16/1/base/benchmark.json +312495f55f58c4bb2d4646b1abd6eb763ef5b7543ff1b3d9245a782f2d130dc2 baseline-1/branch_write/branches_16/1/base/estimates.json +2957bd75b7b998287d94c02c028bc86c3a5c5469119e1d4d6670366ac071e67f baseline-1/branch_write/branches_16/1/base/sample.json +c174433e4bc21c7c156665acda8bfd85ffcda061c619d62460bf38aa3c508759 baseline-1/branch_write/branches_16/1/base/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a baseline-1/branch_write/branches_16/1/new/benchmark.json +312495f55f58c4bb2d4646b1abd6eb763ef5b7543ff1b3d9245a782f2d130dc2 baseline-1/branch_write/branches_16/1/new/estimates.json +2957bd75b7b998287d94c02c028bc86c3a5c5469119e1d4d6670366ac071e67f baseline-1/branch_write/branches_16/1/new/sample.json +c174433e4bc21c7c156665acda8bfd85ffcda061c619d62460bf38aa3c508759 baseline-1/branch_write/branches_16/1/new/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f baseline-1/branch_write/branches_256/1/base/benchmark.json +2aab1145c6a8c6d8f90d208095103d4f9add161329ad3056908930f717a5a712 baseline-1/branch_write/branches_256/1/base/estimates.json +d8f4b0ee564613a90d7ca99ecba848bc242b895033c4ede376beb978f096bcd5 baseline-1/branch_write/branches_256/1/base/sample.json +24a670ca0dea4d67fe5c39495f93024ee7ccdbc2013a33ae0ad59d64945afb5f baseline-1/branch_write/branches_256/1/base/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f baseline-1/branch_write/branches_256/1/new/benchmark.json +2aab1145c6a8c6d8f90d208095103d4f9add161329ad3056908930f717a5a712 baseline-1/branch_write/branches_256/1/new/estimates.json +d8f4b0ee564613a90d7ca99ecba848bc242b895033c4ede376beb978f096bcd5 baseline-1/branch_write/branches_256/1/new/sample.json +24a670ca0dea4d67fe5c39495f93024ee7ccdbc2013a33ae0ad59d64945afb5f baseline-1/branch_write/branches_256/1/new/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af baseline-1/branch_write/branches_64/1/base/benchmark.json +019c98b01c744eaf875cb520141cd6eeb6cf821b5f49038fb3f6289f90403d1e baseline-1/branch_write/branches_64/1/base/estimates.json +3dff1bec2e94e391d6df91bffc8413af1433254e43a894ce18030c47c5740094 baseline-1/branch_write/branches_64/1/base/sample.json +019655e67e75c04e18cbea25e3bf8dc798db3fe449af7d4abb18fdd479ccb89e baseline-1/branch_write/branches_64/1/base/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af baseline-1/branch_write/branches_64/1/new/benchmark.json +019c98b01c744eaf875cb520141cd6eeb6cf821b5f49038fb3f6289f90403d1e baseline-1/branch_write/branches_64/1/new/estimates.json +3dff1bec2e94e391d6df91bffc8413af1433254e43a894ce18030c47c5740094 baseline-1/branch_write/branches_64/1/new/sample.json +019655e67e75c04e18cbea25e3bf8dc798db3fe449af7d4abb18fdd479ccb89e baseline-1/branch_write/branches_64/1/new/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 current-0/branch_read/branches_1/1/base/benchmark.json +6f67c568251ea856ac3fb14c2611d8696bb9b834546b0f67caaf4b845b5c676e current-0/branch_read/branches_1/1/base/estimates.json +dd85e7c33bd0aea1161790f50df8f0682149d5054ab65eee0f66fe59ba030d83 current-0/branch_read/branches_1/1/base/sample.json +ce4a6751afebd43596b310aa7b0e1b2803e2b65a2f8795df5d8a3cf268643db8 current-0/branch_read/branches_1/1/base/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 current-0/branch_read/branches_1/1/new/benchmark.json +6f67c568251ea856ac3fb14c2611d8696bb9b834546b0f67caaf4b845b5c676e current-0/branch_read/branches_1/1/new/estimates.json +dd85e7c33bd0aea1161790f50df8f0682149d5054ab65eee0f66fe59ba030d83 current-0/branch_read/branches_1/1/new/sample.json +ce4a6751afebd43596b310aa7b0e1b2803e2b65a2f8795df5d8a3cf268643db8 current-0/branch_read/branches_1/1/new/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 current-0/branch_read/branches_1/1000/base/benchmark.json +faa70a983b95fc54162de3250a9730db060c92c9482242aff4dee637ffb87957 current-0/branch_read/branches_1/1000/base/estimates.json +b3af4eac84228acb0c6ec89b1322d9bba8212d92368a3bd18aee1d68895114e0 current-0/branch_read/branches_1/1000/base/sample.json +d56c60c044d5a575f8a673fa693f234a7430f67ffbf608a66f58926d259e57b6 current-0/branch_read/branches_1/1000/base/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 current-0/branch_read/branches_1/1000/new/benchmark.json +faa70a983b95fc54162de3250a9730db060c92c9482242aff4dee637ffb87957 current-0/branch_read/branches_1/1000/new/estimates.json +b3af4eac84228acb0c6ec89b1322d9bba8212d92368a3bd18aee1d68895114e0 current-0/branch_read/branches_1/1000/new/sample.json +d56c60c044d5a575f8a673fa693f234a7430f67ffbf608a66f58926d259e57b6 current-0/branch_read/branches_1/1000/new/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 current-0/branch_read/branches_16/1/base/benchmark.json +90deeead2c1d55d12e974f4152008a85e8f1575ffcec7f1e41dcd2643bc95cf6 current-0/branch_read/branches_16/1/base/estimates.json +3235ffb77c6b5c38195fe0055706dff1f9b383ad82e89a98cf59ba8563620e0b current-0/branch_read/branches_16/1/base/sample.json +3edad4c07b81ca7a28ed3abd8603d4c6d17765091d00c7d969fdbb45726c085a current-0/branch_read/branches_16/1/base/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 current-0/branch_read/branches_16/1/new/benchmark.json +90deeead2c1d55d12e974f4152008a85e8f1575ffcec7f1e41dcd2643bc95cf6 current-0/branch_read/branches_16/1/new/estimates.json +3235ffb77c6b5c38195fe0055706dff1f9b383ad82e89a98cf59ba8563620e0b current-0/branch_read/branches_16/1/new/sample.json +3edad4c07b81ca7a28ed3abd8603d4c6d17765091d00c7d969fdbb45726c085a current-0/branch_read/branches_16/1/new/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 current-0/branch_read/branches_16/1000/base/benchmark.json +b505bec6d8dd6fffeeee74e7ad427ca8d6bf8994495ba58dc7c2e263a4ae39db current-0/branch_read/branches_16/1000/base/estimates.json +2db7cfbccbf8e8de0c75f74848055cbe9eea563dfa423fe822976230d6e90f41 current-0/branch_read/branches_16/1000/base/sample.json +e681040591dfc47e78ebe6254fc624b71c40b3e8a33826f2dcb7892e02d18ea0 current-0/branch_read/branches_16/1000/base/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 current-0/branch_read/branches_16/1000/new/benchmark.json +b505bec6d8dd6fffeeee74e7ad427ca8d6bf8994495ba58dc7c2e263a4ae39db current-0/branch_read/branches_16/1000/new/estimates.json +2db7cfbccbf8e8de0c75f74848055cbe9eea563dfa423fe822976230d6e90f41 current-0/branch_read/branches_16/1000/new/sample.json +e681040591dfc47e78ebe6254fc624b71c40b3e8a33826f2dcb7892e02d18ea0 current-0/branch_read/branches_16/1000/new/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b current-0/branch_read/branches_256/1/base/benchmark.json +a56a8732429dc7398b0c2fefb2d1e45a75c0a871d7f8016f67ed8971c4e22bcf current-0/branch_read/branches_256/1/base/estimates.json +debba9de31811af1185fc1514c36b1f7ebba0d291d8da62f50a056d9d1202d76 current-0/branch_read/branches_256/1/base/sample.json +d55e85c2774e83160a05848daf36f4388fa645bd723de04529cc4cb23ec6725c current-0/branch_read/branches_256/1/base/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b current-0/branch_read/branches_256/1/new/benchmark.json +a56a8732429dc7398b0c2fefb2d1e45a75c0a871d7f8016f67ed8971c4e22bcf current-0/branch_read/branches_256/1/new/estimates.json +debba9de31811af1185fc1514c36b1f7ebba0d291d8da62f50a056d9d1202d76 current-0/branch_read/branches_256/1/new/sample.json +d55e85c2774e83160a05848daf36f4388fa645bd723de04529cc4cb23ec6725c current-0/branch_read/branches_256/1/new/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 current-0/branch_read/branches_256/1000/base/benchmark.json +f8d7b83add1943f0f26bc32265b34f8e5285ad7d3323f4f105f6b03699ebdbad current-0/branch_read/branches_256/1000/base/estimates.json +20852a24746cbe6bbc6fe646a1b642546e8e8ccbadf589988fa637dfca558849 current-0/branch_read/branches_256/1000/base/sample.json +b297fcb206563b3680f09f37bd716f99259032a668675c29a2e3a26b59a20d02 current-0/branch_read/branches_256/1000/base/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 current-0/branch_read/branches_256/1000/new/benchmark.json +f8d7b83add1943f0f26bc32265b34f8e5285ad7d3323f4f105f6b03699ebdbad current-0/branch_read/branches_256/1000/new/estimates.json +20852a24746cbe6bbc6fe646a1b642546e8e8ccbadf589988fa637dfca558849 current-0/branch_read/branches_256/1000/new/sample.json +b297fcb206563b3680f09f37bd716f99259032a668675c29a2e3a26b59a20d02 current-0/branch_read/branches_256/1000/new/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 current-0/branch_read/branches_64/1/base/benchmark.json +790308447b0d087c22937fbd6024a55f5708c3d6f2063947db3b36d025b8d119 current-0/branch_read/branches_64/1/base/estimates.json +162afa43198edce4ee46c5e5deec3fa524a2f286df38e8e3de3dbde42c09c677 current-0/branch_read/branches_64/1/base/sample.json +5f566492d46858a12d41a98a650adf0e78ae7cfa1631b347b2516b11be01e981 current-0/branch_read/branches_64/1/base/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 current-0/branch_read/branches_64/1/new/benchmark.json +790308447b0d087c22937fbd6024a55f5708c3d6f2063947db3b36d025b8d119 current-0/branch_read/branches_64/1/new/estimates.json +162afa43198edce4ee46c5e5deec3fa524a2f286df38e8e3de3dbde42c09c677 current-0/branch_read/branches_64/1/new/sample.json +5f566492d46858a12d41a98a650adf0e78ae7cfa1631b347b2516b11be01e981 current-0/branch_read/branches_64/1/new/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 current-0/branch_read/branches_64/1000/base/benchmark.json +d734edc755abc0b11087f912c43325b9323c77caec8807f1e1c9d407116828b5 current-0/branch_read/branches_64/1000/base/estimates.json +1b1de8586773982afc718e0792ac39ebfb4b6610efa47984bfbf66631cd03d75 current-0/branch_read/branches_64/1000/base/sample.json +18758bb47e19ae4b3aa6240b0dd7c85261f2d1a9a5096c0a250a202976d36fde current-0/branch_read/branches_64/1000/base/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 current-0/branch_read/branches_64/1000/new/benchmark.json +d734edc755abc0b11087f912c43325b9323c77caec8807f1e1c9d407116828b5 current-0/branch_read/branches_64/1000/new/estimates.json +1b1de8586773982afc718e0792ac39ebfb4b6610efa47984bfbf66631cd03d75 current-0/branch_read/branches_64/1000/new/sample.json +18758bb47e19ae4b3aa6240b0dd7c85261f2d1a9a5096c0a250a202976d36fde current-0/branch_read/branches_64/1000/new/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 current-0/branch_write/branches_1/1/base/benchmark.json +5b2c5f18d16771d0d059c99a08d673967684bf397cc0e750ecc43c713a0cb1e5 current-0/branch_write/branches_1/1/base/estimates.json +c427fb48164d4e3ac6bf19fdc3f41e3352c96069cf2861779fbdd67063ee6a0f current-0/branch_write/branches_1/1/base/sample.json +0049a54bda6b229d01de2b9194ca0027800568e136823e2cc9c648eaa666dc88 current-0/branch_write/branches_1/1/base/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 current-0/branch_write/branches_1/1/new/benchmark.json +5b2c5f18d16771d0d059c99a08d673967684bf397cc0e750ecc43c713a0cb1e5 current-0/branch_write/branches_1/1/new/estimates.json +c427fb48164d4e3ac6bf19fdc3f41e3352c96069cf2861779fbdd67063ee6a0f current-0/branch_write/branches_1/1/new/sample.json +0049a54bda6b229d01de2b9194ca0027800568e136823e2cc9c648eaa666dc88 current-0/branch_write/branches_1/1/new/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a current-0/branch_write/branches_16/1/base/benchmark.json +9def9701f7eda20e4a831621f2c6fa2542237dcfe5fcf455b90e239078ae4344 current-0/branch_write/branches_16/1/base/estimates.json +7ef280da93c67c0b8dc1aa1cea92f4302b8e1ff9b45a06365b13282b3d208f0c current-0/branch_write/branches_16/1/base/sample.json +7b6ab013ce96207d4907f04c45b361e32502439b4716c7b47c70075837b7c3b8 current-0/branch_write/branches_16/1/base/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a current-0/branch_write/branches_16/1/new/benchmark.json +9def9701f7eda20e4a831621f2c6fa2542237dcfe5fcf455b90e239078ae4344 current-0/branch_write/branches_16/1/new/estimates.json +7ef280da93c67c0b8dc1aa1cea92f4302b8e1ff9b45a06365b13282b3d208f0c current-0/branch_write/branches_16/1/new/sample.json +7b6ab013ce96207d4907f04c45b361e32502439b4716c7b47c70075837b7c3b8 current-0/branch_write/branches_16/1/new/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f current-0/branch_write/branches_256/1/base/benchmark.json +5678c349857df7416c5bf87eedfdda77a1e6265c250fd9d6f27cc94550b8ea17 current-0/branch_write/branches_256/1/base/estimates.json +bd543c76fe3259e5b1bac138cee38606752180dbb683c46c89f05005da61c4fc current-0/branch_write/branches_256/1/base/sample.json +05d353a642ae19847af2ac55f4985b8bf90b4d7e5d3ca55534ef2da549656c19 current-0/branch_write/branches_256/1/base/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f current-0/branch_write/branches_256/1/new/benchmark.json +5678c349857df7416c5bf87eedfdda77a1e6265c250fd9d6f27cc94550b8ea17 current-0/branch_write/branches_256/1/new/estimates.json +bd543c76fe3259e5b1bac138cee38606752180dbb683c46c89f05005da61c4fc current-0/branch_write/branches_256/1/new/sample.json +05d353a642ae19847af2ac55f4985b8bf90b4d7e5d3ca55534ef2da549656c19 current-0/branch_write/branches_256/1/new/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af current-0/branch_write/branches_64/1/base/benchmark.json +e08249778929329e12cdf119d67a497d89cc853443992ca1f0745d8fd7649e84 current-0/branch_write/branches_64/1/base/estimates.json +0cea84c9c4997ded93b79aa3b3e449561b3d575a898d04992f4f88112692eb0b current-0/branch_write/branches_64/1/base/sample.json +44ad61b6fac7b28e9a222f9266cf86673646ac8b2e7581105793d9bc25e1ba3a current-0/branch_write/branches_64/1/base/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af current-0/branch_write/branches_64/1/new/benchmark.json +e08249778929329e12cdf119d67a497d89cc853443992ca1f0745d8fd7649e84 current-0/branch_write/branches_64/1/new/estimates.json +0cea84c9c4997ded93b79aa3b3e449561b3d575a898d04992f4f88112692eb0b current-0/branch_write/branches_64/1/new/sample.json +44ad61b6fac7b28e9a222f9266cf86673646ac8b2e7581105793d9bc25e1ba3a current-0/branch_write/branches_64/1/new/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 current-1/branch_read/branches_1/1/base/benchmark.json +b3a58c886acb9541fc187502fa0144898e21ca669924482c645cd0e738faccc9 current-1/branch_read/branches_1/1/base/estimates.json +d9610df80a7473556012bb2c3be9fc32a86ccf02635032409cb57632658323eb current-1/branch_read/branches_1/1/base/sample.json +402c4aeb78871f311cf1bb4c202e1d44988fb08334d41695ee7dce23ef6bfe4f current-1/branch_read/branches_1/1/base/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 current-1/branch_read/branches_1/1/new/benchmark.json +b3a58c886acb9541fc187502fa0144898e21ca669924482c645cd0e738faccc9 current-1/branch_read/branches_1/1/new/estimates.json +d9610df80a7473556012bb2c3be9fc32a86ccf02635032409cb57632658323eb current-1/branch_read/branches_1/1/new/sample.json +402c4aeb78871f311cf1bb4c202e1d44988fb08334d41695ee7dce23ef6bfe4f current-1/branch_read/branches_1/1/new/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 current-1/branch_read/branches_1/1000/base/benchmark.json +33c4a4fd160e531410084eb97b0561d454d8ccd8841f93e3a6a1a93b6a9dd47e current-1/branch_read/branches_1/1000/base/estimates.json +dda7b05986b7959051732b9d94600561b5cc01559d0bea219c19e7ffba41ca2c current-1/branch_read/branches_1/1000/base/sample.json +70675941cf0c7c7f5b78da1d4cb5ac6a94311378296e3968e5f7580f0d8b5119 current-1/branch_read/branches_1/1000/base/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 current-1/branch_read/branches_1/1000/new/benchmark.json +33c4a4fd160e531410084eb97b0561d454d8ccd8841f93e3a6a1a93b6a9dd47e current-1/branch_read/branches_1/1000/new/estimates.json +dda7b05986b7959051732b9d94600561b5cc01559d0bea219c19e7ffba41ca2c current-1/branch_read/branches_1/1000/new/sample.json +70675941cf0c7c7f5b78da1d4cb5ac6a94311378296e3968e5f7580f0d8b5119 current-1/branch_read/branches_1/1000/new/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 current-1/branch_read/branches_16/1/base/benchmark.json +718b1c98c8fb303efa628c6634eb7c2b1dc8a1ab90306a5f2ff64db7cf9b2513 current-1/branch_read/branches_16/1/base/estimates.json +7ab3f460686e82a21b1a520d7b4f54d276345e1fd805e4d6054dd314e8c1631e current-1/branch_read/branches_16/1/base/sample.json +c61e58939ef41e1db701e9f84f246cb6894920a5056b3046a1934f645ea615da current-1/branch_read/branches_16/1/base/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 current-1/branch_read/branches_16/1/new/benchmark.json +718b1c98c8fb303efa628c6634eb7c2b1dc8a1ab90306a5f2ff64db7cf9b2513 current-1/branch_read/branches_16/1/new/estimates.json +7ab3f460686e82a21b1a520d7b4f54d276345e1fd805e4d6054dd314e8c1631e current-1/branch_read/branches_16/1/new/sample.json +c61e58939ef41e1db701e9f84f246cb6894920a5056b3046a1934f645ea615da current-1/branch_read/branches_16/1/new/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 current-1/branch_read/branches_16/1000/base/benchmark.json +c3bf8c7c35f703162e26780963adedc578719a1188e5759be199cbf625d8b5bc current-1/branch_read/branches_16/1000/base/estimates.json +22b55ef8a94e1b4d00251092d8b3cba517470536f24f8da8e476d8995631aaad current-1/branch_read/branches_16/1000/base/sample.json +f61a3d708a3ae257cbf1a0ad3ddd2e3b734103dfb755e8b740649f49fc08ae2a current-1/branch_read/branches_16/1000/base/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 current-1/branch_read/branches_16/1000/new/benchmark.json +c3bf8c7c35f703162e26780963adedc578719a1188e5759be199cbf625d8b5bc current-1/branch_read/branches_16/1000/new/estimates.json +22b55ef8a94e1b4d00251092d8b3cba517470536f24f8da8e476d8995631aaad current-1/branch_read/branches_16/1000/new/sample.json +f61a3d708a3ae257cbf1a0ad3ddd2e3b734103dfb755e8b740649f49fc08ae2a current-1/branch_read/branches_16/1000/new/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b current-1/branch_read/branches_256/1/base/benchmark.json +7171b4bb4e513a7e06d96b0fcc5300d64f9ba9fd4b8a98b157a5f06818921550 current-1/branch_read/branches_256/1/base/estimates.json +c5d359f92e15c301e54f4da94883ef9ebec7ef606334f60dd3d3cbb0c2466d3a current-1/branch_read/branches_256/1/base/sample.json +d13c49c4dcc8b1d3d35feb13531e385bb30eaf2d8b880278b41e697fad4ff2ad current-1/branch_read/branches_256/1/base/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b current-1/branch_read/branches_256/1/new/benchmark.json +7171b4bb4e513a7e06d96b0fcc5300d64f9ba9fd4b8a98b157a5f06818921550 current-1/branch_read/branches_256/1/new/estimates.json +c5d359f92e15c301e54f4da94883ef9ebec7ef606334f60dd3d3cbb0c2466d3a current-1/branch_read/branches_256/1/new/sample.json +d13c49c4dcc8b1d3d35feb13531e385bb30eaf2d8b880278b41e697fad4ff2ad current-1/branch_read/branches_256/1/new/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 current-1/branch_read/branches_256/1000/base/benchmark.json +1f2bf2ecf40cde5b45f13a53b50ff19df929dcd696622247256a61f1f9312269 current-1/branch_read/branches_256/1000/base/estimates.json +7a6fdd49e899fac50f7c0447c483c8db545b6f6f285baa2f0be4e9c2cc91d06f current-1/branch_read/branches_256/1000/base/sample.json +644e58d9a3b4d6352b046d4191438f13a63f162283e157d28b821003ca5de4f4 current-1/branch_read/branches_256/1000/base/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 current-1/branch_read/branches_256/1000/new/benchmark.json +1f2bf2ecf40cde5b45f13a53b50ff19df929dcd696622247256a61f1f9312269 current-1/branch_read/branches_256/1000/new/estimates.json +7a6fdd49e899fac50f7c0447c483c8db545b6f6f285baa2f0be4e9c2cc91d06f current-1/branch_read/branches_256/1000/new/sample.json +644e58d9a3b4d6352b046d4191438f13a63f162283e157d28b821003ca5de4f4 current-1/branch_read/branches_256/1000/new/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 current-1/branch_read/branches_64/1/base/benchmark.json +103f7a8ff359c51aef6f3561445ca33b619847ee39a462c0ec20aad37976f4c3 current-1/branch_read/branches_64/1/base/estimates.json +deca0e73671736d6b7fbb77577fb3e2b0c306afcdc2a5fb4a3666af50f81165a current-1/branch_read/branches_64/1/base/sample.json +ad016b7410d00ce43885bc2b3218413e2adb903902e8823ecbe3104db24a197a current-1/branch_read/branches_64/1/base/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 current-1/branch_read/branches_64/1/new/benchmark.json +103f7a8ff359c51aef6f3561445ca33b619847ee39a462c0ec20aad37976f4c3 current-1/branch_read/branches_64/1/new/estimates.json +deca0e73671736d6b7fbb77577fb3e2b0c306afcdc2a5fb4a3666af50f81165a current-1/branch_read/branches_64/1/new/sample.json +ad016b7410d00ce43885bc2b3218413e2adb903902e8823ecbe3104db24a197a current-1/branch_read/branches_64/1/new/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 current-1/branch_read/branches_64/1000/base/benchmark.json +2b79f50cb4aa1197bcfa4949c3f4911e96b9b2a9f4d9cfa78906c24acf852d2b current-1/branch_read/branches_64/1000/base/estimates.json +58c7fa2624b373e1013aff38f3ab85cbcb68b2ed349398d8bc51cf1620c33433 current-1/branch_read/branches_64/1000/base/sample.json +0068d88afacb2dadac7de1e4734f7348023d40a0a03e37775051afca5f2f83c1 current-1/branch_read/branches_64/1000/base/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 current-1/branch_read/branches_64/1000/new/benchmark.json +2b79f50cb4aa1197bcfa4949c3f4911e96b9b2a9f4d9cfa78906c24acf852d2b current-1/branch_read/branches_64/1000/new/estimates.json +58c7fa2624b373e1013aff38f3ab85cbcb68b2ed349398d8bc51cf1620c33433 current-1/branch_read/branches_64/1000/new/sample.json +0068d88afacb2dadac7de1e4734f7348023d40a0a03e37775051afca5f2f83c1 current-1/branch_read/branches_64/1000/new/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 current-1/branch_write/branches_1/1/base/benchmark.json +870d4250b96790f393a1132cdbcb9306f3f1f68ce090311df32e4a873d8375a1 current-1/branch_write/branches_1/1/base/estimates.json +c46414dbed980f3e039fffd2b63cf6f133ea77193b038de8c9cf0f59bc714758 current-1/branch_write/branches_1/1/base/sample.json +39bc817dd0eeebf814af7ee1f1b25e20daa9d656dce5fc23f33f68aa2c51faa0 current-1/branch_write/branches_1/1/base/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 current-1/branch_write/branches_1/1/new/benchmark.json +870d4250b96790f393a1132cdbcb9306f3f1f68ce090311df32e4a873d8375a1 current-1/branch_write/branches_1/1/new/estimates.json +c46414dbed980f3e039fffd2b63cf6f133ea77193b038de8c9cf0f59bc714758 current-1/branch_write/branches_1/1/new/sample.json +39bc817dd0eeebf814af7ee1f1b25e20daa9d656dce5fc23f33f68aa2c51faa0 current-1/branch_write/branches_1/1/new/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a current-1/branch_write/branches_16/1/base/benchmark.json +6bea4fb4fed0d88714d8bde89663520d5afdeae5ec9024766f27fdc5af88fb7d current-1/branch_write/branches_16/1/base/estimates.json +d808289fd2fa1277bbeb011c73b41f587d6464a55c969e17f5dcfc1f09d8e430 current-1/branch_write/branches_16/1/base/sample.json +3821791c3882d3d78e6ba093acb2100f7b1caa96bfbe198e5b3fd69e2cd98322 current-1/branch_write/branches_16/1/base/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a current-1/branch_write/branches_16/1/new/benchmark.json +6bea4fb4fed0d88714d8bde89663520d5afdeae5ec9024766f27fdc5af88fb7d current-1/branch_write/branches_16/1/new/estimates.json +d808289fd2fa1277bbeb011c73b41f587d6464a55c969e17f5dcfc1f09d8e430 current-1/branch_write/branches_16/1/new/sample.json +3821791c3882d3d78e6ba093acb2100f7b1caa96bfbe198e5b3fd69e2cd98322 current-1/branch_write/branches_16/1/new/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f current-1/branch_write/branches_256/1/base/benchmark.json +30840effb8f11c1b78323eeca979088b2516adf4f8db3bf34dd73a926f0ddb8d current-1/branch_write/branches_256/1/base/estimates.json +c17990107bc73b099245bf0e8ad53e2e37f36ff3b8599d06f28ee8077a97081b current-1/branch_write/branches_256/1/base/sample.json +7598324532823ba20ea765834eb622749e77900f52af75bd560f53df2a645623 current-1/branch_write/branches_256/1/base/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f current-1/branch_write/branches_256/1/new/benchmark.json +30840effb8f11c1b78323eeca979088b2516adf4f8db3bf34dd73a926f0ddb8d current-1/branch_write/branches_256/1/new/estimates.json +c17990107bc73b099245bf0e8ad53e2e37f36ff3b8599d06f28ee8077a97081b current-1/branch_write/branches_256/1/new/sample.json +7598324532823ba20ea765834eb622749e77900f52af75bd560f53df2a645623 current-1/branch_write/branches_256/1/new/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af current-1/branch_write/branches_64/1/base/benchmark.json +375a5aa5d1c0c4b25ac0d21893ff75fe54fea3d08351be64d009d30f86102fe2 current-1/branch_write/branches_64/1/base/estimates.json +532ba1c3ca0ab34e17d22c3f70b8d6bd0644d2bddd12e331e4017af3a293378e current-1/branch_write/branches_64/1/base/sample.json +62ac77f6627e9afde03ef329d2b85e1117d516f4d68a596528f6ae2059433074 current-1/branch_write/branches_64/1/base/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af current-1/branch_write/branches_64/1/new/benchmark.json +375a5aa5d1c0c4b25ac0d21893ff75fe54fea3d08351be64d009d30f86102fe2 current-1/branch_write/branches_64/1/new/estimates.json +532ba1c3ca0ab34e17d22c3f70b8d6bd0644d2bddd12e331e4017af3a293378e current-1/branch_write/branches_64/1/new/sample.json +62ac77f6627e9afde03ef329d2b85e1117d516f4d68a596528f6ae2059433074 current-1/branch_write/branches_64/1/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/criterion-results.tar.gz new file mode 100644 index 0000000..1613927 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current-0.txt new file mode 100644 index 0000000..a83280e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current-0.txt @@ -0,0 +1,119 @@ +memcap: <=7695 MiB (60% of 12826 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_read/branches_1/1 +Benchmarking branch_read/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1: Collecting 50 samples in estimated 2.0000 s (3.2M iterations) +Benchmarking branch_read/branches_1/1: Analyzing +branch_read/branches_1/1 + time: [627.68 ns 633.86 ns 641.33 ns] + thrpt: [34.202 MiB/s 34.604 MiB/s 34.945 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 8 (16.00%) high severe +Benchmarking branch_read/branches_1/1000 +Benchmarking branch_read/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1000: Collecting 50 samples in estimated 2.0023 s (6900 iterations) +Benchmarking branch_read/branches_1/1000: Analyzing +branch_read/branches_1/1000 + time: [287.42 µs 289.15 µs 291.53 µs] + thrpt: [38.938 MiB/s 39.258 MiB/s 39.495 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_read/branches_16/1 +Benchmarking branch_read/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_16/1: Analyzing +branch_read/branches_16/1 + time: [650.56 ns 654.41 ns 659.19 ns] + thrpt: [33.275 MiB/s 33.518 MiB/s 33.716 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_read/branches_16/1000 +Benchmarking branch_read/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1000: Collecting 50 samples in estimated 2.0099 s (6500 iterations) +Benchmarking branch_read/branches_16/1000: Analyzing +branch_read/branches_16/1000 + time: [309.03 µs 310.53 µs 312.41 µs] + thrpt: [38.606 MiB/s 38.840 MiB/s 39.029 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_read/branches_64/1 +Benchmarking branch_read/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_64/1: Analyzing +branch_read/branches_64/1 + time: [655.43 ns 665.43 ns 679.28 ns] + thrpt: [32.291 MiB/s 32.963 MiB/s 33.466 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 6 (12.00%) high severe +Benchmarking branch_read/branches_64/1000 +Benchmarking branch_read/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1000: Collecting 50 samples in estimated 2.0050 s (5750 iterations) +Benchmarking branch_read/branches_64/1000: Analyzing +branch_read/branches_64/1000 + time: [341.88 µs 347.67 µs 356.49 µs] + thrpt: [36.337 MiB/s 37.259 MiB/s 37.890 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 5 (10.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_256/1 +Benchmarking branch_read/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_256/1: Analyzing +branch_read/branches_256/1 + time: [648.77 ns 655.08 ns 663.38 ns] + thrpt: [33.065 MiB/s 33.484 MiB/s 33.809 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 6 (12.00%) high severe +Benchmarking branch_read/branches_256/1000 +Benchmarking branch_read/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1000: Collecting 50 samples in estimated 2.0183 s (4900 iterations) +Benchmarking branch_read/branches_256/1000: Analyzing +branch_read/branches_256/1000 + time: [409.19 µs 410.70 µs 412.44 µs] + thrpt: [34.738 MiB/s 34.885 MiB/s 35.013 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe + +Benchmarking branch_write/branches_1/1 +Benchmarking branch_write/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1: Collecting 50 samples in estimated 2.0000 s (17M iterations) +Benchmarking branch_write/branches_1/1: Analyzing +branch_write/branches_1/1 + time: [119.33 ns 121.68 ns 124.67 ns] + thrpt: [175.94 MiB/s 180.26 MiB/s 183.82 MiB/s] +Found 9 outliers among 50 measurements (18.00%) + 4 (8.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_16/1 +Benchmarking branch_write/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1: Collecting 50 samples in estimated 2.0000 s (16M iterations) +Benchmarking branch_write/branches_16/1: Analyzing +branch_write/branches_16/1 + time: [124.80 ns 125.59 ns 126.60 ns] + thrpt: [173.25 MiB/s 174.65 MiB/s 175.76 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_64/1 +Benchmarking branch_write/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1: Collecting 50 samples in estimated 2.0000 s (13M iterations) +Benchmarking branch_write/branches_64/1: Analyzing +branch_write/branches_64/1 + time: [149.86 ns 150.26 ns 150.68 ns] + thrpt: [145.57 MiB/s 145.98 MiB/s 146.37 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high mild +Benchmarking branch_write/branches_256/1 +Benchmarking branch_write/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1: Collecting 50 samples in estimated 2.0000 s (9.2M iterations) +Benchmarking branch_write/branches_256/1: Analyzing +branch_write/branches_256/1 + time: [217.95 ns 220.17 ns 222.82 ns] + thrpt: [98.442 MiB/s 99.625 MiB/s 100.64 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current-1.txt new file mode 100644 index 0000000..540c39a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current-1.txt @@ -0,0 +1,120 @@ +memcap: <=7698 MiB (60% of 12830 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_read/branches_1/1 +Benchmarking branch_read/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1: Collecting 50 samples in estimated 2.0000 s (2.9M iterations) +Benchmarking branch_read/branches_1/1: Analyzing +branch_read/branches_1/1 + time: [625.23 ns 633.85 ns 645.73 ns] + thrpt: [33.969 MiB/s 34.605 MiB/s 35.082 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 3 (6.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_read/branches_1/1000 +Benchmarking branch_read/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1000: Collecting 50 samples in estimated 2.0112 s (7000 iterations) +Benchmarking branch_read/branches_1/1000: Analyzing +branch_read/branches_1/1000 + time: [286.10 µs 287.10 µs 288.27 µs] + thrpt: [39.379 MiB/s 39.539 MiB/s 39.677 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_read/branches_16/1 +Benchmarking branch_read/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_16/1: Analyzing +branch_read/branches_16/1 + time: [652.25 ns 656.38 ns 661.95 ns] + thrpt: [33.136 MiB/s 33.417 MiB/s 33.629 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 4 (8.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_16/1000 +Benchmarking branch_read/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1000: Collecting 50 samples in estimated 2.0108 s (6500 iterations) +Benchmarking branch_read/branches_16/1000: Analyzing +branch_read/branches_16/1000 + time: [308.03 µs 310.49 µs 313.65 µs] + thrpt: [38.454 MiB/s 38.845 MiB/s 39.156 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 6 (12.00%) high severe +Benchmarking branch_read/branches_64/1 +Benchmarking branch_read/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_64/1: Analyzing +branch_read/branches_64/1 + time: [644.82 ns 646.19 ns 647.63 ns] + thrpt: [33.869 MiB/s 33.944 MiB/s 34.016 MiB/s] +Found 1 outliers among 50 measurements (2.00%) + 1 (2.00%) high mild +Benchmarking branch_read/branches_64/1000 +Benchmarking branch_read/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1000: Collecting 50 samples in estimated 2.0176 s (5600 iterations) +Benchmarking branch_read/branches_64/1000: Analyzing +branch_read/branches_64/1000 + time: [345.57 µs 350.53 µs 355.98 µs] + thrpt: [36.389 MiB/s 36.955 MiB/s 37.485 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high mild +Benchmarking branch_read/branches_256/1 +Benchmarking branch_read/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_256/1: Analyzing +branch_read/branches_256/1 + time: [651.89 ns 662.57 ns 679.77 ns] + thrpt: [32.268 MiB/s 33.105 MiB/s 33.647 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_256/1000 +Benchmarking branch_read/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1000: Collecting 50 samples in estimated 2.0198 s (4950 iterations) +Benchmarking branch_read/branches_256/1000: Analyzing +branch_read/branches_256/1000 + time: [405.80 µs 407.98 µs 411.17 µs] + thrpt: [34.845 MiB/s 35.117 MiB/s 35.306 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe + +Benchmarking branch_write/branches_1/1 +Benchmarking branch_write/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1: Collecting 50 samples in estimated 2.0000 s (17M iterations) +Benchmarking branch_write/branches_1/1: Analyzing +branch_write/branches_1/1 + time: [118.36 ns 118.98 ns 119.71 ns] + thrpt: [183.23 MiB/s 184.35 MiB/s 185.32 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_16/1 +Benchmarking branch_write/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1: Collecting 50 samples in estimated 2.0000 s (16M iterations) +Benchmarking branch_write/branches_16/1: Analyzing +branch_write/branches_16/1 + time: [126.03 ns 127.12 ns 128.43 ns] + thrpt: [170.79 MiB/s 172.54 MiB/s 174.05 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_write/branches_64/1 +Benchmarking branch_write/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1: Collecting 50 samples in estimated 2.0000 s (14M iterations) +Benchmarking branch_write/branches_64/1: Analyzing +branch_write/branches_64/1 + time: [148.84 ns 149.95 ns 151.28 ns] + thrpt: [144.99 MiB/s 146.28 MiB/s 147.37 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 4 (8.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/1 +Benchmarking branch_write/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1: Collecting 50 samples in estimated 2.0000 s (9.4M iterations) +Benchmarking branch_write/branches_256/1: Analyzing +branch_write/branches_256/1 + time: [212.50 ns 215.50 ns 219.83 ns] + thrpt: [99.781 MiB/s 101.78 MiB/s 103.22 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current-build.txt new file mode 100644 index 0000000..f62e248 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7657 MiB (60% of 12762 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.76s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/harness.rs new file mode 100644 index 0000000..04793ae --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [1, 16, 64, 256] { + for count in [1, 32, 64, 128, 1000, 1024] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/metadata.json new file mode 100644 index 0000000..a707c0c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "58cb346f964b5196dfad62e8a62a8aa4beb9beef" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_read/.*/(1|1000)$|^branch_write/.*/1$", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/summary.json new file mode 100644 index 0000000..00bc4f7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls-sampled/summary.json @@ -0,0 +1,626 @@ +{ + "branch_read/branches_1/1": { + "baseline_ns": 631.1311386920688, + "candidate_ns": 633.8546016963317, + "delta_percent": 0.4315209371394513, + "speedup": 0.9957033316521261, + "process_deltas_percent": [ + 0.965416750032233, + -0.09677333322299919 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 624.3770734036017, + "upper_bound": 632.2392372028171 + }, + "point_estimate": 627.802819240283, + "standard_error": 2.034200258562132 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 630.9231405159162, + "upper_bound": 639.0043698440402 + }, + "point_estimate": 634.4594581438545, + "standard_error": 2.0824780889401966 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 627.6791020773014, + "upper_bound": 641.3256112218581 + }, + "point_estimate": 633.8637328144033, + "standard_error": 3.4934054559333383 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 625.2300621417668, + "upper_bound": 645.7281184585382 + }, + "point_estimate": 633.8454705782601, + "standard_error": 5.318854923477674 + } + ] + } + }, + "branch_read/branches_1/1000": { + "baseline_ns": 293857.89456741087, + "candidate_ns": 288127.86994927545, + "delta_percent": -1.9499304677761398, + "speedup": 1.019887089087023, + "process_deltas_percent": [ + -1.7585932866200138, + -2.141883222113994 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 289645.870350365, + "upper_bound": 300313.83624817524 + }, + "point_estimate": 294329.8376642336, + "standard_error": 2755.1881758809072 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 289687.4324191176, + "upper_bound": 298517.94683455874 + }, + "point_estimate": 293385.95147058816, + "standard_error": 2307.515293210743 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 287415.88421014487, + "upper_bound": 291527.3568369565 + }, + "point_estimate": 289153.7728985508, + "standard_error": 1065.6115641179365 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 286097.6701607143, + "upper_bound": 288265.6359142857 + }, + "point_estimate": 287101.9670000001, + "standard_error": 553.402561354283 + } + ] + } + }, + "branch_read/branches_16/1": { + "baseline_ns": 666.2950685311608, + "candidate_ns": 655.3966866244266, + "delta_percent": -1.6356690033380583, + "speedup": 1.016628680201094, + "process_deltas_percent": [ + -2.046453212573751, + -1.2226700590858397 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 649.3620848464706, + "upper_bound": 700.9452075808177 + }, + "point_estimate": 668.0863979767194, + "standard_error": 14.584467183538035 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 658.0881434131089, + "upper_bound": 672.4673681707051 + }, + "point_estimate": 664.5037390856023, + "standard_error": 3.6870558400436355 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 650.5604009503468, + "upper_bound": 659.1886462027516 + }, + "point_estimate": 654.4143224225566, + "standard_error": 2.2113386257377425 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 652.247777819759, + "upper_bound": 661.9453938545191 + }, + "point_estimate": 656.3790508262967, + "standard_error": 2.506038119480319 + } + ] + } + }, + "branch_read/branches_16/1000": { + "baseline_ns": 313037.3012506056, + "candidate_ns": 310513.28807692305, + "delta_percent": -0.8062978960011957, + "speedup": 1.0081285190379914, + "process_deltas_percent": [ + -1.1838418864722366, + -0.4258052799667955 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 312047.6394186046, + "upper_bound": 316855.06157751946 + }, + "point_estimate": 314254.9598449612, + "standard_error": 1234.2441645493072 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 310267.2772226563, + "upper_bound": 313728.9509804687 + }, + "point_estimate": 311819.64265625, + "standard_error": 889.158193775141 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 309029.28693846153, + "upper_bound": 312413.45177692303 + }, + "point_estimate": 310534.678, + "standard_error": 869.4162226285697 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 308030.69583461544, + "upper_bound": 313654.5304499999 + }, + "point_estimate": 310491.8981538461, + "standard_error": 1447.5619602619963 + } + ] + } + }, + "branch_read/branches_256/1": { + "baseline_ns": 654.188644780369, + "candidate_ns": 658.8263087899295, + "delta_percent": 0.7089184513616065, + "speedup": 0.992960718253528, + "process_deltas_percent": [ + 1.1742828901840419, + 0.25300804233427954 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 643.2313629606587, + "upper_bound": 653.8257715492542 + }, + "point_estimate": 647.4754267284426, + "standard_error": 2.7893890898112352 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 657.7892522894226, + "upper_bound": 665.4631208617452 + }, + "point_estimate": 660.9018628322956, + "standard_error": 2.0052593748344827 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 648.7717095122782, + "upper_bound": 663.381964253791 + }, + "point_estimate": 655.0786198826607, + "standard_error": 3.765213701388774 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 651.8943997697199, + "upper_bound": 679.7684900378796 + }, + "point_estimate": 662.5739976971984, + "standard_error": 7.522715112509237 + } + ] + } + }, + "branch_read/branches_256/1000": { + "baseline_ns": 415588.8603874119, + "candidate_ns": 409340.5391084313, + "delta_percent": -1.503486227507611, + "speedup": 1.015264359822728, + "process_deltas_percent": [ + -1.2659239234028008, + -1.7414761657022049 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 413638.2247783505, + "upper_bound": 419093.3874896908 + }, + "point_estimate": 415962.5731958763, + "standard_error": 1412.8392099863195 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 413383.71177368425, + "upper_bound": 417656.0659947369 + }, + "point_estimate": 415215.1475789474, + "standard_error": 1102.036915270287 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 409186.83150510205, + "upper_bound": 412436.07545408147 + }, + "point_estimate": 410696.8034693878, + "standard_error": 830.9537411763488 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 405799.28107070713, + "upper_bound": 411168.46153030294 + }, + "point_estimate": 407984.2747474748, + "standard_error": 1406.0816915967657 + } + ] + } + }, + "branch_read/branches_64/1": { + "baseline_ns": 652.5187428394394, + "candidate_ns": 655.8087232578589, + "delta_percent": 0.5041970754898317, + "speedup": 0.9949833231829002, + "process_deltas_percent": [ + 2.690123356796259, + -1.651644057437851 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 644.2424648578602, + "upper_bound": 652.9126610026727 + }, + "point_estimate": 647.9972838746254, + "standard_error": 2.237156282693102 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 650.6910979625223, + "upper_bound": 664.9992543122299 + }, + "point_estimate": 657.0402018042533, + "standard_error": 3.675503610993294 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 655.4338900175447, + "upper_bound": 679.2805213570106 + }, + "point_estimate": 665.4292101595421, + "standard_error": 6.195055643656788 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 644.8221162248667, + "upper_bound": 647.625819597866 + }, + "point_estimate": 646.1882363561757, + "standard_error": 0.7185189931716348 + } + ] + } + }, + "branch_read/branches_64/1000": { + "baseline_ns": 347998.33948717953, + "candidate_ns": 349098.37196506205, + "delta_percent": 0.3161027950603357, + "speedup": 0.9968489326613285, + "process_deltas_percent": [ + 0.6383720781786728, + -0.001505626851727726 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 343137.2034786322, + "upper_bound": 348177.17417948716 + }, + "point_estimate": 345463.523931624, + "standard_error": 1285.570268067279 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 345801.2996196583, + "upper_bound": 356144.7436880342 + }, + "point_estimate": 350533.15504273504, + "standard_error": 2658.043558581256 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 341880.12968260865, + "upper_bound": 356487.46682173916 + }, + "point_estimate": 347668.8666086956, + "standard_error": 3855.746392933135 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 345569.57724553585, + "upper_bound": 355984.56520089303 + }, + "point_estimate": 350527.8773214285, + "standard_error": 2673.016367585961 + } + ] + } + }, + "branch_write/branches_1/1": { + "baseline_ns": 116.21215615216789, + "candidate_ns": 120.33316843283126, + "delta_percent": 3.546111196205093, + "speedup": 0.965753313618068, + "process_deltas_percent": [ + 5.026061611858701, + 2.0750853693657367 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 115.14920530849054, + "upper_bound": 116.77062739112918 + }, + "point_estimate": 115.86069764364419, + "standard_error": 0.41895613419360034 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 115.47899181563332, + "upper_bound": 117.88071900919694 + }, + "point_estimate": 116.56361466069161, + "standard_error": 0.6186909415815682 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 119.32594154428462, + "upper_bound": 124.67289637547313 + }, + "point_estimate": 121.68392769114305, + "standard_error": 1.3770354096255057 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 118.35984918475835, + "upper_bound": 119.71251281200333 + }, + "point_estimate": 118.98240917451947, + "standard_error": 0.3468387396027193 + } + ] + } + }, + "branch_write/branches_16/1": { + "baseline_ns": 128.9688656910686, + "candidate_ns": 126.3579473535408, + "delta_percent": -2.0244563085341727, + "speedup": 1.0206628739403516, + "process_deltas_percent": [ + -1.8451482132675778, + -2.200959568822536 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 127.44423183995355, + "upper_bound": 128.57682233296242 + }, + "point_estimate": 127.95221352427954, + "standard_error": 0.29159010758656306 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 128.46165579096237, + "upper_bound": 132.7133343662028 + }, + "point_estimate": 129.98551785785764, + "standard_error": 1.2533570609132525 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 124.80144532244648, + "upper_bound": 126.60445200016387 + }, + "point_estimate": 125.59130554259998, + "standard_error": 0.46291115091882623 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 126.02755082635089, + "upper_bound": 128.42956647829624 + }, + "point_estimate": 127.1245891644816, + "standard_error": 0.613656862599718 + } + ] + } + }, + "branch_write/branches_256/1": { + "baseline_ns": 213.16580308594195, + "candidate_ns": 217.83493668052796, + "delta_percent": 2.1903764707998485, + "speedup": 0.9785657265738156, + "process_deltas_percent": [ + 2.8239631107989105, + 1.55106630149906 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 210.38724088475234, + "upper_bound": 219.80895221241784 + }, + "point_estimate": 214.12429454508347, + "standard_error": 2.487589898369648 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 210.76341027401702, + "upper_bound": 214.064395778364 + }, + "point_estimate": 212.20731162680045, + "standard_error": 0.8501852822469942 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 217.95002327095554, + "upper_bound": 222.81728925379937 + }, + "point_estimate": 220.17108563429503, + "standard_error": 1.2479856297764487 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 212.4950558289346, + "upper_bound": 219.82715648967 + }, + "point_estimate": 215.49878772676087, + "standard_error": 1.9161959439479068 + } + ] + } + }, + "branch_write/branches_64/1": { + "baseline_ns": 146.15343582953057, + "candidate_ns": 150.10602405204753, + "delta_percent": 2.704410060620921, + "speedup": 0.9736680240018452, + "process_deltas_percent": [ + 2.5594275413775014, + 2.850099375351478 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 145.8633101331336, + "upper_bound": 147.2685449405849 + }, + "point_estimate": 146.50882144591284, + "standard_error": 0.360358239037809 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144.28980712174842, + "upper_bound": 147.89440093441897 + }, + "point_estimate": 145.79805021314831, + "standard_error": 0.9373509688266853 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 149.85657021793202, + "upper_bound": 150.68487905384833 + }, + "point_estimate": 150.25860857254713, + "standard_error": 0.21155957829997324 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 148.83989402856292, + "upper_bound": 151.2807994826525 + }, + "point_estimate": 149.9534395315479, + "standard_error": 0.6266427273506394 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline-0.txt new file mode 100644 index 0000000..991413f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline-0.txt @@ -0,0 +1,121 @@ +memcap: <=7652 MiB (60% of 12753 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_read/branches_1/1 +Benchmarking branch_read/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_1/1: Analyzing +branch_read/branches_1/1 + time: [616.77 ns 619.27 ns 623.17 ns] + thrpt: [35.198 MiB/s 35.420 MiB/s 35.563 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_read/branches_1/1000 +Benchmarking branch_read/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1000: Collecting 50 samples in estimated 2.0063 s (6850 iterations) +Benchmarking branch_read/branches_1/1000: Analyzing +branch_read/branches_1/1000 + time: [290.75 µs 294.21 µs 298.54 µs] + thrpt: [38.024 MiB/s 38.583 MiB/s 39.042 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_16/1 +Benchmarking branch_read/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_16/1: Analyzing +branch_read/branches_16/1 + time: [643.38 ns 651.09 ns 662.64 ns] + thrpt: [33.102 MiB/s 33.689 MiB/s 34.093 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_16/1000 +Benchmarking branch_read/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1000: Collecting 50 samples in estimated 2.0037 s (6450 iterations) +Benchmarking branch_read/branches_16/1000: Analyzing +branch_read/branches_16/1000 + time: [311.23 µs 312.58 µs 314.16 µs] + thrpt: [38.391 MiB/s 38.585 MiB/s 38.753 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_64/1 +Benchmarking branch_read/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_64/1: Analyzing +branch_read/branches_64/1 + time: [651.34 ns 655.35 ns 660.42 ns] + thrpt: [33.213 MiB/s 33.470 MiB/s 33.676 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_64/1000 +Benchmarking branch_read/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1000: Collecting 50 samples in estimated 2.0024 s (5850 iterations) +Benchmarking branch_read/branches_64/1000: Analyzing +branch_read/branches_64/1000 + time: [342.35 µs 344.37 µs 346.65 µs] + thrpt: [37.368 MiB/s 37.615 MiB/s 37.838 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_read/branches_256/1 +Benchmarking branch_read/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1: Collecting 50 samples in estimated 2.0000 s (3.2M iterations) +Benchmarking branch_read/branches_256/1: Analyzing +branch_read/branches_256/1 + time: [628.47 ns 637.45 ns 648.83 ns] + thrpt: [33.806 MiB/s 34.410 MiB/s 34.902 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_read/branches_256/1000 +Benchmarking branch_read/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1000: Collecting 50 samples in estimated 2.0101 s (4800 iterations) +Benchmarking branch_read/branches_256/1000: Analyzing +branch_read/branches_256/1000 + time: [413.27 µs 415.25 µs 417.77 µs] + thrpt: [34.294 MiB/s 34.502 MiB/s 34.668 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe + +Benchmarking branch_write/branches_1/1 +Benchmarking branch_write/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1: Collecting 50 samples in estimated 2.0000 s (18M iterations) +Benchmarking branch_write/branches_1/1: Analyzing +branch_write/branches_1/1 + time: [114.93 ns 116.16 ns 117.68 ns] + thrpt: [186.40 MiB/s 188.83 MiB/s 190.84 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_write/branches_16/1 +Benchmarking branch_write/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1: Collecting 50 samples in estimated 2.0000 s (17M iterations) +Benchmarking branch_write/branches_16/1: Analyzing +branch_write/branches_16/1 + time: [120.95 ns 122.96 ns 125.76 ns] + thrpt: [174.42 MiB/s 178.39 MiB/s 181.35 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 6 (12.00%) high severe +Benchmarking branch_write/branches_64/1 +Benchmarking branch_write/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1: Collecting 50 samples in estimated 2.0000 s (14M iterations) +Benchmarking branch_write/branches_64/1: Analyzing +branch_write/branches_64/1 + time: [143.81 ns 144.45 ns 145.35 ns] + thrpt: [150.91 MiB/s 151.85 MiB/s 152.52 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/1 +Benchmarking branch_write/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1: Collecting 50 samples in estimated 2.0000 s (9.3M iterations) +Benchmarking branch_write/branches_256/1: Analyzing +branch_write/branches_256/1 + time: [211.21 ns 211.64 ns 212.09 ns] + thrpt: [103.42 MiB/s 103.64 MiB/s 103.85 MiB/s] +Found 1 outliers among 50 measurements (2.00%) + 1 (2.00%) high mild + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline-1.txt new file mode 100644 index 0000000..145d5a0 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline-1.txt @@ -0,0 +1,121 @@ +memcap: <=7731 MiB (60% of 12886 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_read/branches_1/1 +Benchmarking branch_read/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_1/1: Analyzing +branch_read/branches_1/1 + time: [620.79 ns 623.26 ns 626.19 ns] + thrpt: [35.029 MiB/s 35.193 MiB/s 35.333 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_read/branches_1/1000 +Benchmarking branch_read/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1000: Collecting 50 samples in estimated 2.0136 s (6900 iterations) +Benchmarking branch_read/branches_1/1000: Analyzing +branch_read/branches_1/1000 + time: [291.03 µs 292.85 µs 294.94 µs] + thrpt: [38.488 MiB/s 38.762 MiB/s 39.005 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 6 (12.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_read/branches_16/1 +Benchmarking branch_read/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_16/1: Analyzing +branch_read/branches_16/1 + time: [648.19 ns 659.24 ns 676.41 ns] + thrpt: [32.428 MiB/s 33.272 MiB/s 33.840 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 6 (12.00%) high severe +Benchmarking branch_read/branches_16/1000 +Benchmarking branch_read/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1000: Collecting 50 samples in estimated 2.0078 s (6450 iterations) +Benchmarking branch_read/branches_16/1000: Analyzing +branch_read/branches_16/1000 + time: [311.23 µs 313.40 µs 316.00 µs] + thrpt: [38.168 MiB/s 38.485 MiB/s 38.754 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_read/branches_64/1 +Benchmarking branch_read/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_64/1: Analyzing +branch_read/branches_64/1 + time: [646.13 ns 653.94 ns 664.00 ns] + thrpt: [33.034 MiB/s 33.542 MiB/s 33.948 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_read/branches_64/1000 +Benchmarking branch_read/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1000: Collecting 50 samples in estimated 2.0071 s (5850 iterations) +Benchmarking branch_read/branches_64/1000: Analyzing +branch_read/branches_64/1000 + time: [341.33 µs 343.21 µs 345.60 µs] + thrpt: [37.482 MiB/s 37.743 MiB/s 37.951 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_256/1 +Benchmarking branch_read/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_256/1: Analyzing +branch_read/branches_256/1 + time: [652.24 ns 658.89 ns 666.82 ns] + thrpt: [32.894 MiB/s 33.290 MiB/s 33.630 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 2 (4.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_read/branches_256/1000 +Benchmarking branch_read/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1000: Collecting 50 samples in estimated 2.0087 s (4800 iterations) +Benchmarking branch_read/branches_256/1000: Analyzing +branch_read/branches_256/1000 + time: [412.21 µs 414.89 µs 418.32 µs] + thrpt: [34.249 MiB/s 34.532 MiB/s 34.757 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 4 (8.00%) high severe + +Benchmarking branch_write/branches_1/1 +Benchmarking branch_write/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1: Collecting 50 samples in estimated 2.0000 s (17M iterations) +Benchmarking branch_write/branches_1/1: Analyzing +branch_write/branches_1/1 + time: [112.44 ns 112.84 ns 113.34 ns] + thrpt: [193.52 MiB/s 194.39 MiB/s 195.09 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_16/1 +Benchmarking branch_write/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1: Collecting 50 samples in estimated 2.0000 s (17M iterations) +Benchmarking branch_write/branches_16/1: Analyzing +branch_write/branches_16/1 + time: [119.14 ns 119.70 ns 120.44 ns] + thrpt: [182.12 MiB/s 183.24 MiB/s 184.11 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_64/1 +Benchmarking branch_write/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1: Collecting 50 samples in estimated 2.0000 s (14M iterations) +Benchmarking branch_write/branches_64/1: Analyzing +branch_write/branches_64/1 + time: [142.01 ns 142.97 ns 144.27 ns] + thrpt: [152.03 MiB/s 153.43 MiB/s 154.46 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/1 +Benchmarking branch_write/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1: Collecting 50 samples in estimated 2.0000 s (9.4M iterations) +Benchmarking branch_write/branches_256/1: Analyzing +branch_write/branches_256/1 + time: [208.24 ns 209.13 ns 210.20 ns] + thrpt: [104.35 MiB/s 104.89 MiB/s 105.33 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline-build.txt new file mode 100644 index 0000000..2393890 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7720 MiB (60% of 12868 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.76s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/criterion-SHA256SUMS new file mode 100644 index 0000000..47786ef --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/criterion-SHA256SUMS @@ -0,0 +1,384 @@ +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 baseline-0/branch_read/branches_1/1/base/benchmark.json +25968083ada3fdcc7420ece412c694a79141538437abf4d72781f765bdaaf656 baseline-0/branch_read/branches_1/1/base/estimates.json +9a1869232ec2e28e340caa3fe042334e829eb2b3078cbbd1e5685ee9930c6b6d baseline-0/branch_read/branches_1/1/base/sample.json +ae5131601317cf99f7cfa97646a3100f4350fe5a42a36a8e4f6c923c3f11d09a baseline-0/branch_read/branches_1/1/base/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 baseline-0/branch_read/branches_1/1/new/benchmark.json +25968083ada3fdcc7420ece412c694a79141538437abf4d72781f765bdaaf656 baseline-0/branch_read/branches_1/1/new/estimates.json +9a1869232ec2e28e340caa3fe042334e829eb2b3078cbbd1e5685ee9930c6b6d baseline-0/branch_read/branches_1/1/new/sample.json +ae5131601317cf99f7cfa97646a3100f4350fe5a42a36a8e4f6c923c3f11d09a baseline-0/branch_read/branches_1/1/new/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 baseline-0/branch_read/branches_1/1000/base/benchmark.json +6d997f7e82be7f899eaecdd079441911b9b21aa3e93b90fc67f722de65f7c355 baseline-0/branch_read/branches_1/1000/base/estimates.json +e2f3ca95c8594431afaa0ccb4c3cf2d9cd45ec6fd4b4bbceb5c6f4ccac7053a5 baseline-0/branch_read/branches_1/1000/base/sample.json +3e928a649f9ee205392687041e08de10349b5785661faea6c88c1257d92691c6 baseline-0/branch_read/branches_1/1000/base/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 baseline-0/branch_read/branches_1/1000/new/benchmark.json +6d997f7e82be7f899eaecdd079441911b9b21aa3e93b90fc67f722de65f7c355 baseline-0/branch_read/branches_1/1000/new/estimates.json +e2f3ca95c8594431afaa0ccb4c3cf2d9cd45ec6fd4b4bbceb5c6f4ccac7053a5 baseline-0/branch_read/branches_1/1000/new/sample.json +3e928a649f9ee205392687041e08de10349b5785661faea6c88c1257d92691c6 baseline-0/branch_read/branches_1/1000/new/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 baseline-0/branch_read/branches_16/1/base/benchmark.json +42d07d1c01b78dcefe49d025e6bba3c5e3a684c8a37ca13627a730cf041d7245 baseline-0/branch_read/branches_16/1/base/estimates.json +94e7b60614f2b7fdebdbf62a112a3358181cbe737dbd5430c20cbf4f88ed3c2e baseline-0/branch_read/branches_16/1/base/sample.json +307945a90483d89fd789c60636799552b196d6ea26e5025b33faf0ec0fd14158 baseline-0/branch_read/branches_16/1/base/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 baseline-0/branch_read/branches_16/1/new/benchmark.json +42d07d1c01b78dcefe49d025e6bba3c5e3a684c8a37ca13627a730cf041d7245 baseline-0/branch_read/branches_16/1/new/estimates.json +94e7b60614f2b7fdebdbf62a112a3358181cbe737dbd5430c20cbf4f88ed3c2e baseline-0/branch_read/branches_16/1/new/sample.json +307945a90483d89fd789c60636799552b196d6ea26e5025b33faf0ec0fd14158 baseline-0/branch_read/branches_16/1/new/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 baseline-0/branch_read/branches_16/1000/base/benchmark.json +bb17147c38d49e076a131e3466648297f6dd88c5992e503b6caeabfa1d240d5d baseline-0/branch_read/branches_16/1000/base/estimates.json +8a1b9d9dba1ab1ba888afdd411e92303c0058dc89e3ecc28d87a2d7978a3ecf3 baseline-0/branch_read/branches_16/1000/base/sample.json +46c5a308641d764b49615bd93251284c1a7a5d1a92a3bd2e234ac2a64015814a baseline-0/branch_read/branches_16/1000/base/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 baseline-0/branch_read/branches_16/1000/new/benchmark.json +bb17147c38d49e076a131e3466648297f6dd88c5992e503b6caeabfa1d240d5d baseline-0/branch_read/branches_16/1000/new/estimates.json +8a1b9d9dba1ab1ba888afdd411e92303c0058dc89e3ecc28d87a2d7978a3ecf3 baseline-0/branch_read/branches_16/1000/new/sample.json +46c5a308641d764b49615bd93251284c1a7a5d1a92a3bd2e234ac2a64015814a baseline-0/branch_read/branches_16/1000/new/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b baseline-0/branch_read/branches_256/1/base/benchmark.json +64484e54ee08a453cd6e35a7b28e151ece1287b1ee9036f8192a72ab13b1e307 baseline-0/branch_read/branches_256/1/base/estimates.json +92c9160e6beb8042807cf16f5fb18cb7e85588dcb6ca7245ddd82a21f1e7c186 baseline-0/branch_read/branches_256/1/base/sample.json +599bf505afb0a808b513c89a341bac83eaf249af0edf1330da9864a9dd45fe3f baseline-0/branch_read/branches_256/1/base/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b baseline-0/branch_read/branches_256/1/new/benchmark.json +64484e54ee08a453cd6e35a7b28e151ece1287b1ee9036f8192a72ab13b1e307 baseline-0/branch_read/branches_256/1/new/estimates.json +92c9160e6beb8042807cf16f5fb18cb7e85588dcb6ca7245ddd82a21f1e7c186 baseline-0/branch_read/branches_256/1/new/sample.json +599bf505afb0a808b513c89a341bac83eaf249af0edf1330da9864a9dd45fe3f baseline-0/branch_read/branches_256/1/new/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 baseline-0/branch_read/branches_256/1000/base/benchmark.json +5ea0d6d627ee9915e4df342463830c41ed0967ccf42410cb52eb76916323fd49 baseline-0/branch_read/branches_256/1000/base/estimates.json +c03276afe2fa6304d7c08c3ab73f7e3690e3dd3203f477c2badc30b817ff0de1 baseline-0/branch_read/branches_256/1000/base/sample.json +1c3eae863333ba8bc0db46e3e25e227a065e274d81286fac075b53c3db9774a4 baseline-0/branch_read/branches_256/1000/base/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 baseline-0/branch_read/branches_256/1000/new/benchmark.json +5ea0d6d627ee9915e4df342463830c41ed0967ccf42410cb52eb76916323fd49 baseline-0/branch_read/branches_256/1000/new/estimates.json +c03276afe2fa6304d7c08c3ab73f7e3690e3dd3203f477c2badc30b817ff0de1 baseline-0/branch_read/branches_256/1000/new/sample.json +1c3eae863333ba8bc0db46e3e25e227a065e274d81286fac075b53c3db9774a4 baseline-0/branch_read/branches_256/1000/new/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 baseline-0/branch_read/branches_64/1/base/benchmark.json +1b027143189862f624c6f07033c714efeb45388434c4dd1a6da8173efb2e35d6 baseline-0/branch_read/branches_64/1/base/estimates.json +dd38e08e01c196761b61c797023231d0a2030fc9e9164ae68631fae31a1059aa baseline-0/branch_read/branches_64/1/base/sample.json +1b8c0230f52594ace5c6b87c88fad796c52b455aea8690378adcf5f8432bbdcf baseline-0/branch_read/branches_64/1/base/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 baseline-0/branch_read/branches_64/1/new/benchmark.json +1b027143189862f624c6f07033c714efeb45388434c4dd1a6da8173efb2e35d6 baseline-0/branch_read/branches_64/1/new/estimates.json +dd38e08e01c196761b61c797023231d0a2030fc9e9164ae68631fae31a1059aa baseline-0/branch_read/branches_64/1/new/sample.json +1b8c0230f52594ace5c6b87c88fad796c52b455aea8690378adcf5f8432bbdcf baseline-0/branch_read/branches_64/1/new/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 baseline-0/branch_read/branches_64/1000/base/benchmark.json +2d98843c665e58b2997f2fb46737d40a81e080b680b6045aaabef725a9c10b3f baseline-0/branch_read/branches_64/1000/base/estimates.json +4a10233d76ddb90a2a39dbc3211c571dc3c28ecb1ce08b4fc69a5a20a1b9f13e baseline-0/branch_read/branches_64/1000/base/sample.json +ee5c2928790fbd533d755884e157cace93d370169409aced7f8762fb48ac29e9 baseline-0/branch_read/branches_64/1000/base/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 baseline-0/branch_read/branches_64/1000/new/benchmark.json +2d98843c665e58b2997f2fb46737d40a81e080b680b6045aaabef725a9c10b3f baseline-0/branch_read/branches_64/1000/new/estimates.json +4a10233d76ddb90a2a39dbc3211c571dc3c28ecb1ce08b4fc69a5a20a1b9f13e baseline-0/branch_read/branches_64/1000/new/sample.json +ee5c2928790fbd533d755884e157cace93d370169409aced7f8762fb48ac29e9 baseline-0/branch_read/branches_64/1000/new/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 baseline-0/branch_write/branches_1/1/base/benchmark.json +84229171f026d9cd04f57f745d7948cf7685443c86bd40adb57ccef545b2cb55 baseline-0/branch_write/branches_1/1/base/estimates.json +3a7ae028165076edead618e901cdf5c6ad514ceae0ba0e5754206eb86daee24a baseline-0/branch_write/branches_1/1/base/sample.json +8f4924084c5af4ee13e3232daa8d9dd5deda2826ac6028dc8dbf295bd0e461d2 baseline-0/branch_write/branches_1/1/base/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 baseline-0/branch_write/branches_1/1/new/benchmark.json +84229171f026d9cd04f57f745d7948cf7685443c86bd40adb57ccef545b2cb55 baseline-0/branch_write/branches_1/1/new/estimates.json +3a7ae028165076edead618e901cdf5c6ad514ceae0ba0e5754206eb86daee24a baseline-0/branch_write/branches_1/1/new/sample.json +8f4924084c5af4ee13e3232daa8d9dd5deda2826ac6028dc8dbf295bd0e461d2 baseline-0/branch_write/branches_1/1/new/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a baseline-0/branch_write/branches_16/1/base/benchmark.json +30584f061ad63335f786aa04f948c358d8d833473fc80899f26da8a61e08b2df baseline-0/branch_write/branches_16/1/base/estimates.json +4985fbb3aecc83db939384acdc1ff0c427b9ac7605f3534c722afbc93b46b959 baseline-0/branch_write/branches_16/1/base/sample.json +62c63f211850975ad1f5853bf048509c82809eb2561b8c7b259c427eda7da6ac baseline-0/branch_write/branches_16/1/base/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a baseline-0/branch_write/branches_16/1/new/benchmark.json +30584f061ad63335f786aa04f948c358d8d833473fc80899f26da8a61e08b2df baseline-0/branch_write/branches_16/1/new/estimates.json +4985fbb3aecc83db939384acdc1ff0c427b9ac7605f3534c722afbc93b46b959 baseline-0/branch_write/branches_16/1/new/sample.json +62c63f211850975ad1f5853bf048509c82809eb2561b8c7b259c427eda7da6ac baseline-0/branch_write/branches_16/1/new/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f baseline-0/branch_write/branches_256/1/base/benchmark.json +c9511f6bc7bf2370568d72ba828276ddf5e45145dd07a17ea3521b55a385be38 baseline-0/branch_write/branches_256/1/base/estimates.json +5144ad9c39303e972e7a8c2aed03d9f2293555772dbfe54167526b2b37553acf baseline-0/branch_write/branches_256/1/base/sample.json +4510ee8ae4fc8ef284e97aec80770303518a30ab048156440ab48d8c52d01a6f baseline-0/branch_write/branches_256/1/base/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f baseline-0/branch_write/branches_256/1/new/benchmark.json +c9511f6bc7bf2370568d72ba828276ddf5e45145dd07a17ea3521b55a385be38 baseline-0/branch_write/branches_256/1/new/estimates.json +5144ad9c39303e972e7a8c2aed03d9f2293555772dbfe54167526b2b37553acf baseline-0/branch_write/branches_256/1/new/sample.json +4510ee8ae4fc8ef284e97aec80770303518a30ab048156440ab48d8c52d01a6f baseline-0/branch_write/branches_256/1/new/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af baseline-0/branch_write/branches_64/1/base/benchmark.json +a0b5617b6615bea6d28bf20563593c78ddc9d9fcbeb4460854f0f63b246ca182 baseline-0/branch_write/branches_64/1/base/estimates.json +db9e533bc54cc26c04533fb7edab7af70a6ebba7c5c0884a3ad9128a1ca3cf07 baseline-0/branch_write/branches_64/1/base/sample.json +e37c0b15cf4d6f85235c9e9c658bf93581de15b13ffad7def3bb8e3d8527ffec baseline-0/branch_write/branches_64/1/base/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af baseline-0/branch_write/branches_64/1/new/benchmark.json +a0b5617b6615bea6d28bf20563593c78ddc9d9fcbeb4460854f0f63b246ca182 baseline-0/branch_write/branches_64/1/new/estimates.json +db9e533bc54cc26c04533fb7edab7af70a6ebba7c5c0884a3ad9128a1ca3cf07 baseline-0/branch_write/branches_64/1/new/sample.json +e37c0b15cf4d6f85235c9e9c658bf93581de15b13ffad7def3bb8e3d8527ffec baseline-0/branch_write/branches_64/1/new/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 baseline-1/branch_read/branches_1/1/base/benchmark.json +fb224c623aa6ef6f70ee69447d09ad9ea538f06c1b4fe26d806fdd671b625aa9 baseline-1/branch_read/branches_1/1/base/estimates.json +79e35cfd5039b45e63170cd39ade07a32abe7c4300cb5adf7deb163fdb8b3a2c baseline-1/branch_read/branches_1/1/base/sample.json +cb095e40b0750d0baa974bd5374c645bed4baaee25031671850bba80fac147f6 baseline-1/branch_read/branches_1/1/base/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 baseline-1/branch_read/branches_1/1/new/benchmark.json +fb224c623aa6ef6f70ee69447d09ad9ea538f06c1b4fe26d806fdd671b625aa9 baseline-1/branch_read/branches_1/1/new/estimates.json +79e35cfd5039b45e63170cd39ade07a32abe7c4300cb5adf7deb163fdb8b3a2c baseline-1/branch_read/branches_1/1/new/sample.json +cb095e40b0750d0baa974bd5374c645bed4baaee25031671850bba80fac147f6 baseline-1/branch_read/branches_1/1/new/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 baseline-1/branch_read/branches_1/1000/base/benchmark.json +257285d5955f322be979e8a8d6072ef4c6011601753331e1242ea4fa79834c42 baseline-1/branch_read/branches_1/1000/base/estimates.json +8bbdc43bce488af9aa077fe536371ed4d22bb972a0b88e0654776aecb614c9cd baseline-1/branch_read/branches_1/1000/base/sample.json +2ba3122cddbec1efbd2ba386dcf55aa44f7c339d35a292ea26c4dd4d7a2e469c baseline-1/branch_read/branches_1/1000/base/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 baseline-1/branch_read/branches_1/1000/new/benchmark.json +257285d5955f322be979e8a8d6072ef4c6011601753331e1242ea4fa79834c42 baseline-1/branch_read/branches_1/1000/new/estimates.json +8bbdc43bce488af9aa077fe536371ed4d22bb972a0b88e0654776aecb614c9cd baseline-1/branch_read/branches_1/1000/new/sample.json +2ba3122cddbec1efbd2ba386dcf55aa44f7c339d35a292ea26c4dd4d7a2e469c baseline-1/branch_read/branches_1/1000/new/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 baseline-1/branch_read/branches_16/1/base/benchmark.json +dadea5dc7143f210c2261e2127292880b73b1ef30f3763f57e22dab5e6223154 baseline-1/branch_read/branches_16/1/base/estimates.json +b6fa267834878d396d7fde6e705638a7e0802980673463ee4ec80bce321f14a4 baseline-1/branch_read/branches_16/1/base/sample.json +a772901a6e684def5fb45eb53d3913c2da3734c9649fd105dca3b47a35b11843 baseline-1/branch_read/branches_16/1/base/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 baseline-1/branch_read/branches_16/1/new/benchmark.json +dadea5dc7143f210c2261e2127292880b73b1ef30f3763f57e22dab5e6223154 baseline-1/branch_read/branches_16/1/new/estimates.json +b6fa267834878d396d7fde6e705638a7e0802980673463ee4ec80bce321f14a4 baseline-1/branch_read/branches_16/1/new/sample.json +a772901a6e684def5fb45eb53d3913c2da3734c9649fd105dca3b47a35b11843 baseline-1/branch_read/branches_16/1/new/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 baseline-1/branch_read/branches_16/1000/base/benchmark.json +b2a4609d67a1068c203846dc6d26d7c36f7b8bebb53ed9dfd828b88724bc6247 baseline-1/branch_read/branches_16/1000/base/estimates.json +826d4983b2b28e610ce0b873d29c6fe477248be413a072b5c18e5e0a232bd7a4 baseline-1/branch_read/branches_16/1000/base/sample.json +476e5cdb2b3a102690238ba63992ec319d393a98bc106359042208a50c5225eb baseline-1/branch_read/branches_16/1000/base/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 baseline-1/branch_read/branches_16/1000/new/benchmark.json +b2a4609d67a1068c203846dc6d26d7c36f7b8bebb53ed9dfd828b88724bc6247 baseline-1/branch_read/branches_16/1000/new/estimates.json +826d4983b2b28e610ce0b873d29c6fe477248be413a072b5c18e5e0a232bd7a4 baseline-1/branch_read/branches_16/1000/new/sample.json +476e5cdb2b3a102690238ba63992ec319d393a98bc106359042208a50c5225eb baseline-1/branch_read/branches_16/1000/new/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b baseline-1/branch_read/branches_256/1/base/benchmark.json +4ddec629f0deff30a7a52624cc3787d5def3c6cd37387852bfede2023bb727e1 baseline-1/branch_read/branches_256/1/base/estimates.json +c84fe1a9205dae8ac2c1f537b29e8eb00fadd21ffb76d0ee6c8ce7a517e06c34 baseline-1/branch_read/branches_256/1/base/sample.json +9abac71882d89f6a21ec79ce0078aa2a90ac2fac25f72e0d19136c3fa6b7cc8a baseline-1/branch_read/branches_256/1/base/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b baseline-1/branch_read/branches_256/1/new/benchmark.json +4ddec629f0deff30a7a52624cc3787d5def3c6cd37387852bfede2023bb727e1 baseline-1/branch_read/branches_256/1/new/estimates.json +c84fe1a9205dae8ac2c1f537b29e8eb00fadd21ffb76d0ee6c8ce7a517e06c34 baseline-1/branch_read/branches_256/1/new/sample.json +9abac71882d89f6a21ec79ce0078aa2a90ac2fac25f72e0d19136c3fa6b7cc8a baseline-1/branch_read/branches_256/1/new/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 baseline-1/branch_read/branches_256/1000/base/benchmark.json +53bdbc5d996250c95d636d4954171740fd02abbe41755b88503cdbe14f143b44 baseline-1/branch_read/branches_256/1000/base/estimates.json +60315a1f81c1fa1477f5ab2575c9d576def5ef639fefd0887167added7a21245 baseline-1/branch_read/branches_256/1000/base/sample.json +967daa4c9f3d7e02626aed9f3df864eaf247163cb68fe3ce9691ad40dee40ce4 baseline-1/branch_read/branches_256/1000/base/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 baseline-1/branch_read/branches_256/1000/new/benchmark.json +53bdbc5d996250c95d636d4954171740fd02abbe41755b88503cdbe14f143b44 baseline-1/branch_read/branches_256/1000/new/estimates.json +60315a1f81c1fa1477f5ab2575c9d576def5ef639fefd0887167added7a21245 baseline-1/branch_read/branches_256/1000/new/sample.json +967daa4c9f3d7e02626aed9f3df864eaf247163cb68fe3ce9691ad40dee40ce4 baseline-1/branch_read/branches_256/1000/new/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 baseline-1/branch_read/branches_64/1/base/benchmark.json +de572b894958d28171003acb6d49fc96c248aab328b6bb942c62b9ce6e8b042f baseline-1/branch_read/branches_64/1/base/estimates.json +3625f44c5efe8904503077ff2ebd505e528f33ef654d03b42d847f51f441286e baseline-1/branch_read/branches_64/1/base/sample.json +19909b1d16c00825c29e222ba3564bfbd3e47eb021dc14093f509b3ee3915ce9 baseline-1/branch_read/branches_64/1/base/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 baseline-1/branch_read/branches_64/1/new/benchmark.json +de572b894958d28171003acb6d49fc96c248aab328b6bb942c62b9ce6e8b042f baseline-1/branch_read/branches_64/1/new/estimates.json +3625f44c5efe8904503077ff2ebd505e528f33ef654d03b42d847f51f441286e baseline-1/branch_read/branches_64/1/new/sample.json +19909b1d16c00825c29e222ba3564bfbd3e47eb021dc14093f509b3ee3915ce9 baseline-1/branch_read/branches_64/1/new/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 baseline-1/branch_read/branches_64/1000/base/benchmark.json +ee10e607e7dbd6a138203ec0d908c71701d2e1347c91c4e03fe5a54f0e14970c baseline-1/branch_read/branches_64/1000/base/estimates.json +71d032ac173ad3401a43172d86cba89aff25794d5f4f159c4fa837f90a2e0826 baseline-1/branch_read/branches_64/1000/base/sample.json +81ba94a8d4c81c3ff2c93954da212056155d89f8f928ee24bb21a85708267a88 baseline-1/branch_read/branches_64/1000/base/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 baseline-1/branch_read/branches_64/1000/new/benchmark.json +ee10e607e7dbd6a138203ec0d908c71701d2e1347c91c4e03fe5a54f0e14970c baseline-1/branch_read/branches_64/1000/new/estimates.json +71d032ac173ad3401a43172d86cba89aff25794d5f4f159c4fa837f90a2e0826 baseline-1/branch_read/branches_64/1000/new/sample.json +81ba94a8d4c81c3ff2c93954da212056155d89f8f928ee24bb21a85708267a88 baseline-1/branch_read/branches_64/1000/new/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 baseline-1/branch_write/branches_1/1/base/benchmark.json +2355d8be9af72270ec4d037af159da228aec755da5c56cb888a73dc489ea6eee baseline-1/branch_write/branches_1/1/base/estimates.json +1eabce2b21abb14eff242b3f4a308e5be76e47ff3a2dd96a152a99f396dc7ab1 baseline-1/branch_write/branches_1/1/base/sample.json +6ed85fc1ba6bd102cb2bf8cddf3f36b79a49aaeb73b2ed1954e4797a9fc361d3 baseline-1/branch_write/branches_1/1/base/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 baseline-1/branch_write/branches_1/1/new/benchmark.json +2355d8be9af72270ec4d037af159da228aec755da5c56cb888a73dc489ea6eee baseline-1/branch_write/branches_1/1/new/estimates.json +1eabce2b21abb14eff242b3f4a308e5be76e47ff3a2dd96a152a99f396dc7ab1 baseline-1/branch_write/branches_1/1/new/sample.json +6ed85fc1ba6bd102cb2bf8cddf3f36b79a49aaeb73b2ed1954e4797a9fc361d3 baseline-1/branch_write/branches_1/1/new/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a baseline-1/branch_write/branches_16/1/base/benchmark.json +52a6a8310a250d3d0376bbb694ae336847bf65bb03257871ef11906d80f99aa0 baseline-1/branch_write/branches_16/1/base/estimates.json +f6dfe7b3e055147debc6d1d4b8958af1ab20adf0c5fd739c2c25ddb150fca51e baseline-1/branch_write/branches_16/1/base/sample.json +4a60208b0f4d91f52349540d5af4574236ed9675689ef17bc2d732dbd502988f baseline-1/branch_write/branches_16/1/base/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a baseline-1/branch_write/branches_16/1/new/benchmark.json +52a6a8310a250d3d0376bbb694ae336847bf65bb03257871ef11906d80f99aa0 baseline-1/branch_write/branches_16/1/new/estimates.json +f6dfe7b3e055147debc6d1d4b8958af1ab20adf0c5fd739c2c25ddb150fca51e baseline-1/branch_write/branches_16/1/new/sample.json +4a60208b0f4d91f52349540d5af4574236ed9675689ef17bc2d732dbd502988f baseline-1/branch_write/branches_16/1/new/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f baseline-1/branch_write/branches_256/1/base/benchmark.json +6d33adfb6681cd449d805a2fbde3f197466d08bc56822f97bded4fa87ed182d2 baseline-1/branch_write/branches_256/1/base/estimates.json +9e2e9e6edfaca9abc8ce961363cc28a41a4d4a3309f05c9a056f0e1dc129097c baseline-1/branch_write/branches_256/1/base/sample.json +c560aa845888b5ddce1f854fe6e3f1269ee366b3678e3ab188aaba5fd3deaf2a baseline-1/branch_write/branches_256/1/base/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f baseline-1/branch_write/branches_256/1/new/benchmark.json +6d33adfb6681cd449d805a2fbde3f197466d08bc56822f97bded4fa87ed182d2 baseline-1/branch_write/branches_256/1/new/estimates.json +9e2e9e6edfaca9abc8ce961363cc28a41a4d4a3309f05c9a056f0e1dc129097c baseline-1/branch_write/branches_256/1/new/sample.json +c560aa845888b5ddce1f854fe6e3f1269ee366b3678e3ab188aaba5fd3deaf2a baseline-1/branch_write/branches_256/1/new/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af baseline-1/branch_write/branches_64/1/base/benchmark.json +e5aae4ae230f39ce7e5e21daeccf205cb25f6a5e0763fa33ba40a5c3d4364da4 baseline-1/branch_write/branches_64/1/base/estimates.json +2487d37530efaf81686b341dbe91ce90e8f9a12e71c2cefcac29fb03ce985fce baseline-1/branch_write/branches_64/1/base/sample.json +8a0eed838ece3cd3cf5d365b00368816670fae7f9bcde2916c737e2f6fa95880 baseline-1/branch_write/branches_64/1/base/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af baseline-1/branch_write/branches_64/1/new/benchmark.json +e5aae4ae230f39ce7e5e21daeccf205cb25f6a5e0763fa33ba40a5c3d4364da4 baseline-1/branch_write/branches_64/1/new/estimates.json +2487d37530efaf81686b341dbe91ce90e8f9a12e71c2cefcac29fb03ce985fce baseline-1/branch_write/branches_64/1/new/sample.json +8a0eed838ece3cd3cf5d365b00368816670fae7f9bcde2916c737e2f6fa95880 baseline-1/branch_write/branches_64/1/new/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 current-0/branch_read/branches_1/1/base/benchmark.json +5de638ffc5a663afbda162997e2be7d9dc868663cc6d1970ac4fcafc3656360e current-0/branch_read/branches_1/1/base/estimates.json +3ebe572040a7246b74cf363673ef57bfd1d7420b046aa01dd92ed42b92c20a57 current-0/branch_read/branches_1/1/base/sample.json +b3fd54290c57ea74056cf1261c27335cda28152e01d0aa60a1357d5e5b82606e current-0/branch_read/branches_1/1/base/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 current-0/branch_read/branches_1/1/new/benchmark.json +5de638ffc5a663afbda162997e2be7d9dc868663cc6d1970ac4fcafc3656360e current-0/branch_read/branches_1/1/new/estimates.json +3ebe572040a7246b74cf363673ef57bfd1d7420b046aa01dd92ed42b92c20a57 current-0/branch_read/branches_1/1/new/sample.json +b3fd54290c57ea74056cf1261c27335cda28152e01d0aa60a1357d5e5b82606e current-0/branch_read/branches_1/1/new/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 current-0/branch_read/branches_1/1000/base/benchmark.json +25372bf890a8218bd910777520e459582faba0a7cad6912d4a6f1643c5e8a2ff current-0/branch_read/branches_1/1000/base/estimates.json +881f6c34b802337384994e17b2ebb65830016a8e66b5cb2aa4b636613c6ab053 current-0/branch_read/branches_1/1000/base/sample.json +2f3abe2a72465593905632c79eb935ce578baf1fbfdd912fb8b8f914c9808916 current-0/branch_read/branches_1/1000/base/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 current-0/branch_read/branches_1/1000/new/benchmark.json +25372bf890a8218bd910777520e459582faba0a7cad6912d4a6f1643c5e8a2ff current-0/branch_read/branches_1/1000/new/estimates.json +881f6c34b802337384994e17b2ebb65830016a8e66b5cb2aa4b636613c6ab053 current-0/branch_read/branches_1/1000/new/sample.json +2f3abe2a72465593905632c79eb935ce578baf1fbfdd912fb8b8f914c9808916 current-0/branch_read/branches_1/1000/new/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 current-0/branch_read/branches_16/1/base/benchmark.json +7534ed7cb63be253dfad3f2dc0af30d5ee0cb46f698e91fc6d910590f18f48da current-0/branch_read/branches_16/1/base/estimates.json +d0f887f3b508488201815a1c41e48c74b07a74f9b20b9bd3795ccb8d0f4af9b2 current-0/branch_read/branches_16/1/base/sample.json +d8f8f5980bc6e017a18942d890bf38cb1c1aca3e7b0083ef6942e32df1e7182e current-0/branch_read/branches_16/1/base/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 current-0/branch_read/branches_16/1/new/benchmark.json +7534ed7cb63be253dfad3f2dc0af30d5ee0cb46f698e91fc6d910590f18f48da current-0/branch_read/branches_16/1/new/estimates.json +d0f887f3b508488201815a1c41e48c74b07a74f9b20b9bd3795ccb8d0f4af9b2 current-0/branch_read/branches_16/1/new/sample.json +d8f8f5980bc6e017a18942d890bf38cb1c1aca3e7b0083ef6942e32df1e7182e current-0/branch_read/branches_16/1/new/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 current-0/branch_read/branches_16/1000/base/benchmark.json +e4d57028b9e8554ffd3dbc0ab71dd5f5cc8716aaa27e19a35b625b8c4a2d6a17 current-0/branch_read/branches_16/1000/base/estimates.json +090a8a38cc8f9cc72bd798378737cc82cdc0c7558613069d82cfd22d171cd40a current-0/branch_read/branches_16/1000/base/sample.json +478b027365a7572d4ed3973c91a545702fdc9f7d66c782601fb322b8b604061f current-0/branch_read/branches_16/1000/base/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 current-0/branch_read/branches_16/1000/new/benchmark.json +e4d57028b9e8554ffd3dbc0ab71dd5f5cc8716aaa27e19a35b625b8c4a2d6a17 current-0/branch_read/branches_16/1000/new/estimates.json +090a8a38cc8f9cc72bd798378737cc82cdc0c7558613069d82cfd22d171cd40a current-0/branch_read/branches_16/1000/new/sample.json +478b027365a7572d4ed3973c91a545702fdc9f7d66c782601fb322b8b604061f current-0/branch_read/branches_16/1000/new/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b current-0/branch_read/branches_256/1/base/benchmark.json +543d2ab524cc6b4960c19b730e716c3f1f06249e894d85fa8eae9289c11db784 current-0/branch_read/branches_256/1/base/estimates.json +304b3d8c302fa6c0a0c21263f4113e0c63b314741d9466562cf21bf21b56b75a current-0/branch_read/branches_256/1/base/sample.json +484c0b6fa2cd2fef822ce96ea2064f7c0859400069835d5fd3331e50c256b0f4 current-0/branch_read/branches_256/1/base/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b current-0/branch_read/branches_256/1/new/benchmark.json +543d2ab524cc6b4960c19b730e716c3f1f06249e894d85fa8eae9289c11db784 current-0/branch_read/branches_256/1/new/estimates.json +304b3d8c302fa6c0a0c21263f4113e0c63b314741d9466562cf21bf21b56b75a current-0/branch_read/branches_256/1/new/sample.json +484c0b6fa2cd2fef822ce96ea2064f7c0859400069835d5fd3331e50c256b0f4 current-0/branch_read/branches_256/1/new/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 current-0/branch_read/branches_256/1000/base/benchmark.json +a77b539f58e6d12f50431b9a89240f66dad7b87eaa19c807fb44d63b9db7a458 current-0/branch_read/branches_256/1000/base/estimates.json +25c656d5a2d0532d64170cff7ccb3bca18567c2dd0a919be7d1deb1423069b6b current-0/branch_read/branches_256/1000/base/sample.json +d5a62595c0377201396040e774bc8a14942eafcb01638e2f27dc95c9a41dc8b4 current-0/branch_read/branches_256/1000/base/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 current-0/branch_read/branches_256/1000/new/benchmark.json +a77b539f58e6d12f50431b9a89240f66dad7b87eaa19c807fb44d63b9db7a458 current-0/branch_read/branches_256/1000/new/estimates.json +25c656d5a2d0532d64170cff7ccb3bca18567c2dd0a919be7d1deb1423069b6b current-0/branch_read/branches_256/1000/new/sample.json +d5a62595c0377201396040e774bc8a14942eafcb01638e2f27dc95c9a41dc8b4 current-0/branch_read/branches_256/1000/new/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 current-0/branch_read/branches_64/1/base/benchmark.json +5fea092c795d378ac7d3445fce3cdf988317a2a70879a51cc284be8d46ad0275 current-0/branch_read/branches_64/1/base/estimates.json +aed144cabd064117747355aa73bcea45daf16023a21879f2331118f8043d5712 current-0/branch_read/branches_64/1/base/sample.json +c4513d31ce368e7d471545cc3eed52f4950e4db171cfb3e771df339b46e2273f current-0/branch_read/branches_64/1/base/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 current-0/branch_read/branches_64/1/new/benchmark.json +5fea092c795d378ac7d3445fce3cdf988317a2a70879a51cc284be8d46ad0275 current-0/branch_read/branches_64/1/new/estimates.json +aed144cabd064117747355aa73bcea45daf16023a21879f2331118f8043d5712 current-0/branch_read/branches_64/1/new/sample.json +c4513d31ce368e7d471545cc3eed52f4950e4db171cfb3e771df339b46e2273f current-0/branch_read/branches_64/1/new/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 current-0/branch_read/branches_64/1000/base/benchmark.json +3b164d1096d97a344683932bde394b8334e79495e8733a1426f8af0fb19e9691 current-0/branch_read/branches_64/1000/base/estimates.json +2e02aeda729ee98217e0fc535dcf6f609d130059df7722036cc1c834ad5f4b7d current-0/branch_read/branches_64/1000/base/sample.json +5d12156b8da3fe838b8787f01aec4a44d8a61cd7f281c2df209cbecce8af5493 current-0/branch_read/branches_64/1000/base/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 current-0/branch_read/branches_64/1000/new/benchmark.json +3b164d1096d97a344683932bde394b8334e79495e8733a1426f8af0fb19e9691 current-0/branch_read/branches_64/1000/new/estimates.json +2e02aeda729ee98217e0fc535dcf6f609d130059df7722036cc1c834ad5f4b7d current-0/branch_read/branches_64/1000/new/sample.json +5d12156b8da3fe838b8787f01aec4a44d8a61cd7f281c2df209cbecce8af5493 current-0/branch_read/branches_64/1000/new/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 current-0/branch_write/branches_1/1/base/benchmark.json +f32960f67577fe835318e08d2a97162089b2347496be5a12b7b47ab5f8a89ff8 current-0/branch_write/branches_1/1/base/estimates.json +4091306871bdc6c85350a7dd86ee3021b429276fd4d5ad0265fccff8d5200028 current-0/branch_write/branches_1/1/base/sample.json +7d517c21a6ac275b8edc89c94e0d1d041f175cfff9bacec1ba6b74aad1a04db7 current-0/branch_write/branches_1/1/base/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 current-0/branch_write/branches_1/1/new/benchmark.json +f32960f67577fe835318e08d2a97162089b2347496be5a12b7b47ab5f8a89ff8 current-0/branch_write/branches_1/1/new/estimates.json +4091306871bdc6c85350a7dd86ee3021b429276fd4d5ad0265fccff8d5200028 current-0/branch_write/branches_1/1/new/sample.json +7d517c21a6ac275b8edc89c94e0d1d041f175cfff9bacec1ba6b74aad1a04db7 current-0/branch_write/branches_1/1/new/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a current-0/branch_write/branches_16/1/base/benchmark.json +9a9f3bfb8be9b2ab9c1a37b20e0ad4e858022afaaf75fb874946a53ee65fedab current-0/branch_write/branches_16/1/base/estimates.json +3a384add5e7158b71c486c0a047cf294ac50e201d6a17d868327a19e787be10b current-0/branch_write/branches_16/1/base/sample.json +bfd20d762391849a25e85105219990c6b6f62190a57411685dcb62e70c9deff4 current-0/branch_write/branches_16/1/base/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a current-0/branch_write/branches_16/1/new/benchmark.json +9a9f3bfb8be9b2ab9c1a37b20e0ad4e858022afaaf75fb874946a53ee65fedab current-0/branch_write/branches_16/1/new/estimates.json +3a384add5e7158b71c486c0a047cf294ac50e201d6a17d868327a19e787be10b current-0/branch_write/branches_16/1/new/sample.json +bfd20d762391849a25e85105219990c6b6f62190a57411685dcb62e70c9deff4 current-0/branch_write/branches_16/1/new/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f current-0/branch_write/branches_256/1/base/benchmark.json +14b47827b35bf6d6f52f69e5fcf2f25cee64192baefaeadc7e6e622b9330c00f current-0/branch_write/branches_256/1/base/estimates.json +80cca122cfddaba80e5dfa41a979debc6ef859abf5ef4d07f74318440d831b56 current-0/branch_write/branches_256/1/base/sample.json +912ffbc051737a76d8fabb7f184b8173012dfe934d8ae44ecafeb4c4a1ccec22 current-0/branch_write/branches_256/1/base/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f current-0/branch_write/branches_256/1/new/benchmark.json +14b47827b35bf6d6f52f69e5fcf2f25cee64192baefaeadc7e6e622b9330c00f current-0/branch_write/branches_256/1/new/estimates.json +80cca122cfddaba80e5dfa41a979debc6ef859abf5ef4d07f74318440d831b56 current-0/branch_write/branches_256/1/new/sample.json +912ffbc051737a76d8fabb7f184b8173012dfe934d8ae44ecafeb4c4a1ccec22 current-0/branch_write/branches_256/1/new/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af current-0/branch_write/branches_64/1/base/benchmark.json +2324dab4492fb427202b06e807ac04f310d13676c1b2cdc478a0a78d752aa7c4 current-0/branch_write/branches_64/1/base/estimates.json +204e11ac871f1f202eb4872707f46c9e5b00a7e163992c692f4f91a0df88ace2 current-0/branch_write/branches_64/1/base/sample.json +9d5d98358d5db76d35a75b5a419f7bd53e3540d6268526942939066919d9d6c0 current-0/branch_write/branches_64/1/base/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af current-0/branch_write/branches_64/1/new/benchmark.json +2324dab4492fb427202b06e807ac04f310d13676c1b2cdc478a0a78d752aa7c4 current-0/branch_write/branches_64/1/new/estimates.json +204e11ac871f1f202eb4872707f46c9e5b00a7e163992c692f4f91a0df88ace2 current-0/branch_write/branches_64/1/new/sample.json +9d5d98358d5db76d35a75b5a419f7bd53e3540d6268526942939066919d9d6c0 current-0/branch_write/branches_64/1/new/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 current-1/branch_read/branches_1/1/base/benchmark.json +ef814363b13eb9887c9131d581c9a2c9e1a9d8251560925ffa10abd48585720d current-1/branch_read/branches_1/1/base/estimates.json +a2d63e683574ba6018ae471ad8b9bfa991cd352c96dfb3cf566c27ca538753e1 current-1/branch_read/branches_1/1/base/sample.json +e693ef9eeba80f2b418cc13c5ad82c29c62f844d6c6a15c732a7e75ddf7608f3 current-1/branch_read/branches_1/1/base/tukey.json +5db4d687d466f2c2d75bc8afb75f9789d73daea95380e2156443028e592c17e7 current-1/branch_read/branches_1/1/new/benchmark.json +ef814363b13eb9887c9131d581c9a2c9e1a9d8251560925ffa10abd48585720d current-1/branch_read/branches_1/1/new/estimates.json +a2d63e683574ba6018ae471ad8b9bfa991cd352c96dfb3cf566c27ca538753e1 current-1/branch_read/branches_1/1/new/sample.json +e693ef9eeba80f2b418cc13c5ad82c29c62f844d6c6a15c732a7e75ddf7608f3 current-1/branch_read/branches_1/1/new/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 current-1/branch_read/branches_1/1000/base/benchmark.json +67c3a73399e3fdc840045af730fb0fb5a473bc085b669b133ee3248371916f70 current-1/branch_read/branches_1/1000/base/estimates.json +ba5a1a0c940badfd10484fa86a9644aad9bf18b785908abed9aa201265c86e49 current-1/branch_read/branches_1/1000/base/sample.json +0567f08d14978c7b0fd92246843c014d70e2566c04e79d7ab7ee45fce43f3cc0 current-1/branch_read/branches_1/1000/base/tukey.json +ae1affd520b2789569e5396ffc77c1e308fcea540446936e76de2df5c417b4f6 current-1/branch_read/branches_1/1000/new/benchmark.json +67c3a73399e3fdc840045af730fb0fb5a473bc085b669b133ee3248371916f70 current-1/branch_read/branches_1/1000/new/estimates.json +ba5a1a0c940badfd10484fa86a9644aad9bf18b785908abed9aa201265c86e49 current-1/branch_read/branches_1/1000/new/sample.json +0567f08d14978c7b0fd92246843c014d70e2566c04e79d7ab7ee45fce43f3cc0 current-1/branch_read/branches_1/1000/new/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 current-1/branch_read/branches_16/1/base/benchmark.json +d4421afea7fef922ca38c7a77713479ebc5388626e595179a76fbaa57672ea26 current-1/branch_read/branches_16/1/base/estimates.json +552f5db6c6f5c68645efe0ae158138b8cbe9890c6a4b5e48b9f142e853eae536 current-1/branch_read/branches_16/1/base/sample.json +4bfd36c2661b38fb446200eb7ee6e04ecb61a1839ed5fbaddaafe6efb126f7ea current-1/branch_read/branches_16/1/base/tukey.json +e94d28f213a1a13362bebbbbdd86b1e52108de98507a2cf408b39f732ae9bf32 current-1/branch_read/branches_16/1/new/benchmark.json +d4421afea7fef922ca38c7a77713479ebc5388626e595179a76fbaa57672ea26 current-1/branch_read/branches_16/1/new/estimates.json +552f5db6c6f5c68645efe0ae158138b8cbe9890c6a4b5e48b9f142e853eae536 current-1/branch_read/branches_16/1/new/sample.json +4bfd36c2661b38fb446200eb7ee6e04ecb61a1839ed5fbaddaafe6efb126f7ea current-1/branch_read/branches_16/1/new/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 current-1/branch_read/branches_16/1000/base/benchmark.json +7c73b043b978fb9cd2809408908c56cf84c3dc63be92fbf9592bfd8538f47b64 current-1/branch_read/branches_16/1000/base/estimates.json +e246502f456d9af7b17f8f07b7ccaf3c5ba49624bd7905a3b88fc7473e825d7c current-1/branch_read/branches_16/1000/base/sample.json +470952f6f6011b2c86742ccb670f879311d65a161f9677bba3cf24cf71a304b9 current-1/branch_read/branches_16/1000/base/tukey.json +f5a511afa764185152779616ca30a4fb5fa9ec7359dcdc3a080d5bcfaaadb502 current-1/branch_read/branches_16/1000/new/benchmark.json +7c73b043b978fb9cd2809408908c56cf84c3dc63be92fbf9592bfd8538f47b64 current-1/branch_read/branches_16/1000/new/estimates.json +e246502f456d9af7b17f8f07b7ccaf3c5ba49624bd7905a3b88fc7473e825d7c current-1/branch_read/branches_16/1000/new/sample.json +470952f6f6011b2c86742ccb670f879311d65a161f9677bba3cf24cf71a304b9 current-1/branch_read/branches_16/1000/new/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b current-1/branch_read/branches_256/1/base/benchmark.json +ed46d2d4a95abf31aeb352f7594e7a36f5db69e37efeb3c64720746c890136a6 current-1/branch_read/branches_256/1/base/estimates.json +e04ead8e9f6f0acc3bf31f641506579ede2eb76500be33a36e5211bbe69123d6 current-1/branch_read/branches_256/1/base/sample.json +ac86bd494e388ac2e4daf4c0a818406a932273bfe1c05af5d556a0c357708906 current-1/branch_read/branches_256/1/base/tukey.json +2d370e86d09d0f76ef1c93b48b71401d0744b1ff011b3702889ef70a6154905b current-1/branch_read/branches_256/1/new/benchmark.json +ed46d2d4a95abf31aeb352f7594e7a36f5db69e37efeb3c64720746c890136a6 current-1/branch_read/branches_256/1/new/estimates.json +e04ead8e9f6f0acc3bf31f641506579ede2eb76500be33a36e5211bbe69123d6 current-1/branch_read/branches_256/1/new/sample.json +ac86bd494e388ac2e4daf4c0a818406a932273bfe1c05af5d556a0c357708906 current-1/branch_read/branches_256/1/new/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 current-1/branch_read/branches_256/1000/base/benchmark.json +ce37b1ec027a48045fe381d2863c5d892083e761227cbf1c03c8a45a574d1fda current-1/branch_read/branches_256/1000/base/estimates.json +17316628cfa0b672649d7884ebbbc98a801929ab983b0520eef0631650a45db8 current-1/branch_read/branches_256/1000/base/sample.json +ed6f2437413e08270483bc13909b16ed8e11fcbfb1638879a90b2b9a22ac90ea current-1/branch_read/branches_256/1000/base/tukey.json +17003ad0397b4e2a52c156463f1dff74471e4e50dce4493cc91aa814b4902749 current-1/branch_read/branches_256/1000/new/benchmark.json +ce37b1ec027a48045fe381d2863c5d892083e761227cbf1c03c8a45a574d1fda current-1/branch_read/branches_256/1000/new/estimates.json +17316628cfa0b672649d7884ebbbc98a801929ab983b0520eef0631650a45db8 current-1/branch_read/branches_256/1000/new/sample.json +ed6f2437413e08270483bc13909b16ed8e11fcbfb1638879a90b2b9a22ac90ea current-1/branch_read/branches_256/1000/new/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 current-1/branch_read/branches_64/1/base/benchmark.json +fd2bf8b72f80d1946577d9fdfa852358525937dbde41279318a6372847664618 current-1/branch_read/branches_64/1/base/estimates.json +04f4b5edf5abc7442504948cd6afd5d7959d23fb17621c953df13f4b790ae4cf current-1/branch_read/branches_64/1/base/sample.json +ad3841e6a33b79b0d01080ed800039df5d3226a9ed74d42b0d4488c3e09d2e5d current-1/branch_read/branches_64/1/base/tukey.json +0c7c934205e6ce951370ffc8125b9a2faf7380fa00642b9d291cffd546def9a6 current-1/branch_read/branches_64/1/new/benchmark.json +fd2bf8b72f80d1946577d9fdfa852358525937dbde41279318a6372847664618 current-1/branch_read/branches_64/1/new/estimates.json +04f4b5edf5abc7442504948cd6afd5d7959d23fb17621c953df13f4b790ae4cf current-1/branch_read/branches_64/1/new/sample.json +ad3841e6a33b79b0d01080ed800039df5d3226a9ed74d42b0d4488c3e09d2e5d current-1/branch_read/branches_64/1/new/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 current-1/branch_read/branches_64/1000/base/benchmark.json +e45945a4c3ff3dd9913e9298d44a8fb0929ee198c5f63eede941d04352f591b0 current-1/branch_read/branches_64/1000/base/estimates.json +92a539fcdeb0f19b7d3a5bd95e06a1eb2a36e0ea299794a42ecd45a27824478a current-1/branch_read/branches_64/1000/base/sample.json +3fe465f54135fb92adee73f404c93b8bd58c1e303beabce74d4a7fc72bc5ceed current-1/branch_read/branches_64/1000/base/tukey.json +edaad323a84da9eef6ec8272567da2309786a78203a6310a13d1a97d27d97860 current-1/branch_read/branches_64/1000/new/benchmark.json +e45945a4c3ff3dd9913e9298d44a8fb0929ee198c5f63eede941d04352f591b0 current-1/branch_read/branches_64/1000/new/estimates.json +92a539fcdeb0f19b7d3a5bd95e06a1eb2a36e0ea299794a42ecd45a27824478a current-1/branch_read/branches_64/1000/new/sample.json +3fe465f54135fb92adee73f404c93b8bd58c1e303beabce74d4a7fc72bc5ceed current-1/branch_read/branches_64/1000/new/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 current-1/branch_write/branches_1/1/base/benchmark.json +d888e2c40c2efdf80526ca88648211ce396d9c8c54540499631456cd5b78c9bf current-1/branch_write/branches_1/1/base/estimates.json +405ea35b1f5365c379158731f2b2e57048d2d4345b8de9087749f85804c33641 current-1/branch_write/branches_1/1/base/sample.json +2771dfbc616ee539216ec1a54c4c5e354890fd289a884d4884d6a1aba65f3ff8 current-1/branch_write/branches_1/1/base/tukey.json +77381c9e00a4d4c533e06c6bc7aa6494566322547024399eeda337e047d35a81 current-1/branch_write/branches_1/1/new/benchmark.json +d888e2c40c2efdf80526ca88648211ce396d9c8c54540499631456cd5b78c9bf current-1/branch_write/branches_1/1/new/estimates.json +405ea35b1f5365c379158731f2b2e57048d2d4345b8de9087749f85804c33641 current-1/branch_write/branches_1/1/new/sample.json +2771dfbc616ee539216ec1a54c4c5e354890fd289a884d4884d6a1aba65f3ff8 current-1/branch_write/branches_1/1/new/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a current-1/branch_write/branches_16/1/base/benchmark.json +4e53d57a95d04edcc6d56f1478061bb38d20669ea9598f1e295027d0ebe43189 current-1/branch_write/branches_16/1/base/estimates.json +aabb1acd4efba88c22960e5d014829f3741c1ca02090783e49288b6ae3f4a6bc current-1/branch_write/branches_16/1/base/sample.json +62141c523d48687ba1efeb1d945ca3ff523de2fc5d7bc39c5e911dd99e2dc2bc current-1/branch_write/branches_16/1/base/tukey.json +e0a17b4a99bb1ea5975a7ed1f96c4ec4bd9df7aaf4d8112b011d10950a02c12a current-1/branch_write/branches_16/1/new/benchmark.json +4e53d57a95d04edcc6d56f1478061bb38d20669ea9598f1e295027d0ebe43189 current-1/branch_write/branches_16/1/new/estimates.json +aabb1acd4efba88c22960e5d014829f3741c1ca02090783e49288b6ae3f4a6bc current-1/branch_write/branches_16/1/new/sample.json +62141c523d48687ba1efeb1d945ca3ff523de2fc5d7bc39c5e911dd99e2dc2bc current-1/branch_write/branches_16/1/new/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f current-1/branch_write/branches_256/1/base/benchmark.json +50d8aee6e926c2e8dcc8262cb12a5077809a06c8d02ddf058d087a76d004e1d4 current-1/branch_write/branches_256/1/base/estimates.json +7a7a70deb0cda18620a9bb55c47a92dfc0eddae0386d4566548b84c9b152beb8 current-1/branch_write/branches_256/1/base/sample.json +0ac44da1c79d27698bbee1fa5387b8563a3f5ac65415854dfe5a1bea396192d9 current-1/branch_write/branches_256/1/base/tukey.json +ab8627f21a2424359f09b307f5d501147bb2a91ddd6430d4cc8412a28c2fc47f current-1/branch_write/branches_256/1/new/benchmark.json +50d8aee6e926c2e8dcc8262cb12a5077809a06c8d02ddf058d087a76d004e1d4 current-1/branch_write/branches_256/1/new/estimates.json +7a7a70deb0cda18620a9bb55c47a92dfc0eddae0386d4566548b84c9b152beb8 current-1/branch_write/branches_256/1/new/sample.json +0ac44da1c79d27698bbee1fa5387b8563a3f5ac65415854dfe5a1bea396192d9 current-1/branch_write/branches_256/1/new/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af current-1/branch_write/branches_64/1/base/benchmark.json +ab8ecb53191d14674b783b8ac753c14f8716f19d65b7075fe6971e1b1f3ccf44 current-1/branch_write/branches_64/1/base/estimates.json +d08c8e39b6fb218f761e3892665abd31358a0d8978b58486c0ae1df721d2570e current-1/branch_write/branches_64/1/base/sample.json +7b2f5b6717139e29331753fd372da4f9ec0a0b46a63de8e0cabdf3cb5c981cbc current-1/branch_write/branches_64/1/base/tukey.json +33a374dc27e26d0a8246ddcbbda7c08ea7a4ace169c0d17bb2283d668e8f40af current-1/branch_write/branches_64/1/new/benchmark.json +ab8ecb53191d14674b783b8ac753c14f8716f19d65b7075fe6971e1b1f3ccf44 current-1/branch_write/branches_64/1/new/estimates.json +d08c8e39b6fb218f761e3892665abd31358a0d8978b58486c0ae1df721d2570e current-1/branch_write/branches_64/1/new/sample.json +7b2f5b6717139e29331753fd372da4f9ec0a0b46a63de8e0cabdf3cb5c981cbc current-1/branch_write/branches_64/1/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/criterion-results.tar.gz new file mode 100644 index 0000000..4d42d39 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current-0.txt new file mode 100644 index 0000000..1b13ef7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current-0.txt @@ -0,0 +1,123 @@ +memcap: <=7733 MiB (60% of 12888 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_read/branches_1/1 +Benchmarking branch_read/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1: Collecting 50 samples in estimated 2.0000 s (3.2M iterations) +Benchmarking branch_read/branches_1/1: Analyzing +branch_read/branches_1/1 + time: [620.85 ns 624.71 ns 629.15 ns] + thrpt: [34.864 MiB/s 35.111 MiB/s 35.330 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 3 (6.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_read/branches_1/1000 +Benchmarking branch_read/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1000: Collecting 50 samples in estimated 2.0023 s (6750 iterations) +Benchmarking branch_read/branches_1/1000: Analyzing +branch_read/branches_1/1000 + time: [291.52 µs 292.46 µs 293.54 µs] + thrpt: [38.671 MiB/s 38.815 MiB/s 38.939 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_read/branches_16/1 +Benchmarking branch_read/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_16/1: Analyzing +branch_read/branches_16/1 + time: [647.09 ns 653.76 ns 662.14 ns] + thrpt: [33.126 MiB/s 33.552 MiB/s 33.897 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_16/1000 +Benchmarking branch_read/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1000: Collecting 50 samples in estimated 2.0036 s (6400 iterations) +Benchmarking branch_read/branches_16/1000: Analyzing +branch_read/branches_16/1000 + time: [312.06 µs 314.45 µs 317.38 µs] + thrpt: [38.002 MiB/s 38.356 MiB/s 38.650 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_read/branches_64/1 +Benchmarking branch_read/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_64/1: Analyzing +branch_read/branches_64/1 + time: [634.56 ns 636.78 ns 639.60 ns] + thrpt: [34.294 MiB/s 34.446 MiB/s 34.567 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_read/branches_64/1000 +Benchmarking branch_read/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1000: Collecting 50 samples in estimated 2.0136 s (5900 iterations) +Benchmarking branch_read/branches_64/1000: Analyzing +branch_read/branches_64/1000 + time: [338.38 µs 341.01 µs 344.64 µs] + thrpt: [37.587 MiB/s 37.986 MiB/s 38.282 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_read/branches_256/1 +Benchmarking branch_read/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1: Collecting 50 samples in estimated 2.0000 s (3.1M iterations) +Benchmarking branch_read/branches_256/1: Analyzing +branch_read/branches_256/1 + time: [652.12 ns 659.57 ns 669.03 ns] + thrpt: [32.786 MiB/s 33.256 MiB/s 33.636 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 2 (4.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_read/branches_256/1000 +Benchmarking branch_read/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1000: Collecting 50 samples in estimated 2.0078 s (4850 iterations) +Benchmarking branch_read/branches_256/1000: Analyzing +branch_read/branches_256/1000 + time: [406.78 µs 408.54 µs 411.13 µs] + thrpt: [34.848 MiB/s 35.069 MiB/s 35.221 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe + +Benchmarking branch_write/branches_1/1 +Benchmarking branch_write/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1: Collecting 50 samples in estimated 2.0000 s (17M iterations) +Benchmarking branch_write/branches_1/1: Analyzing +branch_write/branches_1/1 + time: [116.97 ns 119.34 ns 123.39 ns] + thrpt: [177.76 MiB/s 183.80 MiB/s 187.52 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_16/1 +Benchmarking branch_write/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1: Collecting 50 samples in estimated 2.0000 s (16M iterations) +Benchmarking branch_write/branches_16/1: Analyzing +branch_write/branches_16/1 + time: [123.68 ns 124.45 ns 125.41 ns] + thrpt: [174.90 MiB/s 176.25 MiB/s 177.34 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_64/1 +Benchmarking branch_write/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1: Collecting 50 samples in estimated 2.0000 s (13M iterations) +Benchmarking branch_write/branches_64/1: Analyzing +branch_write/branches_64/1 + time: [147.75 ns 148.78 ns 150.06 ns] + thrpt: [146.17 MiB/s 147.43 MiB/s 148.45 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_256/1 +Benchmarking branch_write/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1: Collecting 50 samples in estimated 2.0000 s (9.4M iterations) +Benchmarking branch_write/branches_256/1: Analyzing +branch_write/branches_256/1 + time: [213.03 ns 214.15 ns 215.47 ns] + thrpt: [101.80 MiB/s 102.43 MiB/s 102.96 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current-1.txt new file mode 100644 index 0000000..11e8696 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current-1.txt @@ -0,0 +1,123 @@ +memcap: <=7731 MiB (60% of 12885 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_read/branches_1/1 +Benchmarking branch_read/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_1/1: Analyzing +branch_read/branches_1/1 + time: [623.62 ns 627.89 ns 633.14 ns] + thrpt: [34.644 MiB/s 34.934 MiB/s 35.173 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_1/1000 +Benchmarking branch_read/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_1/1000: Collecting 50 samples in estimated 2.0008 s (6850 iterations) +Benchmarking branch_read/branches_1/1000: Analyzing +branch_read/branches_1/1000 + time: [292.43 µs 298.30 µs 307.55 µs] + thrpt: [36.910 MiB/s 38.054 MiB/s 38.818 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_16/1 +Benchmarking branch_read/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_16/1: Analyzing +branch_read/branches_16/1 + time: [649.41 ns 653.22 ns 659.78 ns] + thrpt: [33.245 MiB/s 33.579 MiB/s 33.776 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_read/branches_16/1000 +Benchmarking branch_read/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_16/1000: Collecting 50 samples in estimated 2.0011 s (6250 iterations) +Benchmarking branch_read/branches_16/1000: Analyzing +branch_read/branches_16/1000 + time: [313.28 µs 320.73 µs 330.88 µs] + thrpt: [36.452 MiB/s 37.606 MiB/s 38.500 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_64/1 +Benchmarking branch_read/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1: Collecting 50 samples in estimated 2.0000 s (3.0M iterations) +Benchmarking branch_read/branches_64/1: Analyzing +branch_read/branches_64/1 + time: [647.69 ns 651.31 ns 655.68 ns] + thrpt: [33.453 MiB/s 33.677 MiB/s 33.866 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_read/branches_64/1000 +Benchmarking branch_read/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_64/1000: Collecting 50 samples in estimated 2.0136 s (5950 iterations) +Benchmarking branch_read/branches_64/1000: Analyzing +branch_read/branches_64/1000 + time: [338.14 µs 339.67 µs 341.57 µs] + thrpt: [37.924 MiB/s 38.136 MiB/s 38.308 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_read/branches_256/1 +Benchmarking branch_read/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1: Collecting 50 samples in estimated 2.0000 s (3.2M iterations) +Benchmarking branch_read/branches_256/1: Analyzing +branch_read/branches_256/1 + time: [622.42 ns 624.64 ns 627.35 ns] + thrpt: [34.963 MiB/s 35.115 MiB/s 35.241 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 4 (8.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_read/branches_256/1000 +Benchmarking branch_read/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_read/branches_256/1000: Collecting 50 samples in estimated 2.0039 s (4850 iterations) +Benchmarking branch_read/branches_256/1000: Analyzing +branch_read/branches_256/1000 + time: [419.26 µs 444.61 µs 476.54 µs] + thrpt: [30.065 MiB/s 32.224 MiB/s 34.173 MiB/s] +Found 10 outliers among 50 measurements (20.00%) + 2 (4.00%) high mild + 8 (16.00%) high severe + +Benchmarking branch_write/branches_1/1 +Benchmarking branch_write/branches_1/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1: Collecting 50 samples in estimated 2.0000 s (17M iterations) +Benchmarking branch_write/branches_1/1: Analyzing +branch_write/branches_1/1 + time: [117.06 ns 117.49 ns 118.03 ns] + thrpt: [185.85 MiB/s 186.69 MiB/s 187.37 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_16/1 +Benchmarking branch_write/branches_16/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1: Collecting 50 samples in estimated 2.0000 s (16M iterations) +Benchmarking branch_write/branches_16/1: Analyzing +branch_write/branches_16/1 + time: [123.25 ns 123.82 ns 124.63 ns] + thrpt: [175.99 MiB/s 177.16 MiB/s 177.96 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 6 (12.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_64/1 +Benchmarking branch_write/branches_64/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1: Collecting 50 samples in estimated 2.0000 s (14M iterations) +Benchmarking branch_write/branches_64/1: Analyzing +branch_write/branches_64/1 + time: [147.49 ns 150.67 ns 154.80 ns] + thrpt: [141.70 MiB/s 145.58 MiB/s 148.72 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_write/branches_256/1 +Benchmarking branch_write/branches_256/1: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1: Collecting 50 samples in estimated 2.0000 s (9.3M iterations) +Benchmarking branch_write/branches_256/1: Analyzing +branch_write/branches_256/1 + time: [214.30 ns 218.06 ns 223.33 ns] + thrpt: [98.215 MiB/s 100.59 MiB/s 102.35 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current-build.txt new file mode 100644 index 0000000..4ba2b44 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7656 MiB (60% of 12760 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.72s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/harness.rs new file mode 100644 index 0000000..29b2c6a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [1, 16, 64, 256] { + for count in [1, 1000] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/metadata.json new file mode 100644 index 0000000..6a69e1a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "d3bf1728be1d265b6b5d317946492cec9b4a6f8c" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_read/|^branch_write/.*/1$", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/summary.json new file mode 100644 index 0000000..e20e90a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-controls/summary.json @@ -0,0 +1,626 @@ +{ + "branch_read/branches_1/1": { + "baseline_ns": 621.2626734532653, + "candidate_ns": 626.3000290817656, + "delta_percent": 0.8108254114963076, + "speedup": 0.9919569608899975, + "process_deltas_percent": [ + 0.8791432976396729, + 0.7429450082029554 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 616.7728294674785, + "upper_bound": 623.171069907542 + }, + "point_estimate": 619.2671141393643, + "standard_error": 1.708072935537374 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 620.7930670725661, + "upper_bound": 626.1861704034764 + }, + "point_estimate": 623.2582327671664, + "standard_error": 1.3787969575994248 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 620.8478306882078, + "upper_bound": 629.146614571949 + }, + "point_estimate": 624.711359467807, + "standard_error": 2.126262416798395 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 623.6182743189698, + "upper_bound": 633.1411067607727 + }, + "point_estimate": 627.8886986957241, + "standard_error": 2.4534354437321158 + } + ] + } + }, + "branch_read/branches_1/1000": { + "baseline_ns": 293532.28838305303, + "candidate_ns": 295377.209394431, + "delta_percent": 0.628524044676948, + "speedup": 0.9937540170578485, + "process_deltas_percent": [ + -0.5964965256993304, + 1.8592203810329 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 290754.89803284674, + "upper_bound": 298536.4166751823 + }, + "point_estimate": 294210.7137226278, + "standard_error": 1999.6249965399838 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 291031.3183514492, + "upper_bound": 294941.77353623195 + }, + "point_estimate": 292853.8630434783, + "standard_error": 1004.2749393909295 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 291521.67791111115, + "upper_bound": 293539.98896296305 + }, + "point_estimate": 292455.7570370371, + "standard_error": 514.8245301872504 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 292428.56820437964, + "upper_bound": 307548.0928430657 + }, + "point_estimate": 298298.6617518248, + "standard_error": 4028.44658001879 + } + ] + } + }, + "branch_read/branches_16/1": { + "baseline_ns": 655.1625369229655, + "candidate_ns": 653.4882700125925, + "delta_percent": -0.25554985458057233, + "speedup": 1.0025620458502504, + "process_deltas_percent": [ + 0.41009802407654394, + -0.9129637498845433 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 643.377204966909, + "upper_bound": 662.6422324307057 + }, + "point_estimate": 651.0851782320947, + "standard_error": 5.106554443245894 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 648.1912725386588, + "upper_bound": 676.4054616413267 + }, + "point_estimate": 659.2398956138363, + "standard_error": 7.52829375416623 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 647.0885865987653, + "upper_bound": 662.1439498108696 + }, + "point_estimate": 653.7552656830798, + "standard_error": 3.869785361627046 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 649.405689736842, + "upper_bound": 659.7828377055922 + }, + "point_estimate": 653.2212743421053, + "standard_error": 2.9521472426332487 + } + ] + } + }, + "branch_read/branches_16/1000": { + "baseline_ns": 312992.6740310077, + "candidate_ns": 317587.638806875, + "delta_percent": 1.4680742257283885, + "speedup": 0.9855316636594238, + "process_deltas_percent": [ + 0.5964040497971501, + 2.3374712172489875 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 311232.3634263565, + "upper_bound": 314164.4325232558 + }, + "point_estimate": 312584.0223255814, + "standard_error": 753.4169033608534 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 311226.05862403096, + "upper_bound": 316003.55384108523 + }, + "point_estimate": 313401.325736434, + "standard_error": 1227.1787336980406 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 312057.90386328124, + "upper_bound": 317381.3099257813 + }, + "point_estimate": 314448.28609375, + "standard_error": 1368.2347267794653 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 313279.5014000001, + "upper_bound": 330875.35062800004 + }, + "point_estimate": 320726.9915199999, + "standard_error": 4552.204197925989 + } + ] + } + }, + "branch_read/branches_256/1": { + "baseline_ns": 648.1686440172707, + "candidate_ns": 642.1041393930634, + "delta_percent": -0.9356368408413362, + "speedup": 1.0094447368458637, + "process_deltas_percent": [ + 3.4701846268862413, + -5.198048288810686 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 628.4661283471257, + "upper_bound": 648.8275579748907 + }, + "point_estimate": 637.4451345143325, + "standard_error": 5.2372231035930605 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 652.2393992177315, + "upper_bound": 666.8237260267274 + }, + "point_estimate": 658.8921535202088, + "standard_error": 3.739578835251204 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 652.1218061861013, + "upper_bound": 669.0266060289374 + }, + "point_estimate": 659.5656575770831, + "standard_error": 4.346933522665599 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 622.4152067780192, + "upper_bound": 627.3546009281104 + }, + "point_estimate": 624.6426212090437, + "standard_error": 1.2669321970288319 + } + ] + } + }, + "branch_read/branches_256/1000": { + "baseline_ns": 415068.0208333334, + "candidate_ns": 426574.5479381443, + "delta_percent": 2.772202754071307, + "speedup": 0.9730257532700253, + "process_deltas_percent": [ + -1.6156823108545382, + 7.163928983354451 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 413265.2369322917, + "upper_bound": 417772.1065520832 + }, + "point_estimate": 415249.61708333343, + "standard_error": 1160.6706693718004 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 412208.9461718748, + "upper_bound": 418317.33622916666 + }, + "point_estimate": 414886.42458333337, + "standard_error": 1573.2134598461307 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 406779.65070618567, + "upper_bound": 411128.76375773206 + }, + "point_estimate": 408540.5024742268, + "standard_error": 1141.7679741299075 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 419255.71247938153, + "upper_bound": 476541.62586597935 + }, + "point_estimate": 444608.5934020618, + "standard_error": 14741.286317479138 + } + ] + } + }, + "branch_read/branches_64/1": { + "baseline_ns": 654.643772079949, + "candidate_ns": 644.0457150159441, + "delta_percent": -1.618904435664692, + "speedup": 1.0164554422409946, + "process_deltas_percent": [ + -2.8336226820513732, + -0.4015637820403706 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 651.3398020828139, + "upper_bound": 660.4185338353363 + }, + "point_estimate": 655.3496524210843, + "standard_error": 2.336934552012838 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 646.1275949105916, + "upper_bound": 663.9974454324783 + }, + "point_estimate": 653.9378917388138, + "standard_error": 4.605121671680476 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 634.5551172300808, + "upper_bound": 639.6001745464716 + }, + "point_estimate": 636.7795160233356, + "standard_error": 1.2933304271299721 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 647.6920678796653, + "upper_bound": 655.6785788948237 + }, + "point_estimate": 651.3119140085524, + "standard_error": 2.0553625314496835 + } + ] + } + }, + "branch_read/branches_64/1000": { + "baseline_ns": 343793.4409401709, + "candidate_ns": 340344.41945734224, + "delta_percent": -1.0032249229062207, + "speedup": 1.0101339151919337, + "process_deltas_percent": [ + -0.9754398447921697, + -1.0311040186357312 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 342346.78429914534, + "upper_bound": 346654.8064529914 + }, + "point_estimate": 344374.1131623932, + "standard_error": 1103.426806418831 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 341330.3600427351, + "upper_bound": 345599.4972008547 + }, + "point_estimate": 343212.76871794864, + "standard_error": 1098.203553185248 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 338380.6821398305, + "upper_bound": 344637.87316949153 + }, + "point_estimate": 341014.95084745757, + "standard_error": 1621.106010976316 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 338143.94256302516, + "upper_bound": 341573.915067227 + }, + "point_estimate": 339673.8880672269, + "standard_error": 879.0434237242715 + } + ] + } + }, + "branch_write/branches_1/1": { + "baseline_ns": 114.49625125821106, + "candidate_ns": 118.41666766974066, + "delta_percent": 3.424056568182565, + "speedup": 0.9668930355103094, + "process_deltas_percent": [ + 2.7417675406800956, + 4.126431092907534 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 114.93476470747564, + "upper_bound": 117.67513327250953 + }, + "point_estimate": 116.15709813537093, + "standard_error": 0.7040501013147876 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 112.43529073049766, + "upper_bound": 113.3435868764858 + }, + "point_estimate": 112.83540438105119, + "standard_error": 0.2340511463972858 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 116.97394018937044, + "upper_bound": 123.39110183729886 + }, + "point_estimate": 119.34185574824247, + "standard_error": 1.8001936692145135 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 117.06479282001851, + "upper_bound": 118.02574891598599 + }, + "point_estimate": 117.49147959123884, + "standard_error": 0.24781280701205033 + } + ] + } + }, + "branch_write/branches_16/1": { + "baseline_ns": 121.32950035058599, + "candidate_ns": 124.13485630108214, + "delta_percent": 2.3121795955558744, + "speedup": 0.9774007395336898, + "process_deltas_percent": [ + 1.2188336720854398, + 3.435238047283762 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 120.95161585636886, + "upper_bound": 125.75806751630813 + }, + "point_estimate": 122.95601140063191, + "standard_error": 1.2473810960868463 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 119.13863545540295, + "upper_bound": 120.44045339787449 + }, + "point_estimate": 119.70298930054008, + "standard_error": 0.33486007918147753 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 123.68344547762193, + "upper_bound": 125.41400913167944 + }, + "point_estimate": 124.45464066943602, + "standard_error": 0.4455444026894515 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 123.25337462465491, + "upper_bound": 124.63466801485544 + }, + "point_estimate": 123.81507193272826, + "standard_error": 0.3643685782083857 + } + ] + } + }, + "branch_write/branches_256/1": { + "baseline_ns": 210.3804773361569, + "candidate_ns": 216.10375294160815, + "delta_percent": 2.7204404505206448, + "speedup": 0.973516074905938, + "process_deltas_percent": [ + 1.186874797148052, + 4.272412359742805 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 211.21049006643776, + "upper_bound": 212.0872794636839 + }, + "point_estimate": 211.63546672229887, + "standard_error": 0.22400229638873137 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 208.23799090406763, + "upper_bound": 210.19923105368295 + }, + "point_estimate": 209.1254879500149, + "standard_error": 0.5016862375371739 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 213.03117933522768, + "upper_bound": 215.47137504673597 + }, + "point_estimate": 214.14731473865248, + "standard_error": 0.6247411397668804 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 214.30408819007317, + "upper_bound": 223.33076679077493 + }, + "point_estimate": 218.0601911445638, + "standard_error": 2.3641373485893333 + } + ] + } + }, + "branch_write/branches_64/1": { + "baseline_ns": 143.70745391987796, + "candidate_ns": 149.72566072647766, + "delta_percent": 4.187818128038834, + "speedup": 0.9598051077056597, + "process_deltas_percent": [ + 2.9995763971553124, + 5.388397864105765 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 143.8136168810845, + "upper_bound": 145.34974567009365 + }, + "point_estimate": 144.44968741697755, + "standard_error": 0.40148239806589314 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142.00757478415758, + "upper_bound": 144.27365250195393 + }, + "point_estimate": 142.96522042277837, + "standard_error": 0.585080486667158 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 147.7540054324574, + "upper_bound": 150.06113382797776 + }, + "point_estimate": 148.78256614650184, + "standard_error": 0.5927280004955837 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 147.4880280498484, + "upper_bound": 154.79554396459042 + }, + "point_estimate": 150.66875530645345, + "standard_error": 1.8837968277558936 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline-0.txt new file mode 100644 index 0000000..683a2f2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline-0.txt @@ -0,0 +1,65 @@ +memcap: <=7651 MiB (60% of 12751 MiB available) [systemd MemoryMax, swap off] +Benchmarking deserialization/sensor_micro +Benchmarking deserialization/sensor_micro: Warming up for 1.0000 s +Benchmarking deserialization/sensor_micro: Collecting 50 samples in estimated 2.0003 s (2.1M iterations) +Benchmarking deserialization/sensor_micro: Analyzing +deserialization/sensor_micro + time: [966.46 ns 973.68 ns 982.61 ns] + thrpt: [91.232 MiB/s 92.069 MiB/s 92.757 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking deserialization/catalog_items/1000 +Benchmarking deserialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/1000: Collecting 50 samples in estimated 2.0276 s (2550 iterations) +Benchmarking deserialization/catalog_items/1000: Analyzing +deserialization/catalog_items/1000 + time: [786.08 µs 795.64 µs 807.90 µs] + thrpt: [75.443 MiB/s 76.606 MiB/s 77.537 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking deserialization/catalog_items/10000 +Benchmarking deserialization/catalog_items/10000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/10000: Collecting 50 samples in estimated 2.3815 s (300 iterations) +Benchmarking deserialization/catalog_items/10000: Analyzing +deserialization/catalog_items/10000 + time: [7.8400 ms 7.9007 ms 7.9793 ms] + thrpt: [79.947 MiB/s 80.742 MiB/s 81.368 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe + +Benchmarking serialization/sensor_micro +Benchmarking serialization/sensor_micro: Warming up for 1.0000 s +Benchmarking serialization/sensor_micro: Collecting 50 samples in estimated 2.0001 s (8.8M iterations) +Benchmarking serialization/sensor_micro: Analyzing +serialization/sensor_micro + time: [224.90 ns 227.36 ns 230.53 ns] + thrpt: [388.87 MiB/s 394.29 MiB/s 398.59 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe +Benchmarking serialization/catalog_items/1000 +Benchmarking serialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking serialization/catalog_items/1000: Collecting 50 samples in estimated 2.0514 s (11k iterations) +Benchmarking serialization/catalog_items/1000: Analyzing +serialization/catalog_items/1000 + time: [175.78 µs 176.30 µs 176.94 µs] + thrpt: [341.77 MiB/s 343.01 MiB/s 344.02 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking serialization/catalog_items/10000 +Benchmarking serialization/catalog_items/10000: Warming up for 1.0000 s + +Warning: Unable to complete 50 samples in 2.0s. You may wish to increase target time to 2.3s, enable flat sampling, or reduce sample count to 30. +Benchmarking serialization/catalog_items/10000: Collecting 50 samples in estimated 2.2850 s (1275 iterations) +Benchmarking serialization/catalog_items/10000: Analyzing +serialization/catalog_items/10000 + time: [1.7790 ms 1.7910 ms 1.8060 ms] + thrpt: [350.58 MiB/s 353.52 MiB/s 355.91 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline-1.txt new file mode 100644 index 0000000..efa6986 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline-1.txt @@ -0,0 +1,65 @@ +memcap: <=7709 MiB (60% of 12848 MiB available) [systemd MemoryMax, swap off] +Benchmarking deserialization/sensor_micro +Benchmarking deserialization/sensor_micro: Warming up for 1.0000 s +Benchmarking deserialization/sensor_micro: Collecting 50 samples in estimated 2.0008 s (2.0M iterations) +Benchmarking deserialization/sensor_micro: Analyzing +deserialization/sensor_micro + time: [972.84 ns 986.27 ns 1.0025 µs] + thrpt: [89.423 MiB/s 90.893 MiB/s 92.148 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 4 (8.00%) high mild + 3 (6.00%) high severe +Benchmarking deserialization/catalog_items/1000 +Benchmarking deserialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/1000: Collecting 50 samples in estimated 2.9921 s (3825 iterations) +Benchmarking deserialization/catalog_items/1000: Analyzing +deserialization/catalog_items/1000 + time: [783.84 µs 791.36 µs 800.48 µs] + thrpt: [76.142 MiB/s 77.020 MiB/s 77.758 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe +Benchmarking deserialization/catalog_items/10000 +Benchmarking deserialization/catalog_items/10000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/10000: Collecting 50 samples in estimated 2.3717 s (300 iterations) +Benchmarking deserialization/catalog_items/10000: Analyzing +deserialization/catalog_items/10000 + time: [7.8609 ms 7.8908 ms 7.9271 ms] + thrpt: [80.474 MiB/s 80.844 MiB/s 81.151 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe + +Benchmarking serialization/sensor_micro +Benchmarking serialization/sensor_micro: Warming up for 1.0000 s +Benchmarking serialization/sensor_micro: Collecting 50 samples in estimated 2.0003 s (8.8M iterations) +Benchmarking serialization/sensor_micro: Analyzing +serialization/sensor_micro + time: [226.79 ns 229.21 ns 232.49 ns] + thrpt: [385.58 MiB/s 391.10 MiB/s 395.28 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking serialization/catalog_items/1000 +Benchmarking serialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking serialization/catalog_items/1000: Collecting 50 samples in estimated 2.0327 s (11k iterations) +Benchmarking serialization/catalog_items/1000: Analyzing +serialization/catalog_items/1000 + time: [175.95 µs 176.43 µs 176.96 µs] + thrpt: [341.73 MiB/s 342.76 MiB/s 343.70 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe +Benchmarking serialization/catalog_items/10000 +Benchmarking serialization/catalog_items/10000: Warming up for 1.0000 s + +Warning: Unable to complete 50 samples in 2.0s. You may wish to increase target time to 2.3s, enable flat sampling, or reduce sample count to 30. +Benchmarking serialization/catalog_items/10000: Collecting 50 samples in estimated 2.2996 s (1275 iterations) +Benchmarking serialization/catalog_items/10000: Analyzing +serialization/catalog_items/10000 + time: [1.7784 ms 1.7857 ms 1.7943 ms] + thrpt: [352.87 MiB/s 354.58 MiB/s 356.02 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 5 (10.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline-build.txt new file mode 100644 index 0000000..023b6a3 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7710 MiB (60% of 12851 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.56s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/criterion-SHA256SUMS new file mode 100644 index 0000000..9bc986f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/criterion-SHA256SUMS @@ -0,0 +1,192 @@ +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 baseline-0/deserialization/catalog_items/1000/base/benchmark.json +163b42350a4b87aaac03634614b67b5fb70a709df0315b7ab871a89c5966b067 baseline-0/deserialization/catalog_items/1000/base/estimates.json +d88f198a415e5438ab92f087e9e424f9130b21eeffab926ef081e076c74fd821 baseline-0/deserialization/catalog_items/1000/base/sample.json +a839f04f0250bd56b1c2e4dfea47d2d424756ed64b6004a879b196c22bec27b3 baseline-0/deserialization/catalog_items/1000/base/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 baseline-0/deserialization/catalog_items/1000/new/benchmark.json +163b42350a4b87aaac03634614b67b5fb70a709df0315b7ab871a89c5966b067 baseline-0/deserialization/catalog_items/1000/new/estimates.json +d88f198a415e5438ab92f087e9e424f9130b21eeffab926ef081e076c74fd821 baseline-0/deserialization/catalog_items/1000/new/sample.json +a839f04f0250bd56b1c2e4dfea47d2d424756ed64b6004a879b196c22bec27b3 baseline-0/deserialization/catalog_items/1000/new/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d baseline-0/deserialization/catalog_items/10000/base/benchmark.json +33fc10a4e52868edb1527d86c7dcf9152b3475316748d2b50db222b71b329302 baseline-0/deserialization/catalog_items/10000/base/estimates.json +d7dcf5e45c3ecdfd98b22198a44758e14d63579e47dc74eac4811dd6c96ebc2d baseline-0/deserialization/catalog_items/10000/base/sample.json +7b966770b46abc1deafdad0cd43d3fcb8667741f6b16acae1d2c894fc774e469 baseline-0/deserialization/catalog_items/10000/base/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d baseline-0/deserialization/catalog_items/10000/new/benchmark.json +33fc10a4e52868edb1527d86c7dcf9152b3475316748d2b50db222b71b329302 baseline-0/deserialization/catalog_items/10000/new/estimates.json +d7dcf5e45c3ecdfd98b22198a44758e14d63579e47dc74eac4811dd6c96ebc2d baseline-0/deserialization/catalog_items/10000/new/sample.json +7b966770b46abc1deafdad0cd43d3fcb8667741f6b16acae1d2c894fc774e469 baseline-0/deserialization/catalog_items/10000/new/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 baseline-0/deserialization/sensor_micro/base/benchmark.json +2ca9e0f4b0fc5236186e4571c620a28d2b503b21bd6d8cda64d982727af9bc83 baseline-0/deserialization/sensor_micro/base/estimates.json +e8160bffc2d6153e553befa45489cfa6f14ec088d0251171d4af119992213517 baseline-0/deserialization/sensor_micro/base/sample.json +324b320cb03d9f23042c4657afdea2ec7c24d8e3c31a2da01d2f677fa62661ec baseline-0/deserialization/sensor_micro/base/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 baseline-0/deserialization/sensor_micro/new/benchmark.json +2ca9e0f4b0fc5236186e4571c620a28d2b503b21bd6d8cda64d982727af9bc83 baseline-0/deserialization/sensor_micro/new/estimates.json +e8160bffc2d6153e553befa45489cfa6f14ec088d0251171d4af119992213517 baseline-0/deserialization/sensor_micro/new/sample.json +324b320cb03d9f23042c4657afdea2ec7c24d8e3c31a2da01d2f677fa62661ec baseline-0/deserialization/sensor_micro/new/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 baseline-0/serialization/catalog_items/1000/base/benchmark.json +e78511e40dd3d763f8441e4f4fb618a5a51cefe3a7d80a8f71a1846f67de7ae5 baseline-0/serialization/catalog_items/1000/base/estimates.json +6582cc671ead962d23031466d905ec56b6fb5862c43a20e079c6dfe9155315aa baseline-0/serialization/catalog_items/1000/base/sample.json +2d45df1ce9da1304c639956c1ad45d89f7b05f6ccd084f8965e30aa36f1eab67 baseline-0/serialization/catalog_items/1000/base/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 baseline-0/serialization/catalog_items/1000/new/benchmark.json +e78511e40dd3d763f8441e4f4fb618a5a51cefe3a7d80a8f71a1846f67de7ae5 baseline-0/serialization/catalog_items/1000/new/estimates.json +6582cc671ead962d23031466d905ec56b6fb5862c43a20e079c6dfe9155315aa baseline-0/serialization/catalog_items/1000/new/sample.json +2d45df1ce9da1304c639956c1ad45d89f7b05f6ccd084f8965e30aa36f1eab67 baseline-0/serialization/catalog_items/1000/new/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd baseline-0/serialization/catalog_items/10000/base/benchmark.json +eef90fb3095ae63797b30b0fd9e9a5510bae6d53944782b60d52d74360849ebe baseline-0/serialization/catalog_items/10000/base/estimates.json +dcd0577006cb7ca5f5d77ed6ced58a39f88db89a3723706ec0bb02e7bd61f99d baseline-0/serialization/catalog_items/10000/base/sample.json +34419f0c01849a38f56e161f1c517e318ab2fbad79cc076c51242d914cfa6368 baseline-0/serialization/catalog_items/10000/base/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd baseline-0/serialization/catalog_items/10000/new/benchmark.json +eef90fb3095ae63797b30b0fd9e9a5510bae6d53944782b60d52d74360849ebe baseline-0/serialization/catalog_items/10000/new/estimates.json +dcd0577006cb7ca5f5d77ed6ced58a39f88db89a3723706ec0bb02e7bd61f99d baseline-0/serialization/catalog_items/10000/new/sample.json +34419f0c01849a38f56e161f1c517e318ab2fbad79cc076c51242d914cfa6368 baseline-0/serialization/catalog_items/10000/new/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 baseline-0/serialization/sensor_micro/base/benchmark.json +94923d65b3b4b57d4ec2a30e1fa3eb611151f314b915a373a3e60b70faff3960 baseline-0/serialization/sensor_micro/base/estimates.json +00add2aebaf83f8ec78c942445b6cd6b5373b5c3299080d240ebc900519eb778 baseline-0/serialization/sensor_micro/base/sample.json +a5f1d8ecae28e93b9470306147e3594958c07513b9bf5554055ce766ba3e323c baseline-0/serialization/sensor_micro/base/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 baseline-0/serialization/sensor_micro/new/benchmark.json +94923d65b3b4b57d4ec2a30e1fa3eb611151f314b915a373a3e60b70faff3960 baseline-0/serialization/sensor_micro/new/estimates.json +00add2aebaf83f8ec78c942445b6cd6b5373b5c3299080d240ebc900519eb778 baseline-0/serialization/sensor_micro/new/sample.json +a5f1d8ecae28e93b9470306147e3594958c07513b9bf5554055ce766ba3e323c baseline-0/serialization/sensor_micro/new/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 baseline-1/deserialization/catalog_items/1000/base/benchmark.json +d4a4a698f57982fcb8b1098d102efa9c9b162e2f1965a7c46f2272180b46548d baseline-1/deserialization/catalog_items/1000/base/estimates.json +d2717504783b4dd0017b9799a505d6d69d2793a8be08fdab057e1b29ea9a1709 baseline-1/deserialization/catalog_items/1000/base/sample.json +3a289580714bd7161ac8a6d96480aad2e7b798670a360071f4efa41aee70bf03 baseline-1/deserialization/catalog_items/1000/base/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 baseline-1/deserialization/catalog_items/1000/new/benchmark.json +d4a4a698f57982fcb8b1098d102efa9c9b162e2f1965a7c46f2272180b46548d baseline-1/deserialization/catalog_items/1000/new/estimates.json +d2717504783b4dd0017b9799a505d6d69d2793a8be08fdab057e1b29ea9a1709 baseline-1/deserialization/catalog_items/1000/new/sample.json +3a289580714bd7161ac8a6d96480aad2e7b798670a360071f4efa41aee70bf03 baseline-1/deserialization/catalog_items/1000/new/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d baseline-1/deserialization/catalog_items/10000/base/benchmark.json +aa7a113dd505532a36a85e280e613caa0cb8bb07b107ccf58dfc2c87643df1ba baseline-1/deserialization/catalog_items/10000/base/estimates.json +97d9f52245891bdea52613474c7552c4504d486d583ff4f1ca045c9c6026b928 baseline-1/deserialization/catalog_items/10000/base/sample.json +919c705296aba1f8663f42595302db648d082b7a781099ba2aa5d1374be1b6e8 baseline-1/deserialization/catalog_items/10000/base/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d baseline-1/deserialization/catalog_items/10000/new/benchmark.json +aa7a113dd505532a36a85e280e613caa0cb8bb07b107ccf58dfc2c87643df1ba baseline-1/deserialization/catalog_items/10000/new/estimates.json +97d9f52245891bdea52613474c7552c4504d486d583ff4f1ca045c9c6026b928 baseline-1/deserialization/catalog_items/10000/new/sample.json +919c705296aba1f8663f42595302db648d082b7a781099ba2aa5d1374be1b6e8 baseline-1/deserialization/catalog_items/10000/new/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 baseline-1/deserialization/sensor_micro/base/benchmark.json +dec807888452e69c39e2f62f2c428a243e4afe9a3edc018e8da6a8fd69ee9eb2 baseline-1/deserialization/sensor_micro/base/estimates.json +4c56e4602f5c927a3e81ee057940bfcffe6e12f2d85b15ef17d139bd05da5e2f baseline-1/deserialization/sensor_micro/base/sample.json +8219f24583ae105270441816a99f0e433e48e86ede776f8c3cd4f69cf9cfc6d1 baseline-1/deserialization/sensor_micro/base/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 baseline-1/deserialization/sensor_micro/new/benchmark.json +dec807888452e69c39e2f62f2c428a243e4afe9a3edc018e8da6a8fd69ee9eb2 baseline-1/deserialization/sensor_micro/new/estimates.json +4c56e4602f5c927a3e81ee057940bfcffe6e12f2d85b15ef17d139bd05da5e2f baseline-1/deserialization/sensor_micro/new/sample.json +8219f24583ae105270441816a99f0e433e48e86ede776f8c3cd4f69cf9cfc6d1 baseline-1/deserialization/sensor_micro/new/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 baseline-1/serialization/catalog_items/1000/base/benchmark.json +098ec7798ca86e2c60eea152ab32b26d89d1ad10f2e10b5aca59ff00907aa301 baseline-1/serialization/catalog_items/1000/base/estimates.json +d3a7708f676793536fd224c275ebb78d3674e2a95b54ed52d72fbaa1051167dc baseline-1/serialization/catalog_items/1000/base/sample.json +61fc56dffdd839ec2d64dc6ef4bb7bdb6ce5ab8f84ec767a06cbc9c0312d5529 baseline-1/serialization/catalog_items/1000/base/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 baseline-1/serialization/catalog_items/1000/new/benchmark.json +098ec7798ca86e2c60eea152ab32b26d89d1ad10f2e10b5aca59ff00907aa301 baseline-1/serialization/catalog_items/1000/new/estimates.json +d3a7708f676793536fd224c275ebb78d3674e2a95b54ed52d72fbaa1051167dc baseline-1/serialization/catalog_items/1000/new/sample.json +61fc56dffdd839ec2d64dc6ef4bb7bdb6ce5ab8f84ec767a06cbc9c0312d5529 baseline-1/serialization/catalog_items/1000/new/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd baseline-1/serialization/catalog_items/10000/base/benchmark.json +bb69ce681f8e2395178ebc6a3c4dabb9231710f90df7dd0eca5d9fce63cb07e3 baseline-1/serialization/catalog_items/10000/base/estimates.json +790fb286d925a80d100591d8782f5d104dbdcef09163400cea5f4dcdda9505b9 baseline-1/serialization/catalog_items/10000/base/sample.json +d6d28d78f54bcf490ca30703b4948f716669c7434c75b0b6f38fd533d0c12545 baseline-1/serialization/catalog_items/10000/base/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd baseline-1/serialization/catalog_items/10000/new/benchmark.json +bb69ce681f8e2395178ebc6a3c4dabb9231710f90df7dd0eca5d9fce63cb07e3 baseline-1/serialization/catalog_items/10000/new/estimates.json +790fb286d925a80d100591d8782f5d104dbdcef09163400cea5f4dcdda9505b9 baseline-1/serialization/catalog_items/10000/new/sample.json +d6d28d78f54bcf490ca30703b4948f716669c7434c75b0b6f38fd533d0c12545 baseline-1/serialization/catalog_items/10000/new/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 baseline-1/serialization/sensor_micro/base/benchmark.json +223c9ceb7530de03ecd1e9f344b9edf1bf6e3506f4dc7136ca71dd416bd6de8b baseline-1/serialization/sensor_micro/base/estimates.json +cc362f76d73e17a724469d72b251f164313d440d32333b3f31d6022470dd14f7 baseline-1/serialization/sensor_micro/base/sample.json +6fee3e4dfd9c58982d03b8e79ff64356d96b8c2909804ffdc8b94a9734fe3432 baseline-1/serialization/sensor_micro/base/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 baseline-1/serialization/sensor_micro/new/benchmark.json +223c9ceb7530de03ecd1e9f344b9edf1bf6e3506f4dc7136ca71dd416bd6de8b baseline-1/serialization/sensor_micro/new/estimates.json +cc362f76d73e17a724469d72b251f164313d440d32333b3f31d6022470dd14f7 baseline-1/serialization/sensor_micro/new/sample.json +6fee3e4dfd9c58982d03b8e79ff64356d96b8c2909804ffdc8b94a9734fe3432 baseline-1/serialization/sensor_micro/new/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 current-0/deserialization/catalog_items/1000/base/benchmark.json +dce338dd0c593cbc6fa66fa16ea37d6d5d943e5c43ff475733bc21eeba3bb0f6 current-0/deserialization/catalog_items/1000/base/estimates.json +7393ec6a530cb2936bb5a21599928838996eda498496b5c70a85ad5cfd65b0b3 current-0/deserialization/catalog_items/1000/base/sample.json +3226be3f7ed02a324974e37882cd7371a31803abfe770cdd0643f63ba07655b6 current-0/deserialization/catalog_items/1000/base/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 current-0/deserialization/catalog_items/1000/new/benchmark.json +dce338dd0c593cbc6fa66fa16ea37d6d5d943e5c43ff475733bc21eeba3bb0f6 current-0/deserialization/catalog_items/1000/new/estimates.json +7393ec6a530cb2936bb5a21599928838996eda498496b5c70a85ad5cfd65b0b3 current-0/deserialization/catalog_items/1000/new/sample.json +3226be3f7ed02a324974e37882cd7371a31803abfe770cdd0643f63ba07655b6 current-0/deserialization/catalog_items/1000/new/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d current-0/deserialization/catalog_items/10000/base/benchmark.json +464e501b5c6d3674fdc073f97a051077bd40797b0546cb6e045d30b3092f8c6a current-0/deserialization/catalog_items/10000/base/estimates.json +91a13d1f0e7df5638d3e5cbe2696cc17311aa361ee55a4922049ee5cbd213381 current-0/deserialization/catalog_items/10000/base/sample.json +323f1ca9f9b84de2c738713c911d7789fe5cba71f77dc3247d038e40cd66910f current-0/deserialization/catalog_items/10000/base/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d current-0/deserialization/catalog_items/10000/new/benchmark.json +464e501b5c6d3674fdc073f97a051077bd40797b0546cb6e045d30b3092f8c6a current-0/deserialization/catalog_items/10000/new/estimates.json +91a13d1f0e7df5638d3e5cbe2696cc17311aa361ee55a4922049ee5cbd213381 current-0/deserialization/catalog_items/10000/new/sample.json +323f1ca9f9b84de2c738713c911d7789fe5cba71f77dc3247d038e40cd66910f current-0/deserialization/catalog_items/10000/new/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 current-0/deserialization/sensor_micro/base/benchmark.json +3465959d3a8c0e3a6182cc3536999139295e6ac6d6762fafd6e2bcc2b473a938 current-0/deserialization/sensor_micro/base/estimates.json +0ee977ba27f36359149a29ac7c4d5b48e1e05f9eb37a975be4649a31d763693a current-0/deserialization/sensor_micro/base/sample.json +99d9391c0b9e512db26939ea726d3d67fd19aafc49dd5a6087ca028df88fed08 current-0/deserialization/sensor_micro/base/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 current-0/deserialization/sensor_micro/new/benchmark.json +3465959d3a8c0e3a6182cc3536999139295e6ac6d6762fafd6e2bcc2b473a938 current-0/deserialization/sensor_micro/new/estimates.json +0ee977ba27f36359149a29ac7c4d5b48e1e05f9eb37a975be4649a31d763693a current-0/deserialization/sensor_micro/new/sample.json +99d9391c0b9e512db26939ea726d3d67fd19aafc49dd5a6087ca028df88fed08 current-0/deserialization/sensor_micro/new/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 current-0/serialization/catalog_items/1000/base/benchmark.json +b31d13eea787b0bcda17c225259e765609488f2723da14e0994716613a8089d4 current-0/serialization/catalog_items/1000/base/estimates.json +0ded3fa85150f71a56b11ee3764052e29c0bd4350e4238179abc6e61cde583a1 current-0/serialization/catalog_items/1000/base/sample.json +2d51ffbf87fc4361d1ed4e02f764bef24639ada1ae0281c5ca9672cfb8a175d7 current-0/serialization/catalog_items/1000/base/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 current-0/serialization/catalog_items/1000/new/benchmark.json +b31d13eea787b0bcda17c225259e765609488f2723da14e0994716613a8089d4 current-0/serialization/catalog_items/1000/new/estimates.json +0ded3fa85150f71a56b11ee3764052e29c0bd4350e4238179abc6e61cde583a1 current-0/serialization/catalog_items/1000/new/sample.json +2d51ffbf87fc4361d1ed4e02f764bef24639ada1ae0281c5ca9672cfb8a175d7 current-0/serialization/catalog_items/1000/new/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd current-0/serialization/catalog_items/10000/base/benchmark.json +80429b948c1d930263907a66ea2be08b02f512e49c3106674d30fdd460c9d87d current-0/serialization/catalog_items/10000/base/estimates.json +3d87d01a7c61890ce5095c6d6b13b616503f14201db7f883785c60eef5ceb980 current-0/serialization/catalog_items/10000/base/sample.json +0f16c23a77fb3f5e04c47c4258069b268d3e9f4cdeea75d51fbc7613208814c9 current-0/serialization/catalog_items/10000/base/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd current-0/serialization/catalog_items/10000/new/benchmark.json +80429b948c1d930263907a66ea2be08b02f512e49c3106674d30fdd460c9d87d current-0/serialization/catalog_items/10000/new/estimates.json +3d87d01a7c61890ce5095c6d6b13b616503f14201db7f883785c60eef5ceb980 current-0/serialization/catalog_items/10000/new/sample.json +0f16c23a77fb3f5e04c47c4258069b268d3e9f4cdeea75d51fbc7613208814c9 current-0/serialization/catalog_items/10000/new/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 current-0/serialization/sensor_micro/base/benchmark.json +77ed565867ad58d1f043adce494c459368aefdcbe11c2efaa11568de1f2f8638 current-0/serialization/sensor_micro/base/estimates.json +2ba72c6459bb535e9b54e85dca28bdc69efbb4df892bec0cae9b580b55ecd45d current-0/serialization/sensor_micro/base/sample.json +eae3469037c0861e7fe300d7d396379edace411d6cca4178b3c7874dae4f5e5f current-0/serialization/sensor_micro/base/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 current-0/serialization/sensor_micro/new/benchmark.json +77ed565867ad58d1f043adce494c459368aefdcbe11c2efaa11568de1f2f8638 current-0/serialization/sensor_micro/new/estimates.json +2ba72c6459bb535e9b54e85dca28bdc69efbb4df892bec0cae9b580b55ecd45d current-0/serialization/sensor_micro/new/sample.json +eae3469037c0861e7fe300d7d396379edace411d6cca4178b3c7874dae4f5e5f current-0/serialization/sensor_micro/new/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 current-1/deserialization/catalog_items/1000/base/benchmark.json +f624acb3a49d792a967e67e5ae6f0fac4f2f772dfeb6157267b64951f9646575 current-1/deserialization/catalog_items/1000/base/estimates.json +80bdb11e34412d458dafefdd38a71bcce3e2990904c9028d16fe38ebfa388fff current-1/deserialization/catalog_items/1000/base/sample.json +a30ba4ae2063726b09436eea69c88c1d191d57fdd392530cf53906b44ae4b8cf current-1/deserialization/catalog_items/1000/base/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 current-1/deserialization/catalog_items/1000/new/benchmark.json +f624acb3a49d792a967e67e5ae6f0fac4f2f772dfeb6157267b64951f9646575 current-1/deserialization/catalog_items/1000/new/estimates.json +80bdb11e34412d458dafefdd38a71bcce3e2990904c9028d16fe38ebfa388fff current-1/deserialization/catalog_items/1000/new/sample.json +a30ba4ae2063726b09436eea69c88c1d191d57fdd392530cf53906b44ae4b8cf current-1/deserialization/catalog_items/1000/new/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d current-1/deserialization/catalog_items/10000/base/benchmark.json +768f607dfbfafdf8888d80ec4f70b62855e0d1aa2a0476ba9aea476b77d04206 current-1/deserialization/catalog_items/10000/base/estimates.json +5d76e08583402f8b0e42e325d4341dcf7dcfa73dc01ff8c1f414951d73fbf897 current-1/deserialization/catalog_items/10000/base/sample.json +9fa9848fbfc523510e55bcc908825566e3ba978659edf67fabeab3a01cbc62bb current-1/deserialization/catalog_items/10000/base/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d current-1/deserialization/catalog_items/10000/new/benchmark.json +768f607dfbfafdf8888d80ec4f70b62855e0d1aa2a0476ba9aea476b77d04206 current-1/deserialization/catalog_items/10000/new/estimates.json +5d76e08583402f8b0e42e325d4341dcf7dcfa73dc01ff8c1f414951d73fbf897 current-1/deserialization/catalog_items/10000/new/sample.json +9fa9848fbfc523510e55bcc908825566e3ba978659edf67fabeab3a01cbc62bb current-1/deserialization/catalog_items/10000/new/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 current-1/deserialization/sensor_micro/base/benchmark.json +13d4888f5fb3c553e9ad73378eaa8aa2382b2de027842e94db687cde67582d2d current-1/deserialization/sensor_micro/base/estimates.json +a2e1717bd31f9918e8f6434e6c823b1ac9b8a487d4ab89b83bddd9d167c1df66 current-1/deserialization/sensor_micro/base/sample.json +64fac9f368c10592d6c91a9f7a55efead921d0ba0d59c57b0443d590a93d4ccd current-1/deserialization/sensor_micro/base/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 current-1/deserialization/sensor_micro/new/benchmark.json +13d4888f5fb3c553e9ad73378eaa8aa2382b2de027842e94db687cde67582d2d current-1/deserialization/sensor_micro/new/estimates.json +a2e1717bd31f9918e8f6434e6c823b1ac9b8a487d4ab89b83bddd9d167c1df66 current-1/deserialization/sensor_micro/new/sample.json +64fac9f368c10592d6c91a9f7a55efead921d0ba0d59c57b0443d590a93d4ccd current-1/deserialization/sensor_micro/new/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 current-1/serialization/catalog_items/1000/base/benchmark.json +3dec0bcce4f76963e9d1e4f82db0b8054b226b1803f05ea6b3ea078b5215adfd current-1/serialization/catalog_items/1000/base/estimates.json +a6ed977427af344972ec140184450432b7f203b30d405eec365c2d3d3932a0b1 current-1/serialization/catalog_items/1000/base/sample.json +3dd28ea24028f0fc77015f06765898de04c8f2792f474d06a09c0fb06379c672 current-1/serialization/catalog_items/1000/base/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 current-1/serialization/catalog_items/1000/new/benchmark.json +3dec0bcce4f76963e9d1e4f82db0b8054b226b1803f05ea6b3ea078b5215adfd current-1/serialization/catalog_items/1000/new/estimates.json +a6ed977427af344972ec140184450432b7f203b30d405eec365c2d3d3932a0b1 current-1/serialization/catalog_items/1000/new/sample.json +3dd28ea24028f0fc77015f06765898de04c8f2792f474d06a09c0fb06379c672 current-1/serialization/catalog_items/1000/new/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd current-1/serialization/catalog_items/10000/base/benchmark.json +8b438180113287925c879349321473b4e99c598c6a59f949632220e9a7a7c446 current-1/serialization/catalog_items/10000/base/estimates.json +fd34585a9b91403e79374f28e939194a041ba846063f3e17d88d5cddee7fd81b current-1/serialization/catalog_items/10000/base/sample.json +00d3a0020091c836db41eb8b9e184203c167e7f582ad6406ffdb6a9508cf7a2d current-1/serialization/catalog_items/10000/base/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd current-1/serialization/catalog_items/10000/new/benchmark.json +8b438180113287925c879349321473b4e99c598c6a59f949632220e9a7a7c446 current-1/serialization/catalog_items/10000/new/estimates.json +fd34585a9b91403e79374f28e939194a041ba846063f3e17d88d5cddee7fd81b current-1/serialization/catalog_items/10000/new/sample.json +00d3a0020091c836db41eb8b9e184203c167e7f582ad6406ffdb6a9508cf7a2d current-1/serialization/catalog_items/10000/new/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 current-1/serialization/sensor_micro/base/benchmark.json +4fbfb096e2287271687694eee9b06b6b06187cff3c2c68f5f17b7fcf71fe4ffc current-1/serialization/sensor_micro/base/estimates.json +8d09a7fcd67d2168d1774745fa70073ccbd834bac05f072abb40936fbabeab28 current-1/serialization/sensor_micro/base/sample.json +aa87909082e61967a5305c671f47d7ad9811faf8667f6f53a154238e9fc1ccb6 current-1/serialization/sensor_micro/base/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 current-1/serialization/sensor_micro/new/benchmark.json +4fbfb096e2287271687694eee9b06b6b06187cff3c2c68f5f17b7fcf71fe4ffc current-1/serialization/sensor_micro/new/estimates.json +8d09a7fcd67d2168d1774745fa70073ccbd834bac05f072abb40936fbabeab28 current-1/serialization/sensor_micro/new/sample.json +aa87909082e61967a5305c671f47d7ad9811faf8667f6f53a154238e9fc1ccb6 current-1/serialization/sensor_micro/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/criterion-results.tar.gz new file mode 100644 index 0000000..5c38d17 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current-0.txt new file mode 100644 index 0000000..fbe23c7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current-0.txt @@ -0,0 +1,64 @@ +memcap: <=7701 MiB (60% of 12836 MiB available) [systemd MemoryMax, swap off] +Benchmarking deserialization/sensor_micro +Benchmarking deserialization/sensor_micro: Warming up for 1.0000 s +Benchmarking deserialization/sensor_micro: Collecting 50 samples in estimated 2.0006 s (2.0M iterations) +Benchmarking deserialization/sensor_micro: Analyzing +deserialization/sensor_micro + time: [966.27 ns 971.60 ns 978.62 ns] + thrpt: [91.604 MiB/s 92.266 MiB/s 92.775 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking deserialization/catalog_items/1000 +Benchmarking deserialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/1000: Collecting 50 samples in estimated 2.0421 s (2550 iterations) +Benchmarking deserialization/catalog_items/1000: Analyzing +deserialization/catalog_items/1000 + time: [784.13 µs 786.15 µs 788.54 µs] + thrpt: [77.295 MiB/s 77.530 MiB/s 77.730 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 4 (8.00%) high severe +Benchmarking deserialization/catalog_items/10000 +Benchmarking deserialization/catalog_items/10000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/10000: Collecting 50 samples in estimated 2.3523 s (300 iterations) +Benchmarking deserialization/catalog_items/10000: Analyzing +deserialization/catalog_items/10000 + time: [7.9213 ms 8.0054 ms 8.1089 ms] + thrpt: [78.669 MiB/s 79.687 MiB/s 80.533 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe + +Benchmarking serialization/sensor_micro +Benchmarking serialization/sensor_micro: Warming up for 1.0000 s +Benchmarking serialization/sensor_micro: Collecting 50 samples in estimated 2.0001 s (9.1M iterations) +Benchmarking serialization/sensor_micro: Analyzing +serialization/sensor_micro + time: [219.11 ns 221.07 ns 223.63 ns] + thrpt: [400.86 MiB/s 405.51 MiB/s 409.13 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe +Benchmarking serialization/catalog_items/1000 +Benchmarking serialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking serialization/catalog_items/1000: Collecting 50 samples in estimated 2.0252 s (11k iterations) +Benchmarking serialization/catalog_items/1000: Analyzing +serialization/catalog_items/1000 + time: [173.54 µs 174.58 µs 176.30 µs] + thrpt: [343.02 MiB/s 346.40 MiB/s 348.47 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe +Benchmarking serialization/catalog_items/10000 +Benchmarking serialization/catalog_items/10000: Warming up for 1.0000 s + +Warning: Unable to complete 50 samples in 2.0s. You may wish to increase target time to 2.3s, enable flat sampling, or reduce sample count to 30. +Benchmarking serialization/catalog_items/10000: Collecting 50 samples in estimated 2.2525 s (1275 iterations) +Benchmarking serialization/catalog_items/10000: Analyzing +serialization/catalog_items/10000 + time: [1.7494 ms 1.7551 ms 1.7611 ms] + thrpt: [359.53 MiB/s 360.75 MiB/s 361.93 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 6 (12.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current-1.txt new file mode 100644 index 0000000..fafb046 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current-1.txt @@ -0,0 +1,63 @@ +memcap: <=7703 MiB (60% of 12839 MiB available) [systemd MemoryMax, swap off] +Benchmarking deserialization/sensor_micro +Benchmarking deserialization/sensor_micro: Warming up for 1.0000 s +Benchmarking deserialization/sensor_micro: Collecting 50 samples in estimated 2.0007 s (2.0M iterations) +Benchmarking deserialization/sensor_micro: Analyzing +deserialization/sensor_micro + time: [970.29 ns 974.67 ns 980.55 ns] + thrpt: [91.424 MiB/s 91.975 MiB/s 92.391 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 4 (8.00%) high mild + 4 (8.00%) high severe +Benchmarking deserialization/catalog_items/1000 +Benchmarking deserialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/1000: Collecting 50 samples in estimated 2.0021 s (2550 iterations) +Benchmarking deserialization/catalog_items/1000: Analyzing +deserialization/catalog_items/1000 + time: [783.21 µs 787.34 µs 792.40 µs] + thrpt: [76.918 MiB/s 77.413 MiB/s 77.821 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking deserialization/catalog_items/10000 +Benchmarking deserialization/catalog_items/10000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/10000: Collecting 50 samples in estimated 2.0567 s (250 iterations) +Benchmarking deserialization/catalog_items/10000: Analyzing +deserialization/catalog_items/10000 + time: [7.8647 ms 7.9524 ms 8.0746 ms] + thrpt: [79.004 MiB/s 80.218 MiB/s 81.112 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe + +Benchmarking serialization/sensor_micro +Benchmarking serialization/sensor_micro: Warming up for 1.0000 s +Benchmarking serialization/sensor_micro: Collecting 50 samples in estimated 2.0000 s (9.1M iterations) +Benchmarking serialization/sensor_micro: Analyzing +serialization/sensor_micro + time: [220.07 ns 222.59 ns 226.14 ns] + thrpt: [396.42 MiB/s 402.74 MiB/s 407.35 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe +Benchmarking serialization/catalog_items/1000 +Benchmarking serialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking serialization/catalog_items/1000: Collecting 50 samples in estimated 2.0023 s (11k iterations) +Benchmarking serialization/catalog_items/1000: Analyzing +serialization/catalog_items/1000 + time: [173.93 µs 175.07 µs 176.38 µs] + thrpt: [342.86 MiB/s 345.41 MiB/s 347.69 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe +Benchmarking serialization/catalog_items/10000 +Benchmarking serialization/catalog_items/10000: Warming up for 1.0000 s + +Warning: Unable to complete 50 samples in 2.0s. You may wish to increase target time to 2.3s, enable flat sampling, or reduce sample count to 30. +Benchmarking serialization/catalog_items/10000: Collecting 50 samples in estimated 2.3412 s (1275 iterations) +Benchmarking serialization/catalog_items/10000: Analyzing +serialization/catalog_items/10000 + time: [1.7591 ms 1.7692 ms 1.7796 ms] + thrpt: [355.78 MiB/s 357.88 MiB/s 359.92 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high mild + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current-build.txt new file mode 100644 index 0000000..f9f7e68 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7665 MiB (60% of 12775 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.52s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/harness.rs new file mode 100644 index 0000000..073ad98 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/harness.rs @@ -0,0 +1,172 @@ +use std::hint::black_box; + +use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion, Throughput}; +use polyxml::schema::{FieldKind, FieldSchema, ModelSchema, ScalarType, ValueType}; +use polyxml::{deserialize, serialize}; +use std::sync::Arc; + +fn build_sensor_fixture() -> (Arc, Vec) { + let schema = ModelSchema::builder("Sensor") + .field(FieldSchema::new( + "id", + b"id", + FieldKind::Attribute, + ValueType::Scalar(ScalarType::Int), + )) + .field(FieldSchema::new( + "temp", + b"temp", + FieldKind::Element, + ValueType::Scalar(ScalarType::Float), + )) + .field(FieldSchema::new( + "status", + b"status", + FieldKind::Element, + ValueType::Scalar(ScalarType::String), + )) + .field(FieldSchema::new( + "active", + b"active", + FieldKind::Element, + ValueType::Scalar(ScalarType::Bool), + )) + .build(); + + let xml = br#"23.75OPERATIONALtrue"#.to_vec(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn build_catalog_fixture(count: usize) -> (Arc, Vec) { + let item_schema = ModelSchema::builder("Item") + .field(FieldSchema::new( + "id", + b"id", + FieldKind::Attribute, + ValueType::Scalar(ScalarType::Int), + )) + .field(FieldSchema::new( + "name", + b"name", + FieldKind::Element, + ValueType::Scalar(ScalarType::String), + )) + .field(FieldSchema::new( + "price", + b"price", + FieldKind::Element, + ValueType::Scalar(ScalarType::Float), + )) + .build(); + + let catalog_schema = ModelSchema::builder("Catalog") + .field(FieldSchema::new( + "items", + b"item", + FieldKind::Element, + ValueType::List(Box::new(ValueType::Nested(item_schema))), + )) + .build(); + + let mut xml = String::with_capacity(count * 64 + 32); + xml.push_str(""); + for i in 0..count { + use std::fmt::Write; + write!( + xml, + r#"Part-{i}{:.2}"#, + (i as f64) * 1.25 + ) + .unwrap(); + } + xml.push_str(""); + + let xml = xml.into_bytes(); + let value = deserialize(&xml, Arc::clone(&catalog_schema)).unwrap(); + assert_eq!(value.get("items").unwrap().as_list().unwrap().len(), count); + let output = serialize("Catalog", &value, &catalog_schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&catalog_schema)).unwrap()); + (catalog_schema, xml) +} + +fn bench_deserialization(c: &mut Criterion) { + let mut group = c.benchmark_group("deserialization"); + + // 1. Sensor Telemetry (Micro) + { + let (schema, xml) = build_sensor_fixture(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function("sensor_micro", |b| { + b.iter(|| { + let res = deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(); + black_box(res); + }); + }); + } + + // 2. Catalog Batch (1,000 and 10,000 items) + for &count in &[1_000, 10_000] { + let (schema, xml) = build_catalog_fixture(count); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input(BenchmarkId::new("catalog_items", count), &count, |b, _| { + b.iter(|| { + let res = deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(); + black_box(res); + }); + }); + } + + group.finish(); +} + +fn bench_serialization(c: &mut Criterion) { + let mut group = c.benchmark_group("serialization"); + + // 1. Sensor Telemetry (Micro) + { + let (schema, xml) = build_sensor_fixture(); + let val = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let expected_bytes = serialize("Sensor", &val, &schema, None).unwrap(); + group.throughput(Throughput::Bytes(expected_bytes.len() as u64)); + group.bench_function("sensor_micro", |b| { + b.iter(|| { + let res = serialize( + black_box("Sensor"), + black_box(&val), + black_box(&schema), + black_box(None), + ) + .unwrap(); + black_box(res); + }); + }); + } + + // 2. Catalog Batch (1,000 and 10,000 items) + for &count in &[1_000, 10_000] { + let (schema, xml) = build_catalog_fixture(count); + let val = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let expected_bytes = serialize("Catalog", &val, &schema, None).unwrap(); + group.throughput(Throughput::Bytes(expected_bytes.len() as u64)); + group.bench_with_input(BenchmarkId::new("catalog_items", count), &count, |b, _| { + b.iter(|| { + let res = serialize( + black_box("Catalog"), + black_box(&val), + black_box(&schema), + black_box(None), + ) + .unwrap(); + black_box(res); + }); + }); + } + + group.finish(); +} + +criterion_group!(benches, bench_deserialization, bench_serialization); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/metadata.json new file mode 100644 index 0000000..ba17918 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "58cb346f964b5196dfad62e8a62a8aa4beb9beef" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/summary.json new file mode 100644 index 0000000..6bb2c0f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core-sampled/summary.json @@ -0,0 +1,314 @@ +{ + "deserialization/catalog_items/1000": { + "baseline_ns": 793024.1941387265, + "candidate_ns": 788782.701332467, + "delta_percent": -0.5348503661815718, + "speedup": 1.005377263977892, + "process_deltas_percent": [ + -0.9128181659829426, + -0.1532189285283425 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 786003.4756122844, + "upper_bound": 810820.3497253131 + }, + "point_estimate": 796849.0445490867, + "standard_error": 6402.997119757658 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 784660.540227991, + "upper_bound": 794445.5924186303 + }, + "point_estimate": 789199.3437283662, + "standard_error": 2498.817416242239 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 785114.9579108084, + "upper_bound": 795033.6508541139 + }, + "point_estimate": 789575.2617149812, + "standard_error": 2548.6419277774194 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 784149.5685343469, + "upper_bound": 793046.868591132 + }, + "point_estimate": 787990.1409499529, + "standard_error": 2301.993653703528 + } + ] + } + }, + "deserialization/catalog_items/10000": { + "baseline_ns": 7895752.201666668, + "candidate_ns": 7978879.928666668, + "delta_percent": 1.0528158036982704, + "speedup": 0.9895815292693732, + "process_deltas_percent": [ + 1.3244581829310542, + 0.7808295815508348 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 7839985.258999999, + "upper_bound": 7979308.291083333 + }, + "point_estimate": 7900746.233333332, + "standard_error": 35885.877248569086 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 7860927.98825, + "upper_bound": 7927053.890666669 + }, + "point_estimate": 7890758.170000004, + "standard_error": 16970.991767683074 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 7921255.543500001, + "upper_bound": 8108919.768250001 + }, + "point_estimate": 8005388.313333333, + "standard_error": 48342.71845699823 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 7864736.652500001, + "upper_bound": 8074598.1154000005 + }, + "point_estimate": 7952371.544000003, + "standard_error": 54679.364425965694 + } + ] + } + }, + "deserialization/sensor_micro": { + "baseline_ns": 973.7217015919964, + "candidate_ns": 979.3454425583147, + "delta_percent": 0.5775511583159476, + "speedup": 0.994257653406108, + "process_deltas_percent": [ + 0.21306627144528356, + 0.9390735587917254 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 965.214357330426, + "upper_bound": 975.2261738036833 + }, + "point_estimate": 969.7484118693947, + "standard_error": 2.5681401585426222 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 970.8222830910153, + "upper_bound": 986.0556723961647 + }, + "point_estimate": 977.6949913145983, + "standard_error": 3.920289123793753 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 967.1471120613426, + "upper_bound": 977.5104411472809 + }, + "point_estimate": 971.8146186529647, + "standard_error": 2.659095035377566 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 976.5514303134356, + "upper_bound": 998.5659803695836 + }, + "point_estimate": 986.8762664636648, + "standard_error": 5.61950170865454 + } + ] + } + }, + "serialization/catalog_items/1000": { + "baseline_ns": 176797.8714723356, + "candidate_ns": 175013.16719972747, + "delta_percent": -1.0094602710685852, + "speedup": 1.0101975428544265, + "process_deltas_percent": [ + -1.0041842310988591, + -1.0147442249333394 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 176017.2712763741, + "upper_bound": 177991.7821393811 + }, + "point_estimate": 176930.36774242506, + "standard_error": 507.2777442769649 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 175924.3960591368, + "upper_bound": 177701.02766081895 + }, + "point_estimate": 176665.37520224613, + "standard_error": 462.2198802385539 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 173976.13572642242, + "upper_bound": 176694.31025695926 + }, + "point_estimate": 175153.6608895304, + "standard_error": 702.7465764078911 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 174033.60217427797, + "upper_bound": 175842.3111765072 + }, + "point_estimate": 174872.67350992453, + "standard_error": 462.8501703592067 + } + ] + } + }, + "serialization/catalog_items/10000": { + "baseline_ns": 1790068.7788419863, + "candidate_ns": 1758616.1679985097, + "delta_percent": -1.7570615841824622, + "speedup": 1.0178848639150595, + "process_deltas_percent": [ + -2.011095696710141, + -1.5032323258466929 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 1777204.3790911671, + "upper_bound": 1805860.0634140302 + }, + "point_estimate": 1789346.7281602153, + "standard_error": 7422.687668618754 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 1781331.4721887063, + "upper_bound": 1802361.4462591219 + }, + "point_estimate": 1790790.829523757, + "standard_error": 5395.62092717549 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 1749045.6835319665, + "upper_bound": 1758273.4550228363 + }, + "point_estimate": 1753361.2531109615, + "standard_error": 2356.7477217794853 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 1756526.7650219118, + "upper_bound": 1771743.5299504944 + }, + "point_estimate": 1763871.082886058, + "standard_error": 3881.6108154808817 + } + ] + } + }, + "serialization/sensor_micro": { + "baseline_ns": 230.06471658768544, + "candidate_ns": 221.4487020601976, + "delta_percent": -3.745039506831105, + "speedup": 1.0389074961710352, + "process_deltas_percent": [ + -2.8238785155460633, + -4.638421883607446 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 224.98160301983344, + "upper_bound": 228.4092872673318 + }, + "point_estimate": 226.54268499195106, + "standard_error": 0.8824800295521743 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 230.3788857925616, + "upper_bound": 237.25160940283286 + }, + "point_estimate": 233.58674818341984, + "standard_error": 1.7584889368848218 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 219.03783453400087, + "upper_bound": 221.5142442936973 + }, + "point_estimate": 220.14539478192216, + "standard_error": 0.6375840830231396 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 220.08952840358944, + "upper_bound": 226.38148222327493 + }, + "point_estimate": 222.75200933847307, + "standard_error": 1.6279323846307783 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline-0.txt new file mode 100644 index 0000000..776e5be --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline-0.txt @@ -0,0 +1,64 @@ +memcap: <=7654 MiB (60% of 12756 MiB available) [systemd MemoryMax, swap off] +Benchmarking deserialization/sensor_micro +Benchmarking deserialization/sensor_micro: Warming up for 1.0000 s +Benchmarking deserialization/sensor_micro: Collecting 50 samples in estimated 2.0001 s (2.0M iterations) +Benchmarking deserialization/sensor_micro: Analyzing +deserialization/sensor_micro + time: [984.11 ns 1.0007 µs 1.0220 µs] + thrpt: [87.718 MiB/s 89.583 MiB/s 91.093 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe +Benchmarking deserialization/catalog_items/1000 +Benchmarking deserialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/1000: Collecting 50 samples in estimated 2.0385 s (2550 iterations) +Benchmarking deserialization/catalog_items/1000: Analyzing +deserialization/catalog_items/1000 + time: [789.72 µs 800.28 µs 812.53 µs] + thrpt: [75.013 MiB/s 76.161 MiB/s 77.179 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking deserialization/catalog_items/10000 +Benchmarking deserialization/catalog_items/10000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/10000: Collecting 50 samples in estimated 2.3923 s (300 iterations) +Benchmarking deserialization/catalog_items/10000: Analyzing +deserialization/catalog_items/10000 + time: [7.8334 ms 7.8567 ms 7.8857 ms] + thrpt: [80.896 MiB/s 81.195 MiB/s 81.436 MiB/s] +Found 1 outliers among 50 measurements (2.00%) + 1 (2.00%) high severe + +Benchmarking serialization/sensor_micro +Benchmarking serialization/sensor_micro: Warming up for 1.0000 s +Benchmarking serialization/sensor_micro: Collecting 50 samples in estimated 2.0002 s (8.7M iterations) +Benchmarking serialization/sensor_micro: Analyzing +serialization/sensor_micro + time: [224.84 ns 226.35 ns 228.26 ns] + thrpt: [392.74 MiB/s 396.05 MiB/s 398.70 MiB/s] +Found 9 outliers among 50 measurements (18.00%) + 3 (6.00%) high mild + 6 (12.00%) high severe +Benchmarking serialization/catalog_items/1000 +Benchmarking serialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking serialization/catalog_items/1000: Collecting 50 samples in estimated 2.0495 s (11k iterations) +Benchmarking serialization/catalog_items/1000: Analyzing +serialization/catalog_items/1000 + time: [176.58 µs 177.50 µs 178.83 µs] + thrpt: [338.17 MiB/s 340.69 MiB/s 342.48 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe +Benchmarking serialization/catalog_items/10000 +Benchmarking serialization/catalog_items/10000: Warming up for 1.0000 s + +Warning: Unable to complete 50 samples in 2.0s. You may wish to increase target time to 2.3s, enable flat sampling, or reduce sample count to 30. +Benchmarking serialization/catalog_items/10000: Collecting 50 samples in estimated 2.2780 s (1275 iterations) +Benchmarking serialization/catalog_items/10000: Analyzing +serialization/catalog_items/10000 + time: [1.7788 ms 1.7876 ms 1.7996 ms] + thrpt: [351.84 MiB/s 354.20 MiB/s 355.95 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 6 (12.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline-1.txt new file mode 100644 index 0000000..a2a3fd5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline-1.txt @@ -0,0 +1,63 @@ +memcap: <=7736 MiB (60% of 12893 MiB available) [systemd MemoryMax, swap off] +Benchmarking deserialization/sensor_micro +Benchmarking deserialization/sensor_micro: Warming up for 1.0000 s +Benchmarking deserialization/sensor_micro: Collecting 50 samples in estimated 2.0010 s (2.0M iterations) +Benchmarking deserialization/sensor_micro: Analyzing +deserialization/sensor_micro + time: [965.50 ns 978.27 ns 994.53 ns] + thrpt: [90.138 MiB/s 91.636 MiB/s 92.849 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking deserialization/catalog_items/1000 +Benchmarking deserialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/1000: Collecting 50 samples in estimated 2.0694 s (2550 iterations) +Benchmarking deserialization/catalog_items/1000: Analyzing +deserialization/catalog_items/1000 + time: [783.46 µs 789.04 µs 796.02 µs] + thrpt: [76.569 MiB/s 77.246 MiB/s 77.796 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 5 (10.00%) high severe +Benchmarking deserialization/catalog_items/10000 +Benchmarking deserialization/catalog_items/10000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/10000: Collecting 50 samples in estimated 2.3656 s (300 iterations) +Benchmarking deserialization/catalog_items/10000: Analyzing +deserialization/catalog_items/10000 + time: [7.9800 ms 8.1110 ms 8.2780 ms] + thrpt: [77.062 MiB/s 78.649 MiB/s 79.940 MiB/s] +Found 10 outliers among 50 measurements (20.00%) + 3 (6.00%) high mild + 7 (14.00%) high severe + +Benchmarking serialization/sensor_micro +Benchmarking serialization/sensor_micro: Warming up for 1.0000 s +Benchmarking serialization/sensor_micro: Collecting 50 samples in estimated 2.0003 s (8.8M iterations) +Benchmarking serialization/sensor_micro: Analyzing +serialization/sensor_micro + time: [224.80 ns 226.22 ns 227.80 ns] + thrpt: [393.52 MiB/s 396.28 MiB/s 398.78 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe +Benchmarking serialization/catalog_items/1000 +Benchmarking serialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking serialization/catalog_items/1000: Collecting 50 samples in estimated 2.0497 s (11k iterations) +Benchmarking serialization/catalog_items/1000: Analyzing +serialization/catalog_items/1000 + time: [183.96 µs 185.87 µs 188.01 µs] + thrpt: [321.65 MiB/s 325.36 MiB/s 328.73 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking serialization/catalog_items/10000 +Benchmarking serialization/catalog_items/10000: Warming up for 1.0000 s + +Warning: Unable to complete 50 samples in 2.0s. You may wish to increase target time to 2.4s, enable flat sampling, or reduce sample count to 30. +Benchmarking serialization/catalog_items/10000: Collecting 50 samples in estimated 2.3521 s (1275 iterations) +Benchmarking serialization/catalog_items/10000: Analyzing +serialization/catalog_items/10000 + time: [1.7885 ms 1.8004 ms 1.8162 ms] + thrpt: [348.61 MiB/s 351.68 MiB/s 354.02 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high mild + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline-build.txt new file mode 100644 index 0000000..858b106 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7734 MiB (60% of 12891 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.54s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/criterion-SHA256SUMS new file mode 100644 index 0000000..089ef5a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/criterion-SHA256SUMS @@ -0,0 +1,192 @@ +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 baseline-0/deserialization/catalog_items/1000/base/benchmark.json +f3de7164f838784562ce4ed1a917bd2f97d7c228b0358df3001fe22c37e7f5eb baseline-0/deserialization/catalog_items/1000/base/estimates.json +334472e4ea2029e5e661a32d0797cc80c0a61f223b1f7dca3820417ba9967fb8 baseline-0/deserialization/catalog_items/1000/base/sample.json +89cfbed3e1def58cd21696c0de96d187f32b3629b607b5692a5acb1f924cf4aa baseline-0/deserialization/catalog_items/1000/base/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 baseline-0/deserialization/catalog_items/1000/new/benchmark.json +f3de7164f838784562ce4ed1a917bd2f97d7c228b0358df3001fe22c37e7f5eb baseline-0/deserialization/catalog_items/1000/new/estimates.json +334472e4ea2029e5e661a32d0797cc80c0a61f223b1f7dca3820417ba9967fb8 baseline-0/deserialization/catalog_items/1000/new/sample.json +89cfbed3e1def58cd21696c0de96d187f32b3629b607b5692a5acb1f924cf4aa baseline-0/deserialization/catalog_items/1000/new/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d baseline-0/deserialization/catalog_items/10000/base/benchmark.json +c348ea02ba5b6779735ccb1cae6511537d8248a2cfb381472188818503285cdc baseline-0/deserialization/catalog_items/10000/base/estimates.json +86cce656d9fd64d5092dc9571532cac8df11109f11f920f4aa87179c338bdb3e baseline-0/deserialization/catalog_items/10000/base/sample.json +3a51e849cb204453d95850432b6eaa7f026c996887f36d4d31adad8c1f351228 baseline-0/deserialization/catalog_items/10000/base/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d baseline-0/deserialization/catalog_items/10000/new/benchmark.json +c348ea02ba5b6779735ccb1cae6511537d8248a2cfb381472188818503285cdc baseline-0/deserialization/catalog_items/10000/new/estimates.json +86cce656d9fd64d5092dc9571532cac8df11109f11f920f4aa87179c338bdb3e baseline-0/deserialization/catalog_items/10000/new/sample.json +3a51e849cb204453d95850432b6eaa7f026c996887f36d4d31adad8c1f351228 baseline-0/deserialization/catalog_items/10000/new/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 baseline-0/deserialization/sensor_micro/base/benchmark.json +00aadcb0ac0fe0d76ce86c6139a39943fc3381a0f2442743763b8abc056be90c baseline-0/deserialization/sensor_micro/base/estimates.json +5a9ff9b4b4ea0c9e6d78147a194ecbfa630ea24b65812008e0be8fcfc5e2d82d baseline-0/deserialization/sensor_micro/base/sample.json +4a65226cc4cff8b4088c95b372e0c8e8f23645c40465c46d514e9c3da1af6de4 baseline-0/deserialization/sensor_micro/base/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 baseline-0/deserialization/sensor_micro/new/benchmark.json +00aadcb0ac0fe0d76ce86c6139a39943fc3381a0f2442743763b8abc056be90c baseline-0/deserialization/sensor_micro/new/estimates.json +5a9ff9b4b4ea0c9e6d78147a194ecbfa630ea24b65812008e0be8fcfc5e2d82d baseline-0/deserialization/sensor_micro/new/sample.json +4a65226cc4cff8b4088c95b372e0c8e8f23645c40465c46d514e9c3da1af6de4 baseline-0/deserialization/sensor_micro/new/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 baseline-0/serialization/catalog_items/1000/base/benchmark.json +4d8519b61a9a993812237bbf0a18b1bb7a1e734d761d670a35ee4e27254cd426 baseline-0/serialization/catalog_items/1000/base/estimates.json +479cb7f9379d098e45e0afd3f45950220bf6359b947a7a0fa5a45aecd1feddf3 baseline-0/serialization/catalog_items/1000/base/sample.json +53280df7e8b0f9002b6a4ee06d41cb302035bd72cb8eef5c637a64c5ece69827 baseline-0/serialization/catalog_items/1000/base/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 baseline-0/serialization/catalog_items/1000/new/benchmark.json +4d8519b61a9a993812237bbf0a18b1bb7a1e734d761d670a35ee4e27254cd426 baseline-0/serialization/catalog_items/1000/new/estimates.json +479cb7f9379d098e45e0afd3f45950220bf6359b947a7a0fa5a45aecd1feddf3 baseline-0/serialization/catalog_items/1000/new/sample.json +53280df7e8b0f9002b6a4ee06d41cb302035bd72cb8eef5c637a64c5ece69827 baseline-0/serialization/catalog_items/1000/new/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd baseline-0/serialization/catalog_items/10000/base/benchmark.json +5e123aac677d5fc555c32b848867585f112a9aa119945901e162646238c8386c baseline-0/serialization/catalog_items/10000/base/estimates.json +1aca6e59900291ee2952f9f9859e34f58d1758b19e89a2e8b12ee525c27803d4 baseline-0/serialization/catalog_items/10000/base/sample.json +638932f7640b9e6c19a1ced33422a91054b1be5c3c9e2c294712393d8d31ab32 baseline-0/serialization/catalog_items/10000/base/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd baseline-0/serialization/catalog_items/10000/new/benchmark.json +5e123aac677d5fc555c32b848867585f112a9aa119945901e162646238c8386c baseline-0/serialization/catalog_items/10000/new/estimates.json +1aca6e59900291ee2952f9f9859e34f58d1758b19e89a2e8b12ee525c27803d4 baseline-0/serialization/catalog_items/10000/new/sample.json +638932f7640b9e6c19a1ced33422a91054b1be5c3c9e2c294712393d8d31ab32 baseline-0/serialization/catalog_items/10000/new/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 baseline-0/serialization/sensor_micro/base/benchmark.json +c4acb57fffad18a1986fb4dc8a02b88c96d0222b6c05e5343249a27ab09c7b12 baseline-0/serialization/sensor_micro/base/estimates.json +4518d6e3acd4a7e10df036aba8ebe7c7f642fbc13ea3cbb84ec477e2a712893a baseline-0/serialization/sensor_micro/base/sample.json +9a6e07a453b10428b4e1d9f30d4151e38a65c15fa51d8f0cc7dc2c2cd3b44061 baseline-0/serialization/sensor_micro/base/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 baseline-0/serialization/sensor_micro/new/benchmark.json +c4acb57fffad18a1986fb4dc8a02b88c96d0222b6c05e5343249a27ab09c7b12 baseline-0/serialization/sensor_micro/new/estimates.json +4518d6e3acd4a7e10df036aba8ebe7c7f642fbc13ea3cbb84ec477e2a712893a baseline-0/serialization/sensor_micro/new/sample.json +9a6e07a453b10428b4e1d9f30d4151e38a65c15fa51d8f0cc7dc2c2cd3b44061 baseline-0/serialization/sensor_micro/new/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 baseline-1/deserialization/catalog_items/1000/base/benchmark.json +11cb8d99df976bd8ddaf81a16abfcb505448c391c1e2cee37ec73ffac8988d19 baseline-1/deserialization/catalog_items/1000/base/estimates.json +f186111c743c113902c4299141963d905d2b79e1f65fd9140b092f2af7d6431d baseline-1/deserialization/catalog_items/1000/base/sample.json +7a739181d1cad8cc349d1c3f7e2a4f6d191a38c597065f47e1093ff4bd568494 baseline-1/deserialization/catalog_items/1000/base/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 baseline-1/deserialization/catalog_items/1000/new/benchmark.json +11cb8d99df976bd8ddaf81a16abfcb505448c391c1e2cee37ec73ffac8988d19 baseline-1/deserialization/catalog_items/1000/new/estimates.json +f186111c743c113902c4299141963d905d2b79e1f65fd9140b092f2af7d6431d baseline-1/deserialization/catalog_items/1000/new/sample.json +7a739181d1cad8cc349d1c3f7e2a4f6d191a38c597065f47e1093ff4bd568494 baseline-1/deserialization/catalog_items/1000/new/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d baseline-1/deserialization/catalog_items/10000/base/benchmark.json +bae08905106bc793513d04315f6c87955ec58eb3b6c8a57fc2bd5e31e872b463 baseline-1/deserialization/catalog_items/10000/base/estimates.json +ee7a932cce7668aadcbdb2324256d568753643fc4e184005d436e2b5857288f5 baseline-1/deserialization/catalog_items/10000/base/sample.json +07f13d612f46fd7a3bf7eeaa69e49a1080907273169ae464cfc1236ebec34724 baseline-1/deserialization/catalog_items/10000/base/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d baseline-1/deserialization/catalog_items/10000/new/benchmark.json +bae08905106bc793513d04315f6c87955ec58eb3b6c8a57fc2bd5e31e872b463 baseline-1/deserialization/catalog_items/10000/new/estimates.json +ee7a932cce7668aadcbdb2324256d568753643fc4e184005d436e2b5857288f5 baseline-1/deserialization/catalog_items/10000/new/sample.json +07f13d612f46fd7a3bf7eeaa69e49a1080907273169ae464cfc1236ebec34724 baseline-1/deserialization/catalog_items/10000/new/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 baseline-1/deserialization/sensor_micro/base/benchmark.json +44571cd1afee451ba8f276f25d123f49c5de77d7dd0090f16094416b76746e04 baseline-1/deserialization/sensor_micro/base/estimates.json +d458fb6f1cecbf35c5ef9f354ad7fb9698c8a46d830fe6a6d3e16025011fe705 baseline-1/deserialization/sensor_micro/base/sample.json +adee45a38869e5da2dffeb349c4721745fd21191eceb24dc53fcb4dfca0cb451 baseline-1/deserialization/sensor_micro/base/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 baseline-1/deserialization/sensor_micro/new/benchmark.json +44571cd1afee451ba8f276f25d123f49c5de77d7dd0090f16094416b76746e04 baseline-1/deserialization/sensor_micro/new/estimates.json +d458fb6f1cecbf35c5ef9f354ad7fb9698c8a46d830fe6a6d3e16025011fe705 baseline-1/deserialization/sensor_micro/new/sample.json +adee45a38869e5da2dffeb349c4721745fd21191eceb24dc53fcb4dfca0cb451 baseline-1/deserialization/sensor_micro/new/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 baseline-1/serialization/catalog_items/1000/base/benchmark.json +b61522ec25b81a59487cbb774b16cab6f2f7d68adfb4efcde1612befccdc46bb baseline-1/serialization/catalog_items/1000/base/estimates.json +545d841615cbd84a8391059525b3d1f829c5e4221cef384d3b1f086c466f17da baseline-1/serialization/catalog_items/1000/base/sample.json +72d3fc54c58dc25e396df94f75154e3c2f86b4e3d73bfa6632ddcb86fa49736d baseline-1/serialization/catalog_items/1000/base/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 baseline-1/serialization/catalog_items/1000/new/benchmark.json +b61522ec25b81a59487cbb774b16cab6f2f7d68adfb4efcde1612befccdc46bb baseline-1/serialization/catalog_items/1000/new/estimates.json +545d841615cbd84a8391059525b3d1f829c5e4221cef384d3b1f086c466f17da baseline-1/serialization/catalog_items/1000/new/sample.json +72d3fc54c58dc25e396df94f75154e3c2f86b4e3d73bfa6632ddcb86fa49736d baseline-1/serialization/catalog_items/1000/new/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd baseline-1/serialization/catalog_items/10000/base/benchmark.json +dc7179f2436290e73b04cf7e742d5bb406961ec32d9defd128729f39289b79b6 baseline-1/serialization/catalog_items/10000/base/estimates.json +c370b7ca2857e4ad36a0eedf2c94b79e5fc330b59b585247b02f9a2ca45a42c6 baseline-1/serialization/catalog_items/10000/base/sample.json +99f43ab484939b3a4dae110a87e377c2ebe84f19b4c15dea852a72411536e6d3 baseline-1/serialization/catalog_items/10000/base/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd baseline-1/serialization/catalog_items/10000/new/benchmark.json +dc7179f2436290e73b04cf7e742d5bb406961ec32d9defd128729f39289b79b6 baseline-1/serialization/catalog_items/10000/new/estimates.json +c370b7ca2857e4ad36a0eedf2c94b79e5fc330b59b585247b02f9a2ca45a42c6 baseline-1/serialization/catalog_items/10000/new/sample.json +99f43ab484939b3a4dae110a87e377c2ebe84f19b4c15dea852a72411536e6d3 baseline-1/serialization/catalog_items/10000/new/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 baseline-1/serialization/sensor_micro/base/benchmark.json +66b2c1ab8df399bba7862d7456e3f65fc1eaca06224e19e3b75ac6fa4e010f21 baseline-1/serialization/sensor_micro/base/estimates.json +b9d76a2b1e171b38539cf0d938e153b7c17753491ac94366d05c6483abe1430d baseline-1/serialization/sensor_micro/base/sample.json +41c33d6d54eefa857353efbaecb403a530f986dbcb7b4c5a71d7c8ad94ff598c baseline-1/serialization/sensor_micro/base/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 baseline-1/serialization/sensor_micro/new/benchmark.json +66b2c1ab8df399bba7862d7456e3f65fc1eaca06224e19e3b75ac6fa4e010f21 baseline-1/serialization/sensor_micro/new/estimates.json +b9d76a2b1e171b38539cf0d938e153b7c17753491ac94366d05c6483abe1430d baseline-1/serialization/sensor_micro/new/sample.json +41c33d6d54eefa857353efbaecb403a530f986dbcb7b4c5a71d7c8ad94ff598c baseline-1/serialization/sensor_micro/new/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 current-0/deserialization/catalog_items/1000/base/benchmark.json +40fbe0f7efe676cb6930dc3b27ba3833ce02df424e2a1b7e0be380348ed1e1eb current-0/deserialization/catalog_items/1000/base/estimates.json +27fbb1be40eb026238c04d7d750fbc694ab8bc66b3f179136bbd8cedaf5874c8 current-0/deserialization/catalog_items/1000/base/sample.json +08d5f2932d8e4849a0bc37af6ee97c4a0a558d34aaef9eab55f985fddae164e1 current-0/deserialization/catalog_items/1000/base/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 current-0/deserialization/catalog_items/1000/new/benchmark.json +40fbe0f7efe676cb6930dc3b27ba3833ce02df424e2a1b7e0be380348ed1e1eb current-0/deserialization/catalog_items/1000/new/estimates.json +27fbb1be40eb026238c04d7d750fbc694ab8bc66b3f179136bbd8cedaf5874c8 current-0/deserialization/catalog_items/1000/new/sample.json +08d5f2932d8e4849a0bc37af6ee97c4a0a558d34aaef9eab55f985fddae164e1 current-0/deserialization/catalog_items/1000/new/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d current-0/deserialization/catalog_items/10000/base/benchmark.json +89bc4427d6a7584f4ed0fe419eadebedb1228812a1183ec6f2748c0bd956b014 current-0/deserialization/catalog_items/10000/base/estimates.json +f1b5825bf40c01d067dbe9ad8a21bf7c6306ef9f0658fcceac835b8fddd8ef2c current-0/deserialization/catalog_items/10000/base/sample.json +593fcc1b8adbee996960155791f11c2c3319fec41fa43c4bea8aa96880221a74 current-0/deserialization/catalog_items/10000/base/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d current-0/deserialization/catalog_items/10000/new/benchmark.json +89bc4427d6a7584f4ed0fe419eadebedb1228812a1183ec6f2748c0bd956b014 current-0/deserialization/catalog_items/10000/new/estimates.json +f1b5825bf40c01d067dbe9ad8a21bf7c6306ef9f0658fcceac835b8fddd8ef2c current-0/deserialization/catalog_items/10000/new/sample.json +593fcc1b8adbee996960155791f11c2c3319fec41fa43c4bea8aa96880221a74 current-0/deserialization/catalog_items/10000/new/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 current-0/deserialization/sensor_micro/base/benchmark.json +6943001239e0ebaa9aece2ed4312e934de55fe3f5c0551dfe17eacc58a5701a9 current-0/deserialization/sensor_micro/base/estimates.json +342f2f245492b01d96120a8bd943e91481eb21e529f4524e5dacb5cfe8750d58 current-0/deserialization/sensor_micro/base/sample.json +0b586e69151f17235973df190a010c1c5a45a746053c85ca7f9dc3d3d1eb9e6b current-0/deserialization/sensor_micro/base/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 current-0/deserialization/sensor_micro/new/benchmark.json +6943001239e0ebaa9aece2ed4312e934de55fe3f5c0551dfe17eacc58a5701a9 current-0/deserialization/sensor_micro/new/estimates.json +342f2f245492b01d96120a8bd943e91481eb21e529f4524e5dacb5cfe8750d58 current-0/deserialization/sensor_micro/new/sample.json +0b586e69151f17235973df190a010c1c5a45a746053c85ca7f9dc3d3d1eb9e6b current-0/deserialization/sensor_micro/new/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 current-0/serialization/catalog_items/1000/base/benchmark.json +6ce0b9dcaba4231a527c527baf74242a105b1bdb067497f601edb034e45946af current-0/serialization/catalog_items/1000/base/estimates.json +86b3cfcce5a8d55ca3773578c7678215b7c62ab27adddb55b5e78de22ca1a43b current-0/serialization/catalog_items/1000/base/sample.json +93c02be88affe5fdcae254e4699e5bc8998fd729fc62432f6f047292d188dc02 current-0/serialization/catalog_items/1000/base/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 current-0/serialization/catalog_items/1000/new/benchmark.json +6ce0b9dcaba4231a527c527baf74242a105b1bdb067497f601edb034e45946af current-0/serialization/catalog_items/1000/new/estimates.json +86b3cfcce5a8d55ca3773578c7678215b7c62ab27adddb55b5e78de22ca1a43b current-0/serialization/catalog_items/1000/new/sample.json +93c02be88affe5fdcae254e4699e5bc8998fd729fc62432f6f047292d188dc02 current-0/serialization/catalog_items/1000/new/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd current-0/serialization/catalog_items/10000/base/benchmark.json +361413d9f63c307d9ebec4a83c885b43dee5cfbb88135b2b349c30c5386633fc current-0/serialization/catalog_items/10000/base/estimates.json +aaa1a9a465ecff3bd7bafd27bc327f5231b72ca8367d0a86fce86a96c2ee0990 current-0/serialization/catalog_items/10000/base/sample.json +c8be7380e9878eff38efd8bdd785cb489554443e054d92ee51c1eef975ea47ba current-0/serialization/catalog_items/10000/base/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd current-0/serialization/catalog_items/10000/new/benchmark.json +361413d9f63c307d9ebec4a83c885b43dee5cfbb88135b2b349c30c5386633fc current-0/serialization/catalog_items/10000/new/estimates.json +aaa1a9a465ecff3bd7bafd27bc327f5231b72ca8367d0a86fce86a96c2ee0990 current-0/serialization/catalog_items/10000/new/sample.json +c8be7380e9878eff38efd8bdd785cb489554443e054d92ee51c1eef975ea47ba current-0/serialization/catalog_items/10000/new/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 current-0/serialization/sensor_micro/base/benchmark.json +409071805feb56b6ee94f5fbeaa687d757ed55819c2faa96f4158fafb5dde658 current-0/serialization/sensor_micro/base/estimates.json +5fc5c5b107bb7572b9bb49ba7bb1422099e8a8b95e1f6aff9efc971e300a51e3 current-0/serialization/sensor_micro/base/sample.json +cd29ceb19f920c049dd9180226508e7f81395228920de9e36ab394c2f1b5ab9c current-0/serialization/sensor_micro/base/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 current-0/serialization/sensor_micro/new/benchmark.json +409071805feb56b6ee94f5fbeaa687d757ed55819c2faa96f4158fafb5dde658 current-0/serialization/sensor_micro/new/estimates.json +5fc5c5b107bb7572b9bb49ba7bb1422099e8a8b95e1f6aff9efc971e300a51e3 current-0/serialization/sensor_micro/new/sample.json +cd29ceb19f920c049dd9180226508e7f81395228920de9e36ab394c2f1b5ab9c current-0/serialization/sensor_micro/new/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 current-1/deserialization/catalog_items/1000/base/benchmark.json +1f914db629ee7cc9a4141eb2752529de557ccee830328d66673b48b3adabcc4a current-1/deserialization/catalog_items/1000/base/estimates.json +ffda57dfcc04f6166d2a206063fbd4040d0922e9efcb369d7d189e03e09a77f8 current-1/deserialization/catalog_items/1000/base/sample.json +ff42bb0424d8cac97203a065d588550e2912b74c780ea66e481f589f7b8c6484 current-1/deserialization/catalog_items/1000/base/tukey.json +a9a199c4234205c7bbdc0b2efe0a05c81ffa333b7cb5b0cfafb9b2299589e360 current-1/deserialization/catalog_items/1000/new/benchmark.json +1f914db629ee7cc9a4141eb2752529de557ccee830328d66673b48b3adabcc4a current-1/deserialization/catalog_items/1000/new/estimates.json +ffda57dfcc04f6166d2a206063fbd4040d0922e9efcb369d7d189e03e09a77f8 current-1/deserialization/catalog_items/1000/new/sample.json +ff42bb0424d8cac97203a065d588550e2912b74c780ea66e481f589f7b8c6484 current-1/deserialization/catalog_items/1000/new/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d current-1/deserialization/catalog_items/10000/base/benchmark.json +6aa2b26307b6b81dfbf65a44cd6d5ce79a231927e4a20fc721801f41d029a1da current-1/deserialization/catalog_items/10000/base/estimates.json +fbb8a7c5ba2e52dcb6b01789cf2fae12d7a103ecd97ceff2a1db870a8ef989ec current-1/deserialization/catalog_items/10000/base/sample.json +6ca8df2e777c4c1b2335e603c536f94378f410abbd7e4d741d49f2132cebc4b2 current-1/deserialization/catalog_items/10000/base/tukey.json +606da05652663411933f369574278b3048954bca5f91fa84fbb88881f3c0fb9d current-1/deserialization/catalog_items/10000/new/benchmark.json +6aa2b26307b6b81dfbf65a44cd6d5ce79a231927e4a20fc721801f41d029a1da current-1/deserialization/catalog_items/10000/new/estimates.json +fbb8a7c5ba2e52dcb6b01789cf2fae12d7a103ecd97ceff2a1db870a8ef989ec current-1/deserialization/catalog_items/10000/new/sample.json +6ca8df2e777c4c1b2335e603c536f94378f410abbd7e4d741d49f2132cebc4b2 current-1/deserialization/catalog_items/10000/new/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 current-1/deserialization/sensor_micro/base/benchmark.json +7ab293936aa4aebfc75b69fb4771163ee7d8ff673df66c948416ed1f321c28e8 current-1/deserialization/sensor_micro/base/estimates.json +f112005eeb3e51edf2ba1ac6791c4f23949e485de4455364acf7c45dbc2ab040 current-1/deserialization/sensor_micro/base/sample.json +b7ef2a745a58a5c4aca87f068fe6e6a89d27d554eab9d0de26ea4eaad6842806 current-1/deserialization/sensor_micro/base/tukey.json +2f8bffe13cd590b5cfc5f153c574d011b6d6d4482c12ca937f077e01369378b3 current-1/deserialization/sensor_micro/new/benchmark.json +7ab293936aa4aebfc75b69fb4771163ee7d8ff673df66c948416ed1f321c28e8 current-1/deserialization/sensor_micro/new/estimates.json +f112005eeb3e51edf2ba1ac6791c4f23949e485de4455364acf7c45dbc2ab040 current-1/deserialization/sensor_micro/new/sample.json +b7ef2a745a58a5c4aca87f068fe6e6a89d27d554eab9d0de26ea4eaad6842806 current-1/deserialization/sensor_micro/new/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 current-1/serialization/catalog_items/1000/base/benchmark.json +a23322283eabda1f536bebbb51e0f7cf94120297161ebafdd80c66b98c4a9e99 current-1/serialization/catalog_items/1000/base/estimates.json +7a0124d5c836bd8763a8948ef81965a15a567d22848802298697fd3a33027a13 current-1/serialization/catalog_items/1000/base/sample.json +d067800b0fefedcb283c3d68b7bf48549351d91d3216f5a956f8525e128833bc current-1/serialization/catalog_items/1000/base/tukey.json +c8fd688a4a07f28fe31946942c6dae91a7fce48a0050dd58550d4e9f2d67f2c6 current-1/serialization/catalog_items/1000/new/benchmark.json +a23322283eabda1f536bebbb51e0f7cf94120297161ebafdd80c66b98c4a9e99 current-1/serialization/catalog_items/1000/new/estimates.json +7a0124d5c836bd8763a8948ef81965a15a567d22848802298697fd3a33027a13 current-1/serialization/catalog_items/1000/new/sample.json +d067800b0fefedcb283c3d68b7bf48549351d91d3216f5a956f8525e128833bc current-1/serialization/catalog_items/1000/new/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd current-1/serialization/catalog_items/10000/base/benchmark.json +b423a5c9a082fa3f8a2157c66a63bff4fd62e6b8a2b391328f3fca12ea9e4c98 current-1/serialization/catalog_items/10000/base/estimates.json +cfe39de7c2b787f61a355fca4819a049faedf51d0547524ef323c61cdf1400c7 current-1/serialization/catalog_items/10000/base/sample.json +0f0fcd241454db00d7c5e683ebb0611df5f077a00205a35bbc9f3137510725fb current-1/serialization/catalog_items/10000/base/tukey.json +ab2b4d0591784e51d10e172fdc50c3d056aba94e803ca35633e3eb41866b37dd current-1/serialization/catalog_items/10000/new/benchmark.json +b423a5c9a082fa3f8a2157c66a63bff4fd62e6b8a2b391328f3fca12ea9e4c98 current-1/serialization/catalog_items/10000/new/estimates.json +cfe39de7c2b787f61a355fca4819a049faedf51d0547524ef323c61cdf1400c7 current-1/serialization/catalog_items/10000/new/sample.json +0f0fcd241454db00d7c5e683ebb0611df5f077a00205a35bbc9f3137510725fb current-1/serialization/catalog_items/10000/new/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 current-1/serialization/sensor_micro/base/benchmark.json +40e4f740ed43a55fc24b2a9225d61099713c3c926949873ad1e4b59a1673682c current-1/serialization/sensor_micro/base/estimates.json +a589a1e2dc6ee831d871a5b204f4e9d477cf9cc4cb06eb9273f1c709a391fc9a current-1/serialization/sensor_micro/base/sample.json +3e6e5b1ac2ab5f13d23220082a4ff819516f8797eff2a7f707b01204b02c0268 current-1/serialization/sensor_micro/base/tukey.json +7ec2a49ce4ced0e9c3f1e30853291da13b5dbab719bdab7fb39143d96a820f77 current-1/serialization/sensor_micro/new/benchmark.json +40e4f740ed43a55fc24b2a9225d61099713c3c926949873ad1e4b59a1673682c current-1/serialization/sensor_micro/new/estimates.json +a589a1e2dc6ee831d871a5b204f4e9d477cf9cc4cb06eb9273f1c709a391fc9a current-1/serialization/sensor_micro/new/sample.json +3e6e5b1ac2ab5f13d23220082a4ff819516f8797eff2a7f707b01204b02c0268 current-1/serialization/sensor_micro/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/criterion-results.tar.gz new file mode 100644 index 0000000..4759cba Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current-0.txt new file mode 100644 index 0000000..a83d1fa --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current-0.txt @@ -0,0 +1,62 @@ +memcap: <=7729 MiB (60% of 12882 MiB available) [systemd MemoryMax, swap off] +Benchmarking deserialization/sensor_micro +Benchmarking deserialization/sensor_micro: Warming up for 1.0000 s +Benchmarking deserialization/sensor_micro: Collecting 50 samples in estimated 2.0002 s (2.0M iterations) +Benchmarking deserialization/sensor_micro: Analyzing +deserialization/sensor_micro + time: [1.0036 µs 1.0230 µs 1.0469 µs] + thrpt: [85.626 MiB/s 87.626 MiB/s 89.320 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe +Benchmarking deserialization/catalog_items/1000 +Benchmarking deserialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/1000: Collecting 50 samples in estimated 2.0239 s (2550 iterations) +Benchmarking deserialization/catalog_items/1000: Analyzing +deserialization/catalog_items/1000 + time: [791.71 µs 799.80 µs 810.49 µs] + thrpt: [75.202 MiB/s 76.206 MiB/s 76.986 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking deserialization/catalog_items/10000 +Benchmarking deserialization/catalog_items/10000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/10000: Collecting 50 samples in estimated 2.3973 s (300 iterations) +Benchmarking deserialization/catalog_items/10000: Analyzing +deserialization/catalog_items/10000 + time: [7.9358 ms 7.9779 ms 8.0328 ms] + thrpt: [79.414 MiB/s 79.961 MiB/s 80.386 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe + +Benchmarking serialization/sensor_micro +Benchmarking serialization/sensor_micro: Warming up for 1.0000 s +Benchmarking serialization/sensor_micro: Collecting 50 samples in estimated 2.0003 s (8.9M iterations) +Benchmarking serialization/sensor_micro: Analyzing +serialization/sensor_micro + time: [220.68 ns 221.48 ns 222.52 ns] + thrpt: [402.87 MiB/s 404.75 MiB/s 406.23 MiB/s] +Benchmarking serialization/catalog_items/1000 +Benchmarking serialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking serialization/catalog_items/1000: Collecting 50 samples in estimated 2.0053 s (11k iterations) +Benchmarking serialization/catalog_items/1000: Analyzing +serialization/catalog_items/1000 + time: [175.70 µs 178.24 µs 181.35 µs] + thrpt: [333.46 MiB/s 339.28 MiB/s 344.18 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 4 (8.00%) high mild + 2 (4.00%) high severe +Benchmarking serialization/catalog_items/10000 +Benchmarking serialization/catalog_items/10000: Warming up for 1.0000 s + +Warning: Unable to complete 50 samples in 2.0s. You may wish to increase target time to 2.3s, enable flat sampling, or reduce sample count to 30. +Benchmarking serialization/catalog_items/10000: Collecting 50 samples in estimated 2.2843 s (1275 iterations) +Benchmarking serialization/catalog_items/10000: Analyzing +serialization/catalog_items/10000 + time: [1.7742 ms 1.7949 ms 1.8192 ms] + thrpt: [348.04 MiB/s 352.75 MiB/s 356.87 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current-1.txt new file mode 100644 index 0000000..d2ab9e7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current-1.txt @@ -0,0 +1,63 @@ +memcap: <=7732 MiB (60% of 12887 MiB available) [systemd MemoryMax, swap off] +Benchmarking deserialization/sensor_micro +Benchmarking deserialization/sensor_micro: Warming up for 1.0000 s +Benchmarking deserialization/sensor_micro: Collecting 50 samples in estimated 2.0011 s (2.0M iterations) +Benchmarking deserialization/sensor_micro: Analyzing +deserialization/sensor_micro + time: [988.68 ns 1.0005 µs 1.0197 µs] + thrpt: [87.914 MiB/s 89.598 MiB/s 90.672 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe +Benchmarking deserialization/catalog_items/1000 +Benchmarking deserialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/1000: Collecting 50 samples in estimated 2.0425 s (2550 iterations) +Benchmarking deserialization/catalog_items/1000: Analyzing +deserialization/catalog_items/1000 + time: [794.18 µs 798.28 µs 802.74 µs] + thrpt: [75.928 MiB/s 76.352 MiB/s 76.746 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high mild +Benchmarking deserialization/catalog_items/10000 +Benchmarking deserialization/catalog_items/10000: Warming up for 1.0000 s +Benchmarking deserialization/catalog_items/10000: Collecting 50 samples in estimated 2.0081 s (250 iterations) +Benchmarking deserialization/catalog_items/10000: Analyzing +deserialization/catalog_items/10000 + time: [7.9953 ms 8.0362 ms 8.0851 ms] + thrpt: [78.901 MiB/s 79.381 MiB/s 79.788 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe + +Benchmarking serialization/sensor_micro +Benchmarking serialization/sensor_micro: Warming up for 1.0000 s +Benchmarking serialization/sensor_micro: Collecting 50 samples in estimated 2.0000 s (9.0M iterations) +Benchmarking serialization/sensor_micro: Analyzing +serialization/sensor_micro + time: [220.20 ns 221.59 ns 223.58 ns] + thrpt: [400.96 MiB/s 404.56 MiB/s 407.10 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 4 (8.00%) high severe +Benchmarking serialization/catalog_items/1000 +Benchmarking serialization/catalog_items/1000: Warming up for 1.0000 s +Benchmarking serialization/catalog_items/1000: Collecting 50 samples in estimated 2.0338 s (11k iterations) +Benchmarking serialization/catalog_items/1000: Analyzing +serialization/catalog_items/1000 + time: [176.18 µs 178.21 µs 180.77 µs] + thrpt: [334.53 MiB/s 339.34 MiB/s 343.26 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 4 (8.00%) high mild + 2 (4.00%) high severe +Benchmarking serialization/catalog_items/10000 +Benchmarking serialization/catalog_items/10000: Warming up for 1.0000 s + +Warning: Unable to complete 50 samples in 2.0s. You may wish to increase target time to 2.3s, enable flat sampling, or reduce sample count to 30. +Benchmarking serialization/catalog_items/10000: Collecting 50 samples in estimated 2.2881 s (1275 iterations) +Benchmarking serialization/catalog_items/10000: Analyzing +serialization/catalog_items/10000 + time: [1.7861 ms 1.8084 ms 1.8365 ms] + thrpt: [344.76 MiB/s 350.11 MiB/s 354.49 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 4 (8.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current-build.txt new file mode 100644 index 0000000..b0e46bd --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7695 MiB (60% of 12825 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.53s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/harness.rs new file mode 100644 index 0000000..073ad98 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/harness.rs @@ -0,0 +1,172 @@ +use std::hint::black_box; + +use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion, Throughput}; +use polyxml::schema::{FieldKind, FieldSchema, ModelSchema, ScalarType, ValueType}; +use polyxml::{deserialize, serialize}; +use std::sync::Arc; + +fn build_sensor_fixture() -> (Arc, Vec) { + let schema = ModelSchema::builder("Sensor") + .field(FieldSchema::new( + "id", + b"id", + FieldKind::Attribute, + ValueType::Scalar(ScalarType::Int), + )) + .field(FieldSchema::new( + "temp", + b"temp", + FieldKind::Element, + ValueType::Scalar(ScalarType::Float), + )) + .field(FieldSchema::new( + "status", + b"status", + FieldKind::Element, + ValueType::Scalar(ScalarType::String), + )) + .field(FieldSchema::new( + "active", + b"active", + FieldKind::Element, + ValueType::Scalar(ScalarType::Bool), + )) + .build(); + + let xml = br#"23.75OPERATIONALtrue"#.to_vec(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn build_catalog_fixture(count: usize) -> (Arc, Vec) { + let item_schema = ModelSchema::builder("Item") + .field(FieldSchema::new( + "id", + b"id", + FieldKind::Attribute, + ValueType::Scalar(ScalarType::Int), + )) + .field(FieldSchema::new( + "name", + b"name", + FieldKind::Element, + ValueType::Scalar(ScalarType::String), + )) + .field(FieldSchema::new( + "price", + b"price", + FieldKind::Element, + ValueType::Scalar(ScalarType::Float), + )) + .build(); + + let catalog_schema = ModelSchema::builder("Catalog") + .field(FieldSchema::new( + "items", + b"item", + FieldKind::Element, + ValueType::List(Box::new(ValueType::Nested(item_schema))), + )) + .build(); + + let mut xml = String::with_capacity(count * 64 + 32); + xml.push_str(""); + for i in 0..count { + use std::fmt::Write; + write!( + xml, + r#"Part-{i}{:.2}"#, + (i as f64) * 1.25 + ) + .unwrap(); + } + xml.push_str(""); + + let xml = xml.into_bytes(); + let value = deserialize(&xml, Arc::clone(&catalog_schema)).unwrap(); + assert_eq!(value.get("items").unwrap().as_list().unwrap().len(), count); + let output = serialize("Catalog", &value, &catalog_schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&catalog_schema)).unwrap()); + (catalog_schema, xml) +} + +fn bench_deserialization(c: &mut Criterion) { + let mut group = c.benchmark_group("deserialization"); + + // 1. Sensor Telemetry (Micro) + { + let (schema, xml) = build_sensor_fixture(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function("sensor_micro", |b| { + b.iter(|| { + let res = deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(); + black_box(res); + }); + }); + } + + // 2. Catalog Batch (1,000 and 10,000 items) + for &count in &[1_000, 10_000] { + let (schema, xml) = build_catalog_fixture(count); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input(BenchmarkId::new("catalog_items", count), &count, |b, _| { + b.iter(|| { + let res = deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(); + black_box(res); + }); + }); + } + + group.finish(); +} + +fn bench_serialization(c: &mut Criterion) { + let mut group = c.benchmark_group("serialization"); + + // 1. Sensor Telemetry (Micro) + { + let (schema, xml) = build_sensor_fixture(); + let val = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let expected_bytes = serialize("Sensor", &val, &schema, None).unwrap(); + group.throughput(Throughput::Bytes(expected_bytes.len() as u64)); + group.bench_function("sensor_micro", |b| { + b.iter(|| { + let res = serialize( + black_box("Sensor"), + black_box(&val), + black_box(&schema), + black_box(None), + ) + .unwrap(); + black_box(res); + }); + }); + } + + // 2. Catalog Batch (1,000 and 10,000 items) + for &count in &[1_000, 10_000] { + let (schema, xml) = build_catalog_fixture(count); + let val = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let expected_bytes = serialize("Catalog", &val, &schema, None).unwrap(); + group.throughput(Throughput::Bytes(expected_bytes.len() as u64)); + group.bench_with_input(BenchmarkId::new("catalog_items", count), &count, |b, _| { + b.iter(|| { + let res = serialize( + black_box("Catalog"), + black_box(&val), + black_box(&schema), + black_box(None), + ) + .unwrap(); + black_box(res); + }); + }); + } + + group.finish(); +} + +criterion_group!(benches, bench_deserialization, bench_serialization); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/metadata.json new file mode 100644 index 0000000..0bba916 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "d3bf1728be1d265b6b5d317946492cec9b4a6f8c" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/summary.json new file mode 100644 index 0000000..82b5870 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-core/summary.json @@ -0,0 +1,314 @@ +{ + "deserialization/catalog_items/1000": { + "baseline_ns": 794214.4065569597, + "candidate_ns": 798093.0453884681, + "delta_percent": 0.48836168161729976, + "speedup": 0.9951401169902183, + "process_deltas_percent": [ + 0.07272405477622979, + 0.9074322205996799 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 789694.0575539211, + "upper_bound": 806560.8985931715 + }, + "point_estimate": 797480.7796328802, + "standard_error": 4325.720788364533 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 784363.6275347313, + "upper_bound": 799025.5439318795 + }, + "point_estimate": 790948.0334810392, + "standard_error": 3777.15687271325 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 792348.4740756826, + "upper_bound": 804961.2887180363 + }, + "point_estimate": 798060.7399918904, + "standard_error": 3240.1290225780112 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 795134.1510626642, + "upper_bound": 801431.5220448561 + }, + "point_estimate": 798125.3507850457, + "standard_error": 1609.4779827705308 + } + ] + } + }, + "deserialization/catalog_items/10000": { + "baseline_ns": 7983824.753333335, + "candidate_ns": 8007057.926000003, + "delta_percent": 0.2910030390755658, + "speedup": 0.99709841331468, + "process_deltas_percent": [ + 1.543062779190496, + -0.9217959376344398 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 7833443.8319166675, + "upper_bound": 7885676.472999998 + }, + "point_estimate": 7856656.793333334, + "standard_error": 13407.552840121058 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 7980003.624750001, + "upper_bound": 8278041.835083335 + }, + "point_estimate": 8110992.713333336, + "standard_error": 76708.81339220669 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 7935782.533583332, + "upper_bound": 8032849.171666669 + }, + "point_estimate": 7977889.940000001, + "standard_error": 25089.746929408688 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 7995254.7635, + "upper_bound": 8085135.397300001 + }, + "point_estimate": 8036225.912000003, + "standard_error": 23021.19492847627 + } + ] + } + }, + "deserialization/sensor_micro": { + "baseline_ns": 981.2786364389249, + "candidate_ns": 1013.5401051285522, + "delta_percent": 3.2876970405373074, + "speedup": 0.96816951936447, + "process_deltas_percent": [ + 3.158397008714231, + 3.4193464648257343 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 981.3140995402727, + "upper_bound": 1001.2342619894108 + }, + "point_estimate": 990.1133305946256, + "standard_error": 5.133127744143527 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 964.7906026877024, + "upper_bound": 981.6153017767981 + }, + "point_estimate": 972.443942283224, + "standard_error": 4.334105865372758 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 1004.9120374996454, + "upper_bound": 1042.4872499903504 + }, + "point_estimate": 1021.385040411007, + "standard_error": 9.63263642680912 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 995.2070953910005, + "upper_bound": 1018.7498532395375 + }, + "point_estimate": 1005.6951698460974, + "standard_error": 6.062930386080829 + } + ] + } + }, + "serialization/catalog_items/1000": { + "baseline_ns": 181295.30505430995, + "candidate_ns": 177597.75460482438, + "delta_percent": -2.0395180384720435, + "speedup": 1.0208198040437677, + "process_deltas_percent": [ + 0.010815036302802561, + -4.000241089492773 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 176627.2299720362, + "upper_bound": 177959.2749883287 + }, + "point_estimate": 177245.03099109087, + "standard_error": 340.9138513333625 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 183341.2097612919, + "upper_bound": 187820.61330510207 + }, + "point_estimate": 185345.579117529, + "standard_error": 1149.5785172412154 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 175360.11926291167, + "upper_bound": 179814.3740627805 + }, + "point_estimate": 177264.2001055375, + "standard_error": 1152.8245396215007 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 175981.39354740918, + "upper_bound": 180212.99112350435 + }, + "point_estimate": 177931.30910411128, + "standard_error": 1083.1109472222497 + } + ] + } + }, + "serialization/catalog_items/10000": { + "baseline_ns": 1811847.2980606128, + "candidate_ns": 1796843.460628629, + "delta_percent": -0.8280961341523563, + "speedup": 1.0083501082652657, + "process_deltas_percent": [ + -0.3662859487902792, + -1.2812019984950296 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 1783876.1200385108, + "upper_bound": 1808036.8504058453 + }, + "point_estimate": 1794609.7596815405, + "standard_error": 6224.251092951574 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 1812587.9893485843, + "upper_bound": 1847487.2646033464 + }, + "point_estimate": 1829084.8364396847, + "standard_error": 8947.361925743302 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 1777354.8693892977, + "upper_bound": 1800689.7379657254 + }, + "point_estimate": 1788036.356296208, + "standard_error": 6001.872936633647 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 1784054.0236303322, + "upper_bound": 1833530.5968862912 + }, + "point_estimate": 1805650.56496105, + "standard_error": 12687.80093140197 + } + ] + } + }, + "serialization/sensor_micro": { + "baseline_ns": 226.34549204471244, + "candidate_ns": 224.55717375635396, + "delta_percent": -0.7900834570211845, + "speedup": 1.007963754880077, + "process_deltas_percent": [ + -0.08521372031684571, + -1.5003817974513334 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 225.65515538714712, + "upper_bound": 229.0428890783507 + }, + "point_estimate": 227.2137563882112, + "standard_error": 0.8685902426584772 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 224.58414922223227, + "upper_bound": 226.4838164700616 + }, + "point_estimate": 225.4772277012137, + "standard_error": 0.48568161229068485 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 224.4423895002145, + "upper_bound": 229.8373794186145 + }, + "point_estimate": 227.02013909332115, + "standard_error": 1.3787764212170397 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 220.27785233286204, + "upper_bound": 224.4251630837977 + }, + "point_estimate": 222.0942084193868, + "standard_error": 1.067394051223539 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline-0.txt new file mode 100644 index 0000000..71d77c8 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline-0.txt @@ -0,0 +1,62 @@ +memcap: <=7653 MiB (60% of 12755 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0001 s (803k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.4724 µs 2.4901 µs 2.5144 µs] + thrpt: [151.34 MiB/s 152.81 MiB/s 153.91 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0001 s (306k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [6.4314 µs 6.4971 µs 6.5802 µs] + thrpt: [118.12 MiB/s 119.63 MiB/s 120.85 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 5 (10.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0000 s (152k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [13.225 µs 13.421 µs 13.656 µs] + thrpt: [115.58 MiB/s 117.60 MiB/s 119.34 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 2 (4.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0001 s (773k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.5853 µs 2.5999 µs 2.6199 µs] + thrpt: [145.24 MiB/s 146.36 MiB/s 147.18 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0002 s (304k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.5385 µs 6.5649 µs 6.6016 µs] + thrpt: [117.74 MiB/s 118.39 MiB/s 118.87 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0000 s (127k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [15.739 µs 16.010 µs 16.422 µs] + thrpt: [100.52 MiB/s 103.11 MiB/s 104.89 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline-1.txt new file mode 100644 index 0000000..b3d62d3 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline-1.txt @@ -0,0 +1,62 @@ +memcap: <=7707 MiB (60% of 12846 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0001 s (810k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.4805 µs 2.5135 µs 2.5541 µs] + thrpt: [148.98 MiB/s 151.39 MiB/s 153.40 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0002 s (310k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [6.3913 µs 6.6176 µs 6.9585 µs] + thrpt: [111.70 MiB/s 117.45 MiB/s 121.61 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0006 s (154k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [13.009 µs 13.174 µs 13.401 µs] + thrpt: [117.78 MiB/s 119.81 MiB/s 121.33 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0001 s (779k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.5588 µs 2.5822 µs 2.6110 µs] + thrpt: [145.73 MiB/s 147.36 MiB/s 148.71 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0002 s (299k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.4942 µs 6.5105 µs 6.5298 µs] + thrpt: [119.03 MiB/s 119.38 MiB/s 119.68 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0005 s (127k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [15.642 µs 15.725 µs 15.832 µs] + thrpt: [104.27 MiB/s 104.98 MiB/s 105.54 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline-build.txt new file mode 100644 index 0000000..6ebb1ed --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7688 MiB (60% of 12814 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.74s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/criterion-SHA256SUMS new file mode 100644 index 0000000..8b35a36 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/criterion-SHA256SUMS @@ -0,0 +1,192 @@ +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-0/branch_write/branches_256/128/base/benchmark.json +c49d140bc2f6111762631f4128cb1e76dbdabc156189daa420a77d4de84ecbf7 baseline-0/branch_write/branches_256/128/base/estimates.json +1b4686170db5aa421bd9c29fe0a34b9917aa81c95d1c942b33ea1be33814c749 baseline-0/branch_write/branches_256/128/base/sample.json +4b15a329a306f37b99635c5dfcfbb3c320ad22a189828200f3f0d06a09d84b2f baseline-0/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-0/branch_write/branches_256/128/new/benchmark.json +c49d140bc2f6111762631f4128cb1e76dbdabc156189daa420a77d4de84ecbf7 baseline-0/branch_write/branches_256/128/new/estimates.json +1b4686170db5aa421bd9c29fe0a34b9917aa81c95d1c942b33ea1be33814c749 baseline-0/branch_write/branches_256/128/new/sample.json +4b15a329a306f37b99635c5dfcfbb3c320ad22a189828200f3f0d06a09d84b2f baseline-0/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-0/branch_write/branches_256/32/base/benchmark.json +f8c8d399bfc57a81dc6dfe91e923ac0a5e8c7b465a71fdd4735076dd41e9593a baseline-0/branch_write/branches_256/32/base/estimates.json +9c8f862f9078257c8498d128709fb4b16b95629bb7e11454b457919c234cb46f baseline-0/branch_write/branches_256/32/base/sample.json +47fd51fd6304fc2489c2d8b61cb3e9ede20b24858f964e34c72c7d185b0ce09a baseline-0/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-0/branch_write/branches_256/32/new/benchmark.json +f8c8d399bfc57a81dc6dfe91e923ac0a5e8c7b465a71fdd4735076dd41e9593a baseline-0/branch_write/branches_256/32/new/estimates.json +9c8f862f9078257c8498d128709fb4b16b95629bb7e11454b457919c234cb46f baseline-0/branch_write/branches_256/32/new/sample.json +47fd51fd6304fc2489c2d8b61cb3e9ede20b24858f964e34c72c7d185b0ce09a baseline-0/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-0/branch_write/branches_256/64/base/benchmark.json +ee2ff1ae0344eb356534b3a18459dec7d32fec38bae6274cafff61aef88239ea baseline-0/branch_write/branches_256/64/base/estimates.json +214efa51b4f1df56534f701cf49658cfe3bf5602cd8ac5e7453c69c0477ffdf4 baseline-0/branch_write/branches_256/64/base/sample.json +0b66d40d8181593ce35cafdef0c8cff6c84487db86cf43bbd702b45e1086868e baseline-0/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-0/branch_write/branches_256/64/new/benchmark.json +ee2ff1ae0344eb356534b3a18459dec7d32fec38bae6274cafff61aef88239ea baseline-0/branch_write/branches_256/64/new/estimates.json +214efa51b4f1df56534f701cf49658cfe3bf5602cd8ac5e7453c69c0477ffdf4 baseline-0/branch_write/branches_256/64/new/sample.json +0b66d40d8181593ce35cafdef0c8cff6c84487db86cf43bbd702b45e1086868e baseline-0/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-0/branch_write/branches_64/128/base/benchmark.json +f0b566138b3e5116463d2e327491da198c7f1e61a7c531b222ff377c95a3508a baseline-0/branch_write/branches_64/128/base/estimates.json +12d3e535fa7872d457eb550eb143078bad5c75acc632531792b4bdef6d2a6e27 baseline-0/branch_write/branches_64/128/base/sample.json +a38467db0d607063d86c7ef511853463d3f429ae9ead0ca624020737639fe5d8 baseline-0/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-0/branch_write/branches_64/128/new/benchmark.json +f0b566138b3e5116463d2e327491da198c7f1e61a7c531b222ff377c95a3508a baseline-0/branch_write/branches_64/128/new/estimates.json +12d3e535fa7872d457eb550eb143078bad5c75acc632531792b4bdef6d2a6e27 baseline-0/branch_write/branches_64/128/new/sample.json +a38467db0d607063d86c7ef511853463d3f429ae9ead0ca624020737639fe5d8 baseline-0/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-0/branch_write/branches_64/32/base/benchmark.json +ebbc68cddb4846f5d2a2d58f1485781322ac76bb4e37be0bf465782cbaa47467 baseline-0/branch_write/branches_64/32/base/estimates.json +40534ac870365891736becb5b01e13aa1e390ff9d37747b4b1bfa62eb8d19533 baseline-0/branch_write/branches_64/32/base/sample.json +e977802b8e296c01b8fc13e02dd32346ad540ec70ddf774d3eaec030a9651d9c baseline-0/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-0/branch_write/branches_64/32/new/benchmark.json +ebbc68cddb4846f5d2a2d58f1485781322ac76bb4e37be0bf465782cbaa47467 baseline-0/branch_write/branches_64/32/new/estimates.json +40534ac870365891736becb5b01e13aa1e390ff9d37747b4b1bfa62eb8d19533 baseline-0/branch_write/branches_64/32/new/sample.json +e977802b8e296c01b8fc13e02dd32346ad540ec70ddf774d3eaec030a9651d9c baseline-0/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-0/branch_write/branches_64/64/base/benchmark.json +69626314e4246318badc4f505f554426111922499e8c169daf21a9f7a2686a28 baseline-0/branch_write/branches_64/64/base/estimates.json +28d8999bea9bd4323d8ee2ef75eb5f1ff5cbf37e5035b1688af4dc6f78d1cf5b baseline-0/branch_write/branches_64/64/base/sample.json +1193f20c866355ea768ae64234cb7ff70d420062bddae8933aa9834b240d57e3 baseline-0/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-0/branch_write/branches_64/64/new/benchmark.json +69626314e4246318badc4f505f554426111922499e8c169daf21a9f7a2686a28 baseline-0/branch_write/branches_64/64/new/estimates.json +28d8999bea9bd4323d8ee2ef75eb5f1ff5cbf37e5035b1688af4dc6f78d1cf5b baseline-0/branch_write/branches_64/64/new/sample.json +1193f20c866355ea768ae64234cb7ff70d420062bddae8933aa9834b240d57e3 baseline-0/branch_write/branches_64/64/new/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-1/branch_write/branches_256/128/base/benchmark.json +60e68a9a9ee08a45c3574a26e27ed08cf37008272cb6d60c77fab5822d24461b baseline-1/branch_write/branches_256/128/base/estimates.json +d09ae03d42ad6262cf9ab411854aafc0f1f4c7a8a7d053fce3364b177ec61321 baseline-1/branch_write/branches_256/128/base/sample.json +488fa9c976d881a0edcf196c66d23a5870d7f3b81bc9ff0b3272729168029919 baseline-1/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-1/branch_write/branches_256/128/new/benchmark.json +60e68a9a9ee08a45c3574a26e27ed08cf37008272cb6d60c77fab5822d24461b baseline-1/branch_write/branches_256/128/new/estimates.json +d09ae03d42ad6262cf9ab411854aafc0f1f4c7a8a7d053fce3364b177ec61321 baseline-1/branch_write/branches_256/128/new/sample.json +488fa9c976d881a0edcf196c66d23a5870d7f3b81bc9ff0b3272729168029919 baseline-1/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-1/branch_write/branches_256/32/base/benchmark.json +574cf6875a3a0660f11acf2585c0e69bf1fc99f2c2329a866937a4ed696f6635 baseline-1/branch_write/branches_256/32/base/estimates.json +4eefb880aca828407c2bad598204eecaf639b91e414d93a6a75460ec1e5bae50 baseline-1/branch_write/branches_256/32/base/sample.json +41e55fa39bb6bcdbeb84801ef5a9fdd974cbfca411095a7fe0ffb894b6b587c8 baseline-1/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-1/branch_write/branches_256/32/new/benchmark.json +574cf6875a3a0660f11acf2585c0e69bf1fc99f2c2329a866937a4ed696f6635 baseline-1/branch_write/branches_256/32/new/estimates.json +4eefb880aca828407c2bad598204eecaf639b91e414d93a6a75460ec1e5bae50 baseline-1/branch_write/branches_256/32/new/sample.json +41e55fa39bb6bcdbeb84801ef5a9fdd974cbfca411095a7fe0ffb894b6b587c8 baseline-1/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-1/branch_write/branches_256/64/base/benchmark.json +57ebbfa0cdd25324cda9609f34ae9f8a94e0bafb1473f51b21da951afd638cd6 baseline-1/branch_write/branches_256/64/base/estimates.json +0bb9de35c95dc33b0753c427e16525b6886f8ab5e7349589d8c3117098f7c287 baseline-1/branch_write/branches_256/64/base/sample.json +a5b2a76adcaa8cb54f35d02305ee14601fef9580857286455cf45201a42b73bd baseline-1/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-1/branch_write/branches_256/64/new/benchmark.json +57ebbfa0cdd25324cda9609f34ae9f8a94e0bafb1473f51b21da951afd638cd6 baseline-1/branch_write/branches_256/64/new/estimates.json +0bb9de35c95dc33b0753c427e16525b6886f8ab5e7349589d8c3117098f7c287 baseline-1/branch_write/branches_256/64/new/sample.json +a5b2a76adcaa8cb54f35d02305ee14601fef9580857286455cf45201a42b73bd baseline-1/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-1/branch_write/branches_64/128/base/benchmark.json +cdd39784302dba5c90326ed5b48ca7ffda4d1feab4d36017d535985fd1da849d baseline-1/branch_write/branches_64/128/base/estimates.json +cb0e02f05b3e09823ede248528c3762b925eb40827dba44839fabc61db8b2207 baseline-1/branch_write/branches_64/128/base/sample.json +0cd14b9e36a3fdd5105ac810cc48c1413942916b080dc7599dd722c5b2cbfa4b baseline-1/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-1/branch_write/branches_64/128/new/benchmark.json +cdd39784302dba5c90326ed5b48ca7ffda4d1feab4d36017d535985fd1da849d baseline-1/branch_write/branches_64/128/new/estimates.json +cb0e02f05b3e09823ede248528c3762b925eb40827dba44839fabc61db8b2207 baseline-1/branch_write/branches_64/128/new/sample.json +0cd14b9e36a3fdd5105ac810cc48c1413942916b080dc7599dd722c5b2cbfa4b baseline-1/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-1/branch_write/branches_64/32/base/benchmark.json +a181abd68ecbfece547c1200aeca142edb02b44cafca1bf4a11829883c6375f2 baseline-1/branch_write/branches_64/32/base/estimates.json +4373fa4aadb37711a9879e78e9a8f2c287dcbb06215a5757c8b02fb727b54250 baseline-1/branch_write/branches_64/32/base/sample.json +5cd31e15585d669439bf58990b750877580cabda5c55e80db6e7877c13bde0f7 baseline-1/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-1/branch_write/branches_64/32/new/benchmark.json +a181abd68ecbfece547c1200aeca142edb02b44cafca1bf4a11829883c6375f2 baseline-1/branch_write/branches_64/32/new/estimates.json +4373fa4aadb37711a9879e78e9a8f2c287dcbb06215a5757c8b02fb727b54250 baseline-1/branch_write/branches_64/32/new/sample.json +5cd31e15585d669439bf58990b750877580cabda5c55e80db6e7877c13bde0f7 baseline-1/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-1/branch_write/branches_64/64/base/benchmark.json +f2cbba473240dc92fc2a36aa2b81807ad90be2c8e4345f224db102f9aaf365e0 baseline-1/branch_write/branches_64/64/base/estimates.json +66ae0c9488472268efe2b5a523129c037de4976c579213f5c0b2f65ee775cc14 baseline-1/branch_write/branches_64/64/base/sample.json +78f7d822c03d28b92273560d733bf7231dedf54eb5131966735bfc1bdd269a65 baseline-1/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-1/branch_write/branches_64/64/new/benchmark.json +f2cbba473240dc92fc2a36aa2b81807ad90be2c8e4345f224db102f9aaf365e0 baseline-1/branch_write/branches_64/64/new/estimates.json +66ae0c9488472268efe2b5a523129c037de4976c579213f5c0b2f65ee775cc14 baseline-1/branch_write/branches_64/64/new/sample.json +78f7d822c03d28b92273560d733bf7231dedf54eb5131966735bfc1bdd269a65 baseline-1/branch_write/branches_64/64/new/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-0/branch_write/branches_256/128/base/benchmark.json +84e6c716364fec13c10d248dc6f32cdd21e808dc5326f3d39c2d7fdba91b43ed current-0/branch_write/branches_256/128/base/estimates.json +fddc3365842e3894d68fc05d4d11e5942dd423652cbdaa715281a4efe66e213e current-0/branch_write/branches_256/128/base/sample.json +4ed6371f1c199b390a4e244ae9605771e32c7527a0d0a973db5e4c14e1fa9163 current-0/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-0/branch_write/branches_256/128/new/benchmark.json +84e6c716364fec13c10d248dc6f32cdd21e808dc5326f3d39c2d7fdba91b43ed current-0/branch_write/branches_256/128/new/estimates.json +fddc3365842e3894d68fc05d4d11e5942dd423652cbdaa715281a4efe66e213e current-0/branch_write/branches_256/128/new/sample.json +4ed6371f1c199b390a4e244ae9605771e32c7527a0d0a973db5e4c14e1fa9163 current-0/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-0/branch_write/branches_256/32/base/benchmark.json +230133070c2016709fdbdfed3f66ae877d4ac13b2599dc11ea69785999e651f2 current-0/branch_write/branches_256/32/base/estimates.json +8f3f37afb62c4dee3298696e5bbb443cbd3ec6fb178d0ec2b2d10ec56b6eaa9b current-0/branch_write/branches_256/32/base/sample.json +bdeffb0a408a3fc07de9fd18890bdf904faabbf92c9f2facf0b23c3a2172871a current-0/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-0/branch_write/branches_256/32/new/benchmark.json +230133070c2016709fdbdfed3f66ae877d4ac13b2599dc11ea69785999e651f2 current-0/branch_write/branches_256/32/new/estimates.json +8f3f37afb62c4dee3298696e5bbb443cbd3ec6fb178d0ec2b2d10ec56b6eaa9b current-0/branch_write/branches_256/32/new/sample.json +bdeffb0a408a3fc07de9fd18890bdf904faabbf92c9f2facf0b23c3a2172871a current-0/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-0/branch_write/branches_256/64/base/benchmark.json +972bb1e00c0392d8fda293bc1067075f04431d9e74b28acd7c0e5fe45167ded4 current-0/branch_write/branches_256/64/base/estimates.json +adf341484ae68bb88758365bb118f3a746013f42c74c4c59962704157ce52005 current-0/branch_write/branches_256/64/base/sample.json +e1c5e8dda86c281a4c8db315855c9056bdabc968b7600513fe0d6ac7a5f26eb0 current-0/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-0/branch_write/branches_256/64/new/benchmark.json +972bb1e00c0392d8fda293bc1067075f04431d9e74b28acd7c0e5fe45167ded4 current-0/branch_write/branches_256/64/new/estimates.json +adf341484ae68bb88758365bb118f3a746013f42c74c4c59962704157ce52005 current-0/branch_write/branches_256/64/new/sample.json +e1c5e8dda86c281a4c8db315855c9056bdabc968b7600513fe0d6ac7a5f26eb0 current-0/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-0/branch_write/branches_64/128/base/benchmark.json +2bab16045af35b6d6996563f00d26bf9cf888d1ab3a179cb8ce531feb3e9c947 current-0/branch_write/branches_64/128/base/estimates.json +38719d435ddaa9c07c220f9ea80d5367e905069ec383fa6fee5581274936f724 current-0/branch_write/branches_64/128/base/sample.json +c5aeded697b30c45b626137a1bd21161b65ba457652fa18ff2775d158c0592a2 current-0/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-0/branch_write/branches_64/128/new/benchmark.json +2bab16045af35b6d6996563f00d26bf9cf888d1ab3a179cb8ce531feb3e9c947 current-0/branch_write/branches_64/128/new/estimates.json +38719d435ddaa9c07c220f9ea80d5367e905069ec383fa6fee5581274936f724 current-0/branch_write/branches_64/128/new/sample.json +c5aeded697b30c45b626137a1bd21161b65ba457652fa18ff2775d158c0592a2 current-0/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-0/branch_write/branches_64/32/base/benchmark.json +1b77c3386aa8ea0c1f0fad44e13a0a05376dd7ba247e99f47d35f91121219bcd current-0/branch_write/branches_64/32/base/estimates.json +9e8ff20d1a61e356229b00d2492398ef0ffd1d57710426bc9e382aae13ed43eb current-0/branch_write/branches_64/32/base/sample.json +a44882ca4539214cff2903670b438e651532fd39af593b3726f52ffe19bb5950 current-0/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-0/branch_write/branches_64/32/new/benchmark.json +1b77c3386aa8ea0c1f0fad44e13a0a05376dd7ba247e99f47d35f91121219bcd current-0/branch_write/branches_64/32/new/estimates.json +9e8ff20d1a61e356229b00d2492398ef0ffd1d57710426bc9e382aae13ed43eb current-0/branch_write/branches_64/32/new/sample.json +a44882ca4539214cff2903670b438e651532fd39af593b3726f52ffe19bb5950 current-0/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-0/branch_write/branches_64/64/base/benchmark.json +4a4e81bc2ae13a05c40364cffc4467b033e0d46da0f0aa0fe9a3db28de4dda59 current-0/branch_write/branches_64/64/base/estimates.json +e0ccca21eea0d29f2035d11c428d7e276455e138255938e10aa46e7356b25844 current-0/branch_write/branches_64/64/base/sample.json +ba395458194f35463a842b3ab72ef9d8743990bb3d9309a4f45e312ce434ea09 current-0/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-0/branch_write/branches_64/64/new/benchmark.json +4a4e81bc2ae13a05c40364cffc4467b033e0d46da0f0aa0fe9a3db28de4dda59 current-0/branch_write/branches_64/64/new/estimates.json +e0ccca21eea0d29f2035d11c428d7e276455e138255938e10aa46e7356b25844 current-0/branch_write/branches_64/64/new/sample.json +ba395458194f35463a842b3ab72ef9d8743990bb3d9309a4f45e312ce434ea09 current-0/branch_write/branches_64/64/new/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-1/branch_write/branches_256/128/base/benchmark.json +4da7588ecb6e4c9ed9770f4230c27012b4d8fc739a2a855d4983b2ff2546d55a current-1/branch_write/branches_256/128/base/estimates.json +ecd0fd0b3578d33ec3540340d20c2c0f060b16e7626e17ae94b9f44844832902 current-1/branch_write/branches_256/128/base/sample.json +673a2fd63f727631c318ad0276ac874a3e945538e6105c1c1be490d6b373373d current-1/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-1/branch_write/branches_256/128/new/benchmark.json +4da7588ecb6e4c9ed9770f4230c27012b4d8fc739a2a855d4983b2ff2546d55a current-1/branch_write/branches_256/128/new/estimates.json +ecd0fd0b3578d33ec3540340d20c2c0f060b16e7626e17ae94b9f44844832902 current-1/branch_write/branches_256/128/new/sample.json +673a2fd63f727631c318ad0276ac874a3e945538e6105c1c1be490d6b373373d current-1/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-1/branch_write/branches_256/32/base/benchmark.json +21eb27a0a858dddc12a76351d626666f3f292f217b19895b6be505f732daec35 current-1/branch_write/branches_256/32/base/estimates.json +b42905d0c3f23aa3e1336625e684568db43ec21de60960d7a3690e486b08ce8c current-1/branch_write/branches_256/32/base/sample.json +03777123edd8fc90a49d6d2f3e32d6fde43c86fd046d00c84e862b7d8e22f6e3 current-1/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-1/branch_write/branches_256/32/new/benchmark.json +21eb27a0a858dddc12a76351d626666f3f292f217b19895b6be505f732daec35 current-1/branch_write/branches_256/32/new/estimates.json +b42905d0c3f23aa3e1336625e684568db43ec21de60960d7a3690e486b08ce8c current-1/branch_write/branches_256/32/new/sample.json +03777123edd8fc90a49d6d2f3e32d6fde43c86fd046d00c84e862b7d8e22f6e3 current-1/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-1/branch_write/branches_256/64/base/benchmark.json +b3bc7d82c6c40a5bdab40e55e779bc775b2dcba2cce43ebe3fb93f433f018283 current-1/branch_write/branches_256/64/base/estimates.json +96e355ebc1739367254978bd50c5022edaf9a5e289d9ed06a3987bbdcb3d831e current-1/branch_write/branches_256/64/base/sample.json +73d7f3cb2794832685b650661383f85821e0549f1bdc5c57bbac44c88d4991a2 current-1/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-1/branch_write/branches_256/64/new/benchmark.json +b3bc7d82c6c40a5bdab40e55e779bc775b2dcba2cce43ebe3fb93f433f018283 current-1/branch_write/branches_256/64/new/estimates.json +96e355ebc1739367254978bd50c5022edaf9a5e289d9ed06a3987bbdcb3d831e current-1/branch_write/branches_256/64/new/sample.json +73d7f3cb2794832685b650661383f85821e0549f1bdc5c57bbac44c88d4991a2 current-1/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-1/branch_write/branches_64/128/base/benchmark.json +897c9c6b55b790eed78445576ef7b1b5c1366c8cafde990ff1c9fe41ecef4390 current-1/branch_write/branches_64/128/base/estimates.json +fe203c573bb9ed0974b545947a0b8de0658d5e3d31fe4b0f43a5d52873ccd067 current-1/branch_write/branches_64/128/base/sample.json +e728ea6629e0aacab0d726870af82b7ea05abea8473065123a143469194cdd3a current-1/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-1/branch_write/branches_64/128/new/benchmark.json +897c9c6b55b790eed78445576ef7b1b5c1366c8cafde990ff1c9fe41ecef4390 current-1/branch_write/branches_64/128/new/estimates.json +fe203c573bb9ed0974b545947a0b8de0658d5e3d31fe4b0f43a5d52873ccd067 current-1/branch_write/branches_64/128/new/sample.json +e728ea6629e0aacab0d726870af82b7ea05abea8473065123a143469194cdd3a current-1/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-1/branch_write/branches_64/32/base/benchmark.json +017369ba4167d1fee015f6d2a22fa6f6f54953ba439138d3022256923b5cef4d current-1/branch_write/branches_64/32/base/estimates.json +e2043085d1b55569c0da232582270cb5fd73c78c3ae0aa10b672851c13d450ea current-1/branch_write/branches_64/32/base/sample.json +4901fd699f80c839dfd02f5b23e2cc881c2acd38bde38b1f7afb8736fbb2a727 current-1/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-1/branch_write/branches_64/32/new/benchmark.json +017369ba4167d1fee015f6d2a22fa6f6f54953ba439138d3022256923b5cef4d current-1/branch_write/branches_64/32/new/estimates.json +e2043085d1b55569c0da232582270cb5fd73c78c3ae0aa10b672851c13d450ea current-1/branch_write/branches_64/32/new/sample.json +4901fd699f80c839dfd02f5b23e2cc881c2acd38bde38b1f7afb8736fbb2a727 current-1/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-1/branch_write/branches_64/64/base/benchmark.json +634715137f69230c115f40307661d6684ccd16142483823a879bebb3e068cf42 current-1/branch_write/branches_64/64/base/estimates.json +344a80f6ae41af3175be1c33f8e3612ffe3067dd9232df1442e5c025140e0ba2 current-1/branch_write/branches_64/64/base/sample.json +61e47064b8188dc82fa7fc1dc8f1494e23cdf9d48936a63d01535938fd066364 current-1/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-1/branch_write/branches_64/64/new/benchmark.json +634715137f69230c115f40307661d6684ccd16142483823a879bebb3e068cf42 current-1/branch_write/branches_64/64/new/estimates.json +344a80f6ae41af3175be1c33f8e3612ffe3067dd9232df1442e5c025140e0ba2 current-1/branch_write/branches_64/64/new/sample.json +61e47064b8188dc82fa7fc1dc8f1494e23cdf9d48936a63d01535938fd066364 current-1/branch_write/branches_64/64/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/criterion-results.tar.gz new file mode 100644 index 0000000..bbfb1b5 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current-0.txt new file mode 100644 index 0000000..f136c6a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current-0.txt @@ -0,0 +1,60 @@ +memcap: <=7700 MiB (60% of 12834 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0000 s (825k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.3740 µs 2.4058 µs 2.4489 µs] + thrpt: [155.38 MiB/s 158.17 MiB/s 160.28 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0002 s (357k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [5.5052 µs 5.5222 µs 5.5411 µs] + thrpt: [140.27 MiB/s 140.75 MiB/s 141.18 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high mild +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0004 s (193k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [10.228 µs 10.269 µs 10.318 µs] + thrpt: [152.97 MiB/s 153.70 MiB/s 154.31 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0001 s (786k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.4941 µs 2.5197 µs 2.5503 µs] + thrpt: [149.20 MiB/s 151.02 MiB/s 152.57 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0001 s (314k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.2744 µs 6.3054 µs 6.3436 µs] + thrpt: [122.52 MiB/s 123.27 MiB/s 123.88 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0005 s (153k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [12.980 µs 13.104 µs 13.253 µs] + thrpt: [124.56 MiB/s 125.98 MiB/s 127.18 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 7 (14.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current-1.txt new file mode 100644 index 0000000..d07191f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current-1.txt @@ -0,0 +1,62 @@ +memcap: <=7705 MiB (60% of 12842 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0001 s (816k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.3837 µs 2.3988 µs 2.4167 µs] + thrpt: [157.45 MiB/s 158.62 MiB/s 159.63 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0003 s (350k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [5.6490 µs 5.7065 µs 5.7729 µs] + thrpt: [134.64 MiB/s 136.20 MiB/s 137.59 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0001 s (188k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [10.372 µs 10.426 µs 10.491 µs] + thrpt: [150.44 MiB/s 151.38 MiB/s 152.18 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0000 s (784k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.5006 µs 2.5274 µs 2.5653 µs] + thrpt: [148.33 MiB/s 150.56 MiB/s 152.17 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0003 s (299k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.4193 µs 6.4854 µs 6.5667 µs] + thrpt: [118.36 MiB/s 119.84 MiB/s 121.08 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0001 s (150k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [13.101 µs 13.168 µs 13.254 µs] + thrpt: [124.55 MiB/s 125.37 MiB/s 126.01 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current-build.txt new file mode 100644 index 0000000..d541f06 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current-build.txt @@ -0,0 +1,4 @@ +memcap: <=7637 MiB (60% of 12729 MiB available) [systemd MemoryMax, swap off] + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 26.95s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/harness.rs new file mode 100644 index 0000000..3fa0c28 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [64, 256] { + for count in [32, 64, 128] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/metadata.json new file mode 100644 index 0000000..26d8361 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "ba6fd98d252fd736d9ecc9a78c3f372b75f4b118" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/summary.json new file mode 100644 index 0000000..188a539 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-refined/summary.json @@ -0,0 +1,314 @@ +{ + "branch_write/branches_256/128": { + "baseline_ns": 15867.884673482338, + "candidate_ns": 13135.893848083226, + "delta_percent": -17.21710789822343, + "speedup": 1.207979057762998, + "process_deltas_percent": [ + -18.15290488355711, + -16.26435900472182 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 15738.674938239936, + "upper_bound": 16422.179065509074 + }, + "point_estimate": 16010.317498026832, + "standard_error": 180.85675239967614 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 15642.039494885921, + "upper_bound": 15831.901476199842 + }, + "point_estimate": 15725.451848937846, + "standard_error": 48.779344750720455 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 12980.285304276855, + "upper_bound": 13253.243681194903 + }, + "point_estimate": 13103.97979105452, + "standard_error": 69.86601627922683 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 13100.53071984631, + "upper_bound": 13254.245567991982 + }, + "point_estimate": 13167.80790511193, + "standard_error": 39.47796469348118 + } + ] + } + }, + "branch_write/branches_256/32": { + "baseline_ns": 2591.0630314295104, + "candidate_ns": 2523.5451174347945, + "delta_percent": -2.605799749976201, + "speedup": 1.026755184018009, + "process_deltas_percent": [ + -3.0856702119146484, + -2.122627935357224 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2585.30429585167, + "upper_bound": 2619.8561854776076 + }, + "point_estimate": 2599.9453132280605, + "standard_error": 8.962611903956937 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2558.7873339644434, + "upper_bound": 2611.034497946216 + }, + "point_estimate": 2582.1807496309607, + "standard_error": 13.413122701614652 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2494.1110425146276, + "upper_bound": 2550.323746724752 + }, + "point_estimate": 2519.7195751717113, + "standard_error": 14.431047930447534 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2500.64387188476, + "upper_bound": 2565.2555456370715 + }, + "point_estimate": 2527.3706596978773, + "standard_error": 16.808264662719594 + } + ] + } + }, + "branch_write/branches_256/64": { + "baseline_ns": 6537.687910842536, + "candidate_ns": 6395.399610506776, + "delta_percent": -2.1764315194639394, + "speedup": 1.0222485394191787, + "process_deltas_percent": [ + -3.953754879867988, + -0.38424474895082383 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6538.467570347209, + "upper_bound": 6601.5525255060065 + }, + "point_estimate": 6564.910788217868, + "standard_error": 16.448565847325845 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6494.243326639894, + "upper_bound": 6529.760120900267 + }, + "point_estimate": 6510.465033467205, + "standard_error": 9.100132327617885 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6274.363237131476, + "upper_bound": 6343.643612191237 + }, + "point_estimate": 6305.350307569724, + "standard_error": 17.765652861579824 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6419.267647664488, + "upper_bound": 6566.654017579103 + }, + "point_estimate": 6485.448913443828, + "standard_error": 37.85638534634799 + } + ] + } + }, + "branch_write/branches_64/128": { + "baseline_ns": 13297.39902669205, + "candidate_ns": 10347.593562335502, + "delta_percent": -22.18332666738333, + "speedup": 1.2850716397572504, + "process_deltas_percent": [ + -23.48590121068409, + -20.856346299957252 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 13225.404255280533, + "upper_bound": 13655.949747194725 + }, + "point_estimate": 13420.81686468647, + "standard_error": 110.55480797811205 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 13008.564767944137, + "upper_bound": 13400.949573075672 + }, + "point_estimate": 13173.98118869763, + "standard_error": 101.7382343857766 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 10228.24730770225, + "upper_bound": 10317.776659731198 + }, + "point_estimate": 10268.817074179377, + "standard_error": 22.938606214329234 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 10371.572680574012, + "upper_bound": 10491.296938479938 + }, + "point_estimate": 10426.370050491627, + "standard_error": 30.737818619009197 + } + ] + } + }, + "branch_write/branches_64/32": { + "baseline_ns": 2501.8222351634763, + "candidate_ns": 2402.3285935934273, + "delta_percent": -3.9768469626519143, + "speedup": 1.0414155007085129, + "process_deltas_percent": [ + -3.384939576986401, + -4.5632335145152965 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2472.3644187826735, + "upper_bound": 2514.390769977595 + }, + "point_estimate": 2490.1000796614394, + "standard_error": 10.959808809414502 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2480.4807475305593, + "upper_bound": 2554.10564103593 + }, + "point_estimate": 2513.544390665513, + "standard_error": 18.9187102836106 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2373.9995164505576, + "upper_bound": 2448.917412930199 + }, + "point_estimate": 2405.8116965584095, + "standard_error": 19.451413041735613 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2383.7152047654045, + "upper_bound": 2416.6927760014696 + }, + "point_estimate": 2398.845490628445, + "standard_error": 8.437360965958337 + } + ] + } + }, + "branch_write/branches_64/64": { + "baseline_ns": 6557.346868097463, + "candidate_ns": 5614.33158272336, + "delta_percent": -14.381049292390225, + "speedup": 1.1679657269043364, + "process_deltas_percent": [ + -15.004622724613837, + -13.768837050836902 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6431.37335744646, + "upper_bound": 6580.236913356222 + }, + "point_estimate": 6497.061925780611, + "standard_error": 38.18514044677274 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6391.309047557634, + "upper_bound": 6958.476734080284 + }, + "point_estimate": 6617.631810414315, + "standard_error": 149.6389491666908 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 5505.165918253079, + "upper_bound": 5541.133275055991 + }, + "point_estimate": 5522.2022956327, + "standard_error": 9.20634634315535 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 5649.015111373388, + "upper_bound": 5772.870846995707 + }, + "point_estimate": 5706.46086981402, + "standard_error": 31.789192496000474 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline-0.txt new file mode 100644 index 0000000..4a4e6ce --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline-0.txt @@ -0,0 +1,62 @@ +memcap: <=7612 MiB (60% of 12687 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0001 s (814k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.4849 µs 2.5132 µs 2.5456 µs] + thrpt: [149.48 MiB/s 151.40 MiB/s 153.13 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0001 s (313k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [6.4256 µs 6.4866 µs 6.5575 µs] + thrpt: [118.53 MiB/s 119.82 MiB/s 120.96 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 4 (8.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0003 s (154k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [13.028 µs 13.105 µs 13.193 µs] + thrpt: [119.63 MiB/s 120.44 MiB/s 121.15 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0001 s (776k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.5750 µs 2.5901 µs 2.6089 µs] + thrpt: [145.85 MiB/s 146.91 MiB/s 147.78 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0000 s (303k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.5367 µs 6.5687 µs 6.6143 µs] + thrpt: [117.51 MiB/s 118.33 MiB/s 118.90 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0005 s (126k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [15.750 µs 15.807 µs 15.880 µs] + thrpt: [103.96 MiB/s 104.44 MiB/s 104.82 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline-1.txt new file mode 100644 index 0000000..df20e26 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline-1.txt @@ -0,0 +1,61 @@ +memcap: <=7701 MiB (60% of 12835 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0000 s (812k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.4514 µs 2.4754 µs 2.5050 µs] + thrpt: [151.90 MiB/s 153.72 MiB/s 155.23 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 4 (8.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0002 s (312k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [6.3637 µs 6.4361 µs 6.5314 µs] + thrpt: [119.00 MiB/s 120.76 MiB/s 122.14 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0005 s (154k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [12.884 µs 12.940 µs 13.022 µs] + thrpt: [121.21 MiB/s 121.97 MiB/s 122.50 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0001 s (785k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.5467 µs 2.5640 µs 2.5870 µs] + thrpt: [147.09 MiB/s 148.41 MiB/s 149.42 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0003 s (308k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.5027 µs 6.5348 µs 6.5762 µs] + thrpt: [118.19 MiB/s 118.94 MiB/s 119.53 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0002 s (126k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [15.780 µs 15.855 µs 15.947 µs] + thrpt: [103.52 MiB/s 104.12 MiB/s 104.62 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline-build.txt new file mode 100644 index 0000000..b5a47f7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7697 MiB (60% of 12829 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.74s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/criterion-SHA256SUMS new file mode 100644 index 0000000..67e9091 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/criterion-SHA256SUMS @@ -0,0 +1,192 @@ +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-0/branch_write/branches_256/128/base/benchmark.json +e0449d9ef532503c44a3e4359020b39dd3edf55e08622eba18b8d5fe8fd854bb baseline-0/branch_write/branches_256/128/base/estimates.json +d6a289b6d16e20ba486441430a03da7971238cba47ac34efe932c106f524c032 baseline-0/branch_write/branches_256/128/base/sample.json +248804f85ebfe714091af998e2d3e76ea67b1e4a72f6b5da95332add587feb7b baseline-0/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-0/branch_write/branches_256/128/new/benchmark.json +e0449d9ef532503c44a3e4359020b39dd3edf55e08622eba18b8d5fe8fd854bb baseline-0/branch_write/branches_256/128/new/estimates.json +d6a289b6d16e20ba486441430a03da7971238cba47ac34efe932c106f524c032 baseline-0/branch_write/branches_256/128/new/sample.json +248804f85ebfe714091af998e2d3e76ea67b1e4a72f6b5da95332add587feb7b baseline-0/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-0/branch_write/branches_256/32/base/benchmark.json +20d4f12042374453ddfb62a32ea0b5e75efcabf7bfe6e2d05185a0ba2d037014 baseline-0/branch_write/branches_256/32/base/estimates.json +54af4ba07e948df6ab5bf356a56870f39724ece479fc809ba22d923305e90e3a baseline-0/branch_write/branches_256/32/base/sample.json +906069f18a0c29a7e02ffffa77c38ee5fd65b079ecde6d463ecaad1cf5e6da2d baseline-0/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-0/branch_write/branches_256/32/new/benchmark.json +20d4f12042374453ddfb62a32ea0b5e75efcabf7bfe6e2d05185a0ba2d037014 baseline-0/branch_write/branches_256/32/new/estimates.json +54af4ba07e948df6ab5bf356a56870f39724ece479fc809ba22d923305e90e3a baseline-0/branch_write/branches_256/32/new/sample.json +906069f18a0c29a7e02ffffa77c38ee5fd65b079ecde6d463ecaad1cf5e6da2d baseline-0/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-0/branch_write/branches_256/64/base/benchmark.json +0bf720c7c976f58ed526879244f25b0f8a46a992d2dbfa33c3a9e63cc59299c1 baseline-0/branch_write/branches_256/64/base/estimates.json +42977284d467360fb26881c3144d3d3f1b3317dba7f05d396e6bcbfa0f8f1751 baseline-0/branch_write/branches_256/64/base/sample.json +9b5f564aa4d4a238e9abcb28ecce22dbf1e282398d200e5e2ac0d01019f1e1c0 baseline-0/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-0/branch_write/branches_256/64/new/benchmark.json +0bf720c7c976f58ed526879244f25b0f8a46a992d2dbfa33c3a9e63cc59299c1 baseline-0/branch_write/branches_256/64/new/estimates.json +42977284d467360fb26881c3144d3d3f1b3317dba7f05d396e6bcbfa0f8f1751 baseline-0/branch_write/branches_256/64/new/sample.json +9b5f564aa4d4a238e9abcb28ecce22dbf1e282398d200e5e2ac0d01019f1e1c0 baseline-0/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-0/branch_write/branches_64/128/base/benchmark.json +0276d865d89717aacb75a0184dc8b2e4f51a6bf94b8512551ab0fb72c1de46c3 baseline-0/branch_write/branches_64/128/base/estimates.json +34bd7cf5f2c8bd883c7e076946185bed3e44f599de14da8cb01426a662c8bf5a baseline-0/branch_write/branches_64/128/base/sample.json +893d3341de92a18220d1fcfc82d2b8c51363d8067b19a9526805fa3d03001976 baseline-0/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-0/branch_write/branches_64/128/new/benchmark.json +0276d865d89717aacb75a0184dc8b2e4f51a6bf94b8512551ab0fb72c1de46c3 baseline-0/branch_write/branches_64/128/new/estimates.json +34bd7cf5f2c8bd883c7e076946185bed3e44f599de14da8cb01426a662c8bf5a baseline-0/branch_write/branches_64/128/new/sample.json +893d3341de92a18220d1fcfc82d2b8c51363d8067b19a9526805fa3d03001976 baseline-0/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-0/branch_write/branches_64/32/base/benchmark.json +0523ca7756d7cbbd4eb37c10036a04bbb8e2d9d5e1a6082c7e2eea288dca2cd2 baseline-0/branch_write/branches_64/32/base/estimates.json +9972737530d5eee70193451a5f9ac47f9d3c72812bf391579d3480887ae9f138 baseline-0/branch_write/branches_64/32/base/sample.json +76dc9594761c61d9e48a16bba4823ee4d28e670d59a05f7ceeeb1a465a1f0c5d baseline-0/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-0/branch_write/branches_64/32/new/benchmark.json +0523ca7756d7cbbd4eb37c10036a04bbb8e2d9d5e1a6082c7e2eea288dca2cd2 baseline-0/branch_write/branches_64/32/new/estimates.json +9972737530d5eee70193451a5f9ac47f9d3c72812bf391579d3480887ae9f138 baseline-0/branch_write/branches_64/32/new/sample.json +76dc9594761c61d9e48a16bba4823ee4d28e670d59a05f7ceeeb1a465a1f0c5d baseline-0/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-0/branch_write/branches_64/64/base/benchmark.json +b70623917acf54b2966a2cf978295e002334023cee232610ab7cf881787d73ff baseline-0/branch_write/branches_64/64/base/estimates.json +a27e9409c19ce4ceef3d0b2d952f50989f761557b4c96e0388844d3784c021e8 baseline-0/branch_write/branches_64/64/base/sample.json +33200b0ef05fe0bf5219113efb2e615da4e0331d2c71dac95b9b28129f9a224d baseline-0/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-0/branch_write/branches_64/64/new/benchmark.json +b70623917acf54b2966a2cf978295e002334023cee232610ab7cf881787d73ff baseline-0/branch_write/branches_64/64/new/estimates.json +a27e9409c19ce4ceef3d0b2d952f50989f761557b4c96e0388844d3784c021e8 baseline-0/branch_write/branches_64/64/new/sample.json +33200b0ef05fe0bf5219113efb2e615da4e0331d2c71dac95b9b28129f9a224d baseline-0/branch_write/branches_64/64/new/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-1/branch_write/branches_256/128/base/benchmark.json +804dbb1c24d261367524eef7c8d02c5a9f91d2f1bf0ee1d3e5f63fdae9794849 baseline-1/branch_write/branches_256/128/base/estimates.json +0876534bd70fa0a84ad1649ec4e2d8a8cce1cb66f7e8131965ea61446ac07680 baseline-1/branch_write/branches_256/128/base/sample.json +251b002c5e5adc19e081d9fb41029450746d311f1920b7438e6e9367dddaa9a4 baseline-1/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-1/branch_write/branches_256/128/new/benchmark.json +804dbb1c24d261367524eef7c8d02c5a9f91d2f1bf0ee1d3e5f63fdae9794849 baseline-1/branch_write/branches_256/128/new/estimates.json +0876534bd70fa0a84ad1649ec4e2d8a8cce1cb66f7e8131965ea61446ac07680 baseline-1/branch_write/branches_256/128/new/sample.json +251b002c5e5adc19e081d9fb41029450746d311f1920b7438e6e9367dddaa9a4 baseline-1/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-1/branch_write/branches_256/32/base/benchmark.json +79bd7a0e86f12d2af570dae1dd7d5f2d9ec459f3fdc88e2d8136666d094a7c9c baseline-1/branch_write/branches_256/32/base/estimates.json +bc0e78746d564d36231decfc7480a6765de0e999de89893999bb3aaaee22cbaf baseline-1/branch_write/branches_256/32/base/sample.json +ecc5663cba1eef014b017195f4093a2f64e65223525a127003a3f014c934d371 baseline-1/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-1/branch_write/branches_256/32/new/benchmark.json +79bd7a0e86f12d2af570dae1dd7d5f2d9ec459f3fdc88e2d8136666d094a7c9c baseline-1/branch_write/branches_256/32/new/estimates.json +bc0e78746d564d36231decfc7480a6765de0e999de89893999bb3aaaee22cbaf baseline-1/branch_write/branches_256/32/new/sample.json +ecc5663cba1eef014b017195f4093a2f64e65223525a127003a3f014c934d371 baseline-1/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-1/branch_write/branches_256/64/base/benchmark.json +d95b9cee819f83682ba46c18d0d49a4595c6e46c489ba56dd3f4eff8f6be6c1c baseline-1/branch_write/branches_256/64/base/estimates.json +63b9a8944760baab597e644252fc4a4ed590ab0de26175afdec567d0985ebdfa baseline-1/branch_write/branches_256/64/base/sample.json +ef3087c17126bc94eaf29fb05e197d1f2537f5024b1ffcb07c8ff404016635a9 baseline-1/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-1/branch_write/branches_256/64/new/benchmark.json +d95b9cee819f83682ba46c18d0d49a4595c6e46c489ba56dd3f4eff8f6be6c1c baseline-1/branch_write/branches_256/64/new/estimates.json +63b9a8944760baab597e644252fc4a4ed590ab0de26175afdec567d0985ebdfa baseline-1/branch_write/branches_256/64/new/sample.json +ef3087c17126bc94eaf29fb05e197d1f2537f5024b1ffcb07c8ff404016635a9 baseline-1/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-1/branch_write/branches_64/128/base/benchmark.json +35206679876ec90ac8af06c8afee2d371dca8e5035f6537876192344804e36d4 baseline-1/branch_write/branches_64/128/base/estimates.json +9baacc1ffcf9e33a85b42133c97bc6c50f9ef0774ad6c789cb4f160b613f9cfa baseline-1/branch_write/branches_64/128/base/sample.json +873ffc6723baa4850f33d271b870f2764db119fa576596148abe0aba8d1677bf baseline-1/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-1/branch_write/branches_64/128/new/benchmark.json +35206679876ec90ac8af06c8afee2d371dca8e5035f6537876192344804e36d4 baseline-1/branch_write/branches_64/128/new/estimates.json +9baacc1ffcf9e33a85b42133c97bc6c50f9ef0774ad6c789cb4f160b613f9cfa baseline-1/branch_write/branches_64/128/new/sample.json +873ffc6723baa4850f33d271b870f2764db119fa576596148abe0aba8d1677bf baseline-1/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-1/branch_write/branches_64/32/base/benchmark.json +b74d86917cfdf15b1fdc87e689c8c53645a359e1afb0fa601285407a5255f4b7 baseline-1/branch_write/branches_64/32/base/estimates.json +a0a1a46a6e7f08ade127914c9265c967dc7077dcc2d477fe2bb69b19594eb779 baseline-1/branch_write/branches_64/32/base/sample.json +cb655fffad14f6cc28c40d0aa522703fb9d81a3b9b051867d412e42a413a90b1 baseline-1/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-1/branch_write/branches_64/32/new/benchmark.json +b74d86917cfdf15b1fdc87e689c8c53645a359e1afb0fa601285407a5255f4b7 baseline-1/branch_write/branches_64/32/new/estimates.json +a0a1a46a6e7f08ade127914c9265c967dc7077dcc2d477fe2bb69b19594eb779 baseline-1/branch_write/branches_64/32/new/sample.json +cb655fffad14f6cc28c40d0aa522703fb9d81a3b9b051867d412e42a413a90b1 baseline-1/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-1/branch_write/branches_64/64/base/benchmark.json +9c7da617891b81089c0fc856e48885ab1f27c4455d0ca837f0015349d2bb4332 baseline-1/branch_write/branches_64/64/base/estimates.json +a53be94104b997ab92329aec48387e7a980cbf1af9d3f70ccc23be2209d6a48b baseline-1/branch_write/branches_64/64/base/sample.json +44199e2899a3677705c73b6b6cdcc65059c0439fad7be8182df8e98d0b729a54 baseline-1/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-1/branch_write/branches_64/64/new/benchmark.json +9c7da617891b81089c0fc856e48885ab1f27c4455d0ca837f0015349d2bb4332 baseline-1/branch_write/branches_64/64/new/estimates.json +a53be94104b997ab92329aec48387e7a980cbf1af9d3f70ccc23be2209d6a48b baseline-1/branch_write/branches_64/64/new/sample.json +44199e2899a3677705c73b6b6cdcc65059c0439fad7be8182df8e98d0b729a54 baseline-1/branch_write/branches_64/64/new/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-0/branch_write/branches_256/128/base/benchmark.json +92c1a384ab14c3a1b06d13da6263ace6703102e01bf47a0b469e351d9c14b211 current-0/branch_write/branches_256/128/base/estimates.json +55e0b993874df126b2687aa44213800f92dadac9a9f2e78860b1afed1258e773 current-0/branch_write/branches_256/128/base/sample.json +801f352e446e37a921a4342f4db26c547a6036f7c5d5385715fab1615d6a12c5 current-0/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-0/branch_write/branches_256/128/new/benchmark.json +92c1a384ab14c3a1b06d13da6263ace6703102e01bf47a0b469e351d9c14b211 current-0/branch_write/branches_256/128/new/estimates.json +55e0b993874df126b2687aa44213800f92dadac9a9f2e78860b1afed1258e773 current-0/branch_write/branches_256/128/new/sample.json +801f352e446e37a921a4342f4db26c547a6036f7c5d5385715fab1615d6a12c5 current-0/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-0/branch_write/branches_256/32/base/benchmark.json +36e8cca0307865bba900903d113d37af96d2278a71fe10e7d4a5a560a38aed6d current-0/branch_write/branches_256/32/base/estimates.json +4e0c38f9a6c3ebe357aadd659dff5ff996dc8d7882304af6d8705b43ea5a96ae current-0/branch_write/branches_256/32/base/sample.json +de23d35ba57a6c472e952fe30776962dba8dec6f865f9f5025cb541a184070dc current-0/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-0/branch_write/branches_256/32/new/benchmark.json +36e8cca0307865bba900903d113d37af96d2278a71fe10e7d4a5a560a38aed6d current-0/branch_write/branches_256/32/new/estimates.json +4e0c38f9a6c3ebe357aadd659dff5ff996dc8d7882304af6d8705b43ea5a96ae current-0/branch_write/branches_256/32/new/sample.json +de23d35ba57a6c472e952fe30776962dba8dec6f865f9f5025cb541a184070dc current-0/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-0/branch_write/branches_256/64/base/benchmark.json +2bf3d8aaa6933a2caf8c54e10f66331de63dea183902b8bab3f1ec05aa7186ae current-0/branch_write/branches_256/64/base/estimates.json +101ec55940624f79230ace2baba38924c9619f117a0807620a979ad2bb6c1466 current-0/branch_write/branches_256/64/base/sample.json +be88b9204134ba81ff48215d095cbe22185348018335885cda928e655e91faa5 current-0/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-0/branch_write/branches_256/64/new/benchmark.json +2bf3d8aaa6933a2caf8c54e10f66331de63dea183902b8bab3f1ec05aa7186ae current-0/branch_write/branches_256/64/new/estimates.json +101ec55940624f79230ace2baba38924c9619f117a0807620a979ad2bb6c1466 current-0/branch_write/branches_256/64/new/sample.json +be88b9204134ba81ff48215d095cbe22185348018335885cda928e655e91faa5 current-0/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-0/branch_write/branches_64/128/base/benchmark.json +2074d447c3551d98209d938c603bc9daccb32e40236b22c9fbe79e0f99789f9e current-0/branch_write/branches_64/128/base/estimates.json +00194c62469292daaf1ff7cc76b91ca4f7bc72e3bb732f602d868cfe66596bdf current-0/branch_write/branches_64/128/base/sample.json +6222ab1f89870f0ba65200e9d5bea82c78efee8fc333b72b38f6fa0824d0b8e1 current-0/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-0/branch_write/branches_64/128/new/benchmark.json +2074d447c3551d98209d938c603bc9daccb32e40236b22c9fbe79e0f99789f9e current-0/branch_write/branches_64/128/new/estimates.json +00194c62469292daaf1ff7cc76b91ca4f7bc72e3bb732f602d868cfe66596bdf current-0/branch_write/branches_64/128/new/sample.json +6222ab1f89870f0ba65200e9d5bea82c78efee8fc333b72b38f6fa0824d0b8e1 current-0/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-0/branch_write/branches_64/32/base/benchmark.json +4628a5e26df9aef72e7e7013725d314ac058b6666c81419f2d92927254063586 current-0/branch_write/branches_64/32/base/estimates.json +3de0add7a0fe609f979038ea82a981d2a2031bfdf97cadaf3c429e68f6f2a000 current-0/branch_write/branches_64/32/base/sample.json +ca52bd4bc60bdb43d9778261a4a8bdc6552f29541622d913d83dc257814a2c1c current-0/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-0/branch_write/branches_64/32/new/benchmark.json +4628a5e26df9aef72e7e7013725d314ac058b6666c81419f2d92927254063586 current-0/branch_write/branches_64/32/new/estimates.json +3de0add7a0fe609f979038ea82a981d2a2031bfdf97cadaf3c429e68f6f2a000 current-0/branch_write/branches_64/32/new/sample.json +ca52bd4bc60bdb43d9778261a4a8bdc6552f29541622d913d83dc257814a2c1c current-0/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-0/branch_write/branches_64/64/base/benchmark.json +731c3447d26660daaa04e9e3df12c104926ff19bd362bc67855e312a7c7d99f1 current-0/branch_write/branches_64/64/base/estimates.json +1212052cff8029c6c4cd72db223cdc3781e60157f86166d47b9f171b3be3c4b3 current-0/branch_write/branches_64/64/base/sample.json +0cfd91de12433f1f3e3f58cad88efdcfdd3e0d89fc3cfe7ad85b4e8b59c743e7 current-0/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-0/branch_write/branches_64/64/new/benchmark.json +731c3447d26660daaa04e9e3df12c104926ff19bd362bc67855e312a7c7d99f1 current-0/branch_write/branches_64/64/new/estimates.json +1212052cff8029c6c4cd72db223cdc3781e60157f86166d47b9f171b3be3c4b3 current-0/branch_write/branches_64/64/new/sample.json +0cfd91de12433f1f3e3f58cad88efdcfdd3e0d89fc3cfe7ad85b4e8b59c743e7 current-0/branch_write/branches_64/64/new/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-1/branch_write/branches_256/128/base/benchmark.json +715f202fd95d2d79556f910d8782dcca80978bae97a768fe085a60350c2c04cd current-1/branch_write/branches_256/128/base/estimates.json +e9f6abcd4774847fa4949988615dc17704186be6c17a655d29ab62759de493a0 current-1/branch_write/branches_256/128/base/sample.json +127e377ea8569a5992a155c0c4ea9fa8311c709d71804a723420ec419d91cd69 current-1/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-1/branch_write/branches_256/128/new/benchmark.json +715f202fd95d2d79556f910d8782dcca80978bae97a768fe085a60350c2c04cd current-1/branch_write/branches_256/128/new/estimates.json +e9f6abcd4774847fa4949988615dc17704186be6c17a655d29ab62759de493a0 current-1/branch_write/branches_256/128/new/sample.json +127e377ea8569a5992a155c0c4ea9fa8311c709d71804a723420ec419d91cd69 current-1/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-1/branch_write/branches_256/32/base/benchmark.json +8198fa178740affd4e15b7d5beb0fe0ac985ac1212cebd9f9577a7fe19fa7fad current-1/branch_write/branches_256/32/base/estimates.json +3b406576752cf18f9166f960032b3aeb5054426c5bd69f5bfbc5ce785acef6b9 current-1/branch_write/branches_256/32/base/sample.json +05d78e1cddeaaaf18bf0cb0762c4bd7444400b86b5381cc64e24d7f55218ce2d current-1/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-1/branch_write/branches_256/32/new/benchmark.json +8198fa178740affd4e15b7d5beb0fe0ac985ac1212cebd9f9577a7fe19fa7fad current-1/branch_write/branches_256/32/new/estimates.json +3b406576752cf18f9166f960032b3aeb5054426c5bd69f5bfbc5ce785acef6b9 current-1/branch_write/branches_256/32/new/sample.json +05d78e1cddeaaaf18bf0cb0762c4bd7444400b86b5381cc64e24d7f55218ce2d current-1/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-1/branch_write/branches_256/64/base/benchmark.json +19fd6a905e01c16946f19f6205f0cf7dbddae6be170a9ed1657e27d5d8c945a4 current-1/branch_write/branches_256/64/base/estimates.json +e596a35c1f86939ff90dbd854a9c8a91c5a228212c2861bf2950e830b0278ebe current-1/branch_write/branches_256/64/base/sample.json +5d1beac89486307acb5b1fc081b8fa212c1b7685bd7462c8a494209c9b6e5937 current-1/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-1/branch_write/branches_256/64/new/benchmark.json +19fd6a905e01c16946f19f6205f0cf7dbddae6be170a9ed1657e27d5d8c945a4 current-1/branch_write/branches_256/64/new/estimates.json +e596a35c1f86939ff90dbd854a9c8a91c5a228212c2861bf2950e830b0278ebe current-1/branch_write/branches_256/64/new/sample.json +5d1beac89486307acb5b1fc081b8fa212c1b7685bd7462c8a494209c9b6e5937 current-1/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-1/branch_write/branches_64/128/base/benchmark.json +50c78e54dbaaba857e1e675cc2a77721b64982f3cf94dd6c73df327308ec0bd4 current-1/branch_write/branches_64/128/base/estimates.json +796694b55ea6b37da8e9db4862f35cd19dd5206dc50523474d93880f7a213036 current-1/branch_write/branches_64/128/base/sample.json +a9ce1ccfc7ac009ea2972511e790e20fcc014d37400b07c20e90f053ec46cdb1 current-1/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-1/branch_write/branches_64/128/new/benchmark.json +50c78e54dbaaba857e1e675cc2a77721b64982f3cf94dd6c73df327308ec0bd4 current-1/branch_write/branches_64/128/new/estimates.json +796694b55ea6b37da8e9db4862f35cd19dd5206dc50523474d93880f7a213036 current-1/branch_write/branches_64/128/new/sample.json +a9ce1ccfc7ac009ea2972511e790e20fcc014d37400b07c20e90f053ec46cdb1 current-1/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-1/branch_write/branches_64/32/base/benchmark.json +d6fc649fc8759471d3f5768aa01d256f36648513bb509395d19cd190637f3337 current-1/branch_write/branches_64/32/base/estimates.json +d7b9d91c5cca34e11e650718977f7a79c9c7ba354fc6c1c70b7aebde5d7fd5e1 current-1/branch_write/branches_64/32/base/sample.json +3f9b0ce039cb1e2a3c5997de6206ae46750a0ab41e9c32300a8750c8e48970e7 current-1/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-1/branch_write/branches_64/32/new/benchmark.json +d6fc649fc8759471d3f5768aa01d256f36648513bb509395d19cd190637f3337 current-1/branch_write/branches_64/32/new/estimates.json +d7b9d91c5cca34e11e650718977f7a79c9c7ba354fc6c1c70b7aebde5d7fd5e1 current-1/branch_write/branches_64/32/new/sample.json +3f9b0ce039cb1e2a3c5997de6206ae46750a0ab41e9c32300a8750c8e48970e7 current-1/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-1/branch_write/branches_64/64/base/benchmark.json +0a81cebaf5021cd00abcba067e6e8b2491e948641193cf5a262d7cc79719e272 current-1/branch_write/branches_64/64/base/estimates.json +5904f52d36ee3adb3b15fdcd4211d3f0822389d9646e36e7cb49ec44928efc22 current-1/branch_write/branches_64/64/base/sample.json +96b7de9c475fb36ab405647e88e82b7541d542dba043c8ba150b72c99afc0970 current-1/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-1/branch_write/branches_64/64/new/benchmark.json +0a81cebaf5021cd00abcba067e6e8b2491e948641193cf5a262d7cc79719e272 current-1/branch_write/branches_64/64/new/estimates.json +5904f52d36ee3adb3b15fdcd4211d3f0822389d9646e36e7cb49ec44928efc22 current-1/branch_write/branches_64/64/new/sample.json +96b7de9c475fb36ab405647e88e82b7541d542dba043c8ba150b72c99afc0970 current-1/branch_write/branches_64/64/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/criterion-results.tar.gz new file mode 100644 index 0000000..1d3dff6 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current-0.txt new file mode 100644 index 0000000..83aee1d --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current-0.txt @@ -0,0 +1,60 @@ +memcap: <=7700 MiB (60% of 12833 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0000 s (854k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.3269 µs 2.3487 µs 2.3773 µs] + thrpt: [160.06 MiB/s 162.01 MiB/s 163.53 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0001 s (313k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [6.3925 µs 6.4800 µs 6.5973 µs] + thrpt: [117.81 MiB/s 119.94 MiB/s 121.59 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 4 (8.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0004 s (180k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [11.120 µs 11.164 µs 11.221 µs] + thrpt: [140.65 MiB/s 141.38 MiB/s 141.93 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0000 s (819k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.4285 µs 2.4387 µs 2.4528 µs] + thrpt: [155.14 MiB/s 156.03 MiB/s 156.68 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0002 s (314k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.2935 µs 6.3163 µs 6.3423 µs] + thrpt: [122.55 MiB/s 123.05 MiB/s 123.50 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0003 s (139k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [14.518 µs 14.612 µs 14.714 µs] + thrpt: [112.19 MiB/s 112.98 MiB/s 113.71 MiB/s] +Found 1 outliers among 50 measurements (2.00%) + 1 (2.00%) high mild + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current-1.txt new file mode 100644 index 0000000..36facc0 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current-1.txt @@ -0,0 +1,60 @@ +memcap: <=7700 MiB (60% of 12833 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0000 s (836k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.3587 µs 2.3713 µs 2.3872 µs] + thrpt: [159.40 MiB/s 160.46 MiB/s 161.32 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0001 s (311k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [6.4291 µs 6.4934 µs 6.5699 µs] + thrpt: [118.30 MiB/s 119.70 MiB/s 120.89 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0003 s (181k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [11.025 µs 11.079 µs 11.152 µs] + thrpt: [141.53 MiB/s 142.46 MiB/s 143.16 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0000 s (808k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.4638 µs 2.4822 µs 2.5050 µs] + thrpt: [151.90 MiB/s 153.30 MiB/s 154.44 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 5 (10.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0002 s (313k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.2984 µs 6.3363 µs 6.3863 µs] + thrpt: [121.71 MiB/s 122.67 MiB/s 123.40 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0001 s (135k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [14.428 µs 14.480 µs 14.545 µs] + thrpt: [113.50 MiB/s 114.01 MiB/s 114.42 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current-build.txt new file mode 100644 index 0000000..bba1c93 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7639 MiB (60% of 12731 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.73s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/harness.rs new file mode 100644 index 0000000..3fa0c28 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [64, 256] { + for count in [32, 64, 128] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/metadata.json new file mode 100644 index 0000000..bb748c9 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "58cb346f964b5196dfad62e8a62a8aa4beb9beef" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/summary.json new file mode 100644 index 0000000..4e0073a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover-sampled/summary.json @@ -0,0 +1,314 @@ +{ + "branch_write/branches_256/128": { + "baseline_ns": 15830.516837784577, + "candidate_ns": 14545.67176658786, + "delta_percent": -8.116254727262117, + "speedup": 1.088331779502138, + "process_deltas_percent": [ + -7.5599032435039515, + -8.67092177684361 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 15749.541563564362, + "upper_bound": 15879.958903564362 + }, + "point_estimate": 15806.515920792088, + "standard_error": 33.499232335535666 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 15779.606307921971, + "upper_bound": 15946.899180334398 + }, + "point_estimate": 15854.517754777065, + "standard_error": 43.082964208124935 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 14517.572364879456, + "upper_bound": 14714.084016912557 + }, + "point_estimate": 14611.558611011158, + "standard_error": 50.29858598353853 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 14427.873701445513, + "upper_bound": 14544.879892327646 + }, + "point_estimate": 14479.784922164565, + "standard_error": 30.039966867027683 + } + ] + } + }, + "branch_write/branches_256/32": { + "baseline_ns": 2577.0538964988664, + "candidate_ns": 2460.4573583638585, + "delta_percent": -4.524412092948992, + "speedup": 1.0473881564086693, + "process_deltas_percent": [ + -5.8471343722126035, + -3.1882082849632454 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2574.964507477118, + "upper_bound": 2608.9400937217993 + }, + "point_estimate": 2590.1203093979625, + "standard_error": 8.723715444290745 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2546.6536430163687, + "upper_bound": 2586.9862317686766 + }, + "point_estimate": 2563.9874835997703, + "standard_error": 10.413454489175402 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2428.549479426129, + "upper_bound": 2452.7960906593407 + }, + "point_estimate": 2438.672494505495, + "standard_error": 6.2744031578869315 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2463.782807906459, + "upper_bound": 2504.979358791141 + }, + "point_estimate": 2482.2422222222217, + "standard_error": 10.553768387628836 + } + ] + } + }, + "branch_write/branches_256/64": { + "baseline_ns": 6551.736383159103, + "candidate_ns": 6326.296993264353, + "delta_percent": -3.4409105725656253, + "speedup": 1.0356352839796767, + "process_deltas_percent": [ + -3.8422710826037654, + -3.0374655351065982 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6536.724317589846, + "upper_bound": 6614.276257335973 + }, + "point_estimate": 6568.706040224201, + "standard_error": 20.116088393794442 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6502.664952512156, + "upper_bound": 6576.186159805511 + }, + "point_estimate": 6534.766726094004, + "standard_error": 18.944767992655784 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6293.475688246536, + "upper_bound": 6342.322651536871 + }, + "point_estimate": 6316.31854753942, + "standard_error": 12.480019302444164 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6298.377755157524, + "upper_bound": 6386.250293619062 + }, + "point_estimate": 6336.275438989285, + "standard_error": 22.662947027628363 + } + ] + } + }, + "branch_write/branches_64/128": { + "baseline_ns": 13022.531209181625, + "candidate_ns": 11121.587775880374, + "delta_percent": -14.597342120101642, + "speedup": 1.1709237450271144, + "process_deltas_percent": [ + -14.813382409530963, + -14.378544804459459 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 13027.997990599675, + "upper_bound": 13193.281501458667 + }, + "point_estimate": 13105.098722852515, + "standard_error": 42.20014505918633 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 12884.295479505525, + "upper_bound": 13021.879491216652 + }, + "point_estimate": 12939.963695510734, + "standard_error": 36.09329748106337 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 11120.475709237619, + "upper_bound": 11221.334810795772 + }, + "point_estimate": 11163.790333889814, + "standard_error": 26.006220681607733 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 11025.069474765583, + "upper_bound": 11152.310279233317 + }, + "point_estimate": 11079.385217870935, + "standard_error": 32.98681457416726 + } + ] + } + }, + "branch_write/branches_64/32": { + "baseline_ns": 2494.315753342169, + "candidate_ns": 2360.0300530451923, + "delta_percent": -5.3836688525518595, + "speedup": 1.0568999958808598, + "process_deltas_percent": [ + -6.546404035199416, + -4.203154418423605 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2484.8660017510438, + "upper_bound": 2545.577194365937 + }, + "point_estimate": 2513.2412091422952, + "standard_error": 15.525153335647499 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2451.353855202365, + "upper_bound": 2505.0072148709423 + }, + "point_estimate": 2475.3902975420433, + "standard_error": 13.804493651688954 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2326.873383784891, + "upper_bound": 2377.2906197553984 + }, + "point_estimate": 2348.7142852127095, + "standard_error": 13.05390029575019 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2358.7449347722113, + "upper_bound": 2387.191633773766 + }, + "point_estimate": 2371.3458208776756, + "standard_error": 7.314103354754813 + } + ] + } + }, + "branch_write/branches_64/64": { + "baseline_ns": 6461.358006848368, + "candidate_ns": 6486.723633203452, + "delta_percent": 0.3925742286404743, + "speedup": 0.996089608901288, + "process_deltas_percent": [ + -0.10064083609748753, + 0.8896528178644614 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6425.56186195044, + "upper_bound": 6557.545180175861 + }, + "point_estimate": 6486.566302158274, + "standard_error": 33.822072728837085 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6363.734435576924, + "upper_bound": 6531.365099358974 + }, + "point_estimate": 6436.149711538463, + "standard_error": 43.21148823543098 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6392.5453910614515, + "upper_bound": 6597.342818196328 + }, + "point_estimate": 6480.038167597764, + "standard_error": 52.96780593347417 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6429.094715642099, + "upper_bound": 6569.857022851627 + }, + "point_estimate": 6493.40909880914, + "standard_error": 36.003015849542564 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline-0.txt new file mode 100644 index 0000000..7889b39 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline-0.txt @@ -0,0 +1,58 @@ +memcap: <=7639 MiB (60% of 12732 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0000 s (800k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.4626 µs 2.4784 µs 2.4969 µs] + thrpt: [152.39 MiB/s 153.53 MiB/s 154.52 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 5 (10.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0001 s (309k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [6.4512 µs 6.5163 µs 6.5955 µs] + thrpt: [117.85 MiB/s 119.28 MiB/s 120.48 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 8 (16.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0006 s (154k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [13.044 µs 13.171 µs 13.325 µs] + thrpt: [118.45 MiB/s 119.84 MiB/s 121.00 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 5 (10.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0000 s (744k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.5760 µs 2.5890 µs 2.6049 µs] + thrpt: [146.08 MiB/s 146.97 MiB/s 147.71 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0001 s (303k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.5142 µs 6.5312 µs 6.5495 µs] + thrpt: [118.67 MiB/s 119.00 MiB/s 119.31 MiB/s] +Found 1 outliers among 50 measurements (2.00%) + 1 (2.00%) high mild +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0004 s (127k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [15.598 µs 15.660 µs 15.737 µs] + thrpt: [104.90 MiB/s 105.41 MiB/s 105.84 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline-1.txt new file mode 100644 index 0000000..76c4003 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline-1.txt @@ -0,0 +1,61 @@ +memcap: <=7696 MiB (60% of 12827 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0000 s (803k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.4615 µs 2.4691 µs 2.4780 µs] + thrpt: [153.56 MiB/s 154.11 MiB/s 154.59 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0003 s (308k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [6.3517 µs 6.3693 µs 6.3891 µs] + thrpt: [121.65 MiB/s 122.03 MiB/s 122.37 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0004 s (153k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [13.092 µs 13.209 µs 13.366 µs] + thrpt: [118.08 MiB/s 119.49 MiB/s 120.56 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0001 s (769k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.5819 µs 2.6004 µs 2.6230 µs] + thrpt: [145.07 MiB/s 146.33 MiB/s 147.38 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0001 s (299k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [6.5369 µs 6.5705 µs 6.6169 µs] + thrpt: [117.46 MiB/s 118.29 MiB/s 118.90 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0003 s (127k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [15.906 µs 16.026 µs 16.163 µs] + thrpt: [102.13 MiB/s 103.01 MiB/s 103.79 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline-build.txt new file mode 100644 index 0000000..c09d3ce --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7694 MiB (60% of 12823 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.76s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/criterion-SHA256SUMS new file mode 100644 index 0000000..3022a71 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/criterion-SHA256SUMS @@ -0,0 +1,192 @@ +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-0/branch_write/branches_256/128/base/benchmark.json +9741e29c303ec2eb35971944639f72be4a111cfd5c22243b077d7d2f10a77376 baseline-0/branch_write/branches_256/128/base/estimates.json +d3d01ca800d5a1d80c68ce95688e608ecf74f68556f7abea82e4c045fc2e043f baseline-0/branch_write/branches_256/128/base/sample.json +4def03720ef2b7e8f7b9c9bfbbcba099dc6f69bf4eb1ceb52af2c59d0b042f55 baseline-0/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-0/branch_write/branches_256/128/new/benchmark.json +9741e29c303ec2eb35971944639f72be4a111cfd5c22243b077d7d2f10a77376 baseline-0/branch_write/branches_256/128/new/estimates.json +d3d01ca800d5a1d80c68ce95688e608ecf74f68556f7abea82e4c045fc2e043f baseline-0/branch_write/branches_256/128/new/sample.json +4def03720ef2b7e8f7b9c9bfbbcba099dc6f69bf4eb1ceb52af2c59d0b042f55 baseline-0/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-0/branch_write/branches_256/32/base/benchmark.json +0c85205a93018180e7bdf0a8cc17ca20d0cf1df1d5aafe895f76789d2ae386de baseline-0/branch_write/branches_256/32/base/estimates.json +05de39fcfaea346e0747c4cf43433d9aa527adb7753265fbd3ffc98ae29c52a1 baseline-0/branch_write/branches_256/32/base/sample.json +c77e467ce0bd24a0ccc1ad57bea3cdd0c4f4000c784474f72e107aec0d50924d baseline-0/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-0/branch_write/branches_256/32/new/benchmark.json +0c85205a93018180e7bdf0a8cc17ca20d0cf1df1d5aafe895f76789d2ae386de baseline-0/branch_write/branches_256/32/new/estimates.json +05de39fcfaea346e0747c4cf43433d9aa527adb7753265fbd3ffc98ae29c52a1 baseline-0/branch_write/branches_256/32/new/sample.json +c77e467ce0bd24a0ccc1ad57bea3cdd0c4f4000c784474f72e107aec0d50924d baseline-0/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-0/branch_write/branches_256/64/base/benchmark.json +4f6d6358a9417d5d683b2a09f9d9910f6a53d4445a94eb654e8f3d1eb99cd7a2 baseline-0/branch_write/branches_256/64/base/estimates.json +3b35c080479fe45d93ef035cc65408468c1c06cf1b3cdae5f1fc02d704ce2a92 baseline-0/branch_write/branches_256/64/base/sample.json +a9ad2af272d39f5502bae501fc9ed7d70e7c6f0d81413ef6b8037a83e527dd4c baseline-0/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-0/branch_write/branches_256/64/new/benchmark.json +4f6d6358a9417d5d683b2a09f9d9910f6a53d4445a94eb654e8f3d1eb99cd7a2 baseline-0/branch_write/branches_256/64/new/estimates.json +3b35c080479fe45d93ef035cc65408468c1c06cf1b3cdae5f1fc02d704ce2a92 baseline-0/branch_write/branches_256/64/new/sample.json +a9ad2af272d39f5502bae501fc9ed7d70e7c6f0d81413ef6b8037a83e527dd4c baseline-0/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-0/branch_write/branches_64/128/base/benchmark.json +24ab29d4c65653cf8d17427d4afe039bdc08e93873f4979970c0b024ccfdbb68 baseline-0/branch_write/branches_64/128/base/estimates.json +a518f28a9b2cf0c347e9b965514d213c5a93ea761735a4c6d5ffa3f93ba195a7 baseline-0/branch_write/branches_64/128/base/sample.json +ee6fc13c98c6c2f17a67782d6f97daeb023c94672ebd59b67c3e80d075de4b88 baseline-0/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-0/branch_write/branches_64/128/new/benchmark.json +24ab29d4c65653cf8d17427d4afe039bdc08e93873f4979970c0b024ccfdbb68 baseline-0/branch_write/branches_64/128/new/estimates.json +a518f28a9b2cf0c347e9b965514d213c5a93ea761735a4c6d5ffa3f93ba195a7 baseline-0/branch_write/branches_64/128/new/sample.json +ee6fc13c98c6c2f17a67782d6f97daeb023c94672ebd59b67c3e80d075de4b88 baseline-0/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-0/branch_write/branches_64/32/base/benchmark.json +2bdcf1e02a071d114e56215fe02f75bdb660b634f925e3d1c1b80afe4b8e2d3d baseline-0/branch_write/branches_64/32/base/estimates.json +36610154b7a63a99c5ff3b292c855c29301ead6acbe4461db428412970588116 baseline-0/branch_write/branches_64/32/base/sample.json +92c695713bd43f65284fbeed49a0b4c2a18ebc64d7fb0324c4022f0b88fdf159 baseline-0/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-0/branch_write/branches_64/32/new/benchmark.json +2bdcf1e02a071d114e56215fe02f75bdb660b634f925e3d1c1b80afe4b8e2d3d baseline-0/branch_write/branches_64/32/new/estimates.json +36610154b7a63a99c5ff3b292c855c29301ead6acbe4461db428412970588116 baseline-0/branch_write/branches_64/32/new/sample.json +92c695713bd43f65284fbeed49a0b4c2a18ebc64d7fb0324c4022f0b88fdf159 baseline-0/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-0/branch_write/branches_64/64/base/benchmark.json +b54e044c94f0318caa09cec385fd6c662ceec59dfd03d8c7ccedb637826c9f1a baseline-0/branch_write/branches_64/64/base/estimates.json +0946926b3a79b5a279cd812afc861f9b28c9fbbe7e0f44180bf5e474eaf647df baseline-0/branch_write/branches_64/64/base/sample.json +5bd6c31bb90ccede4ac4426c09f7116cbc0c86a16481e86704b5e2b7cbe5fd6e baseline-0/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-0/branch_write/branches_64/64/new/benchmark.json +b54e044c94f0318caa09cec385fd6c662ceec59dfd03d8c7ccedb637826c9f1a baseline-0/branch_write/branches_64/64/new/estimates.json +0946926b3a79b5a279cd812afc861f9b28c9fbbe7e0f44180bf5e474eaf647df baseline-0/branch_write/branches_64/64/new/sample.json +5bd6c31bb90ccede4ac4426c09f7116cbc0c86a16481e86704b5e2b7cbe5fd6e baseline-0/branch_write/branches_64/64/new/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-1/branch_write/branches_256/128/base/benchmark.json +acfc3a165c15406f90863ccc29b4a5427fb02cfd6aa78b1653bbc7383520338e baseline-1/branch_write/branches_256/128/base/estimates.json +129bef97c31a934baf3d4bf77e7f6368904345485b98e06faa843c1bec27716e baseline-1/branch_write/branches_256/128/base/sample.json +78408fc58bb04284d0be3ce91d9603ee165ecf7878f95e3b64372f11bf4dde01 baseline-1/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 baseline-1/branch_write/branches_256/128/new/benchmark.json +acfc3a165c15406f90863ccc29b4a5427fb02cfd6aa78b1653bbc7383520338e baseline-1/branch_write/branches_256/128/new/estimates.json +129bef97c31a934baf3d4bf77e7f6368904345485b98e06faa843c1bec27716e baseline-1/branch_write/branches_256/128/new/sample.json +78408fc58bb04284d0be3ce91d9603ee165ecf7878f95e3b64372f11bf4dde01 baseline-1/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-1/branch_write/branches_256/32/base/benchmark.json +b7ae78493490095802e52f88b7031da0664c65ccf25b7dec51b617cff759d671 baseline-1/branch_write/branches_256/32/base/estimates.json +29fa24343417b10498b8fcddbaeb066701349c3ba5f5e68f96554292a734f901 baseline-1/branch_write/branches_256/32/base/sample.json +d1f436bd501a2a5875570592e6ed64a08d4001ec9e4a233351a2395c7ec345d7 baseline-1/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 baseline-1/branch_write/branches_256/32/new/benchmark.json +b7ae78493490095802e52f88b7031da0664c65ccf25b7dec51b617cff759d671 baseline-1/branch_write/branches_256/32/new/estimates.json +29fa24343417b10498b8fcddbaeb066701349c3ba5f5e68f96554292a734f901 baseline-1/branch_write/branches_256/32/new/sample.json +d1f436bd501a2a5875570592e6ed64a08d4001ec9e4a233351a2395c7ec345d7 baseline-1/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-1/branch_write/branches_256/64/base/benchmark.json +0bdb8ca0fb18e8dc199256a0d90a5f2b8b0080c1c9058eba9ec2cbb2ea0f864c baseline-1/branch_write/branches_256/64/base/estimates.json +000ad1dddf152c9abdb704791e8554a4ebdb19321587a7cf8ec2ab5b7571212d baseline-1/branch_write/branches_256/64/base/sample.json +a963bc450d346d67666ec6e0382d437b57c2bd53f0c4e405fec80c09a691d183 baseline-1/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f baseline-1/branch_write/branches_256/64/new/benchmark.json +0bdb8ca0fb18e8dc199256a0d90a5f2b8b0080c1c9058eba9ec2cbb2ea0f864c baseline-1/branch_write/branches_256/64/new/estimates.json +000ad1dddf152c9abdb704791e8554a4ebdb19321587a7cf8ec2ab5b7571212d baseline-1/branch_write/branches_256/64/new/sample.json +a963bc450d346d67666ec6e0382d437b57c2bd53f0c4e405fec80c09a691d183 baseline-1/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-1/branch_write/branches_64/128/base/benchmark.json +3e75866d5acc7a6283d96f98f31eb38ba2fdc1ded57c8b471aa2e6521128d1af baseline-1/branch_write/branches_64/128/base/estimates.json +bd97efc672b24fc2cfdb691528410aa6656c6b764a09d108a30e05d06f195f54 baseline-1/branch_write/branches_64/128/base/sample.json +981ee05d547e05c9f307af1386200ecfe531899afeb4a10f7f5771ee8e3b0c04 baseline-1/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 baseline-1/branch_write/branches_64/128/new/benchmark.json +3e75866d5acc7a6283d96f98f31eb38ba2fdc1ded57c8b471aa2e6521128d1af baseline-1/branch_write/branches_64/128/new/estimates.json +bd97efc672b24fc2cfdb691528410aa6656c6b764a09d108a30e05d06f195f54 baseline-1/branch_write/branches_64/128/new/sample.json +981ee05d547e05c9f307af1386200ecfe531899afeb4a10f7f5771ee8e3b0c04 baseline-1/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-1/branch_write/branches_64/32/base/benchmark.json +94d1fb7630dfcd2c55302a335baf79d6d0bb0ba45a0512d0d436b6a4fe1d210c baseline-1/branch_write/branches_64/32/base/estimates.json +0718984a0c5c38f0b9c2f376c10e04a1a9e48fe84c20d5f7c1a1c464343624ad baseline-1/branch_write/branches_64/32/base/sample.json +bb7e56f7a93f0cc2aa083594a35ac1cc699705d929f203cf4ac9788e23f20136 baseline-1/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa baseline-1/branch_write/branches_64/32/new/benchmark.json +94d1fb7630dfcd2c55302a335baf79d6d0bb0ba45a0512d0d436b6a4fe1d210c baseline-1/branch_write/branches_64/32/new/estimates.json +0718984a0c5c38f0b9c2f376c10e04a1a9e48fe84c20d5f7c1a1c464343624ad baseline-1/branch_write/branches_64/32/new/sample.json +bb7e56f7a93f0cc2aa083594a35ac1cc699705d929f203cf4ac9788e23f20136 baseline-1/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-1/branch_write/branches_64/64/base/benchmark.json +03c84bcdda3ac1b8e5a29bc2d07da5eb467f06f4b4bb965acb562b275b251789 baseline-1/branch_write/branches_64/64/base/estimates.json +312ac34841395354fac1396dfe78d4a0e0f47ab71070377b24ab95175eda1a70 baseline-1/branch_write/branches_64/64/base/sample.json +2bff73ca4fa8bdacf271a34c369ead27adfc3fdd595eca48ae0b1892444eb006 baseline-1/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf baseline-1/branch_write/branches_64/64/new/benchmark.json +03c84bcdda3ac1b8e5a29bc2d07da5eb467f06f4b4bb965acb562b275b251789 baseline-1/branch_write/branches_64/64/new/estimates.json +312ac34841395354fac1396dfe78d4a0e0f47ab71070377b24ab95175eda1a70 baseline-1/branch_write/branches_64/64/new/sample.json +2bff73ca4fa8bdacf271a34c369ead27adfc3fdd595eca48ae0b1892444eb006 baseline-1/branch_write/branches_64/64/new/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-0/branch_write/branches_256/128/base/benchmark.json +63df538fe0ba760ace3fe7fcb480ca80586cbace51164858450076b48d1754d7 current-0/branch_write/branches_256/128/base/estimates.json +f8b95fbc744a627020737693bad338524b810409d6065d3363ec795521b3e14e current-0/branch_write/branches_256/128/base/sample.json +3ddaa8f6fa713af12fe089f9da7c7e6e7932b235c2db54862e8360ccef48d0b6 current-0/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-0/branch_write/branches_256/128/new/benchmark.json +63df538fe0ba760ace3fe7fcb480ca80586cbace51164858450076b48d1754d7 current-0/branch_write/branches_256/128/new/estimates.json +f8b95fbc744a627020737693bad338524b810409d6065d3363ec795521b3e14e current-0/branch_write/branches_256/128/new/sample.json +3ddaa8f6fa713af12fe089f9da7c7e6e7932b235c2db54862e8360ccef48d0b6 current-0/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-0/branch_write/branches_256/32/base/benchmark.json +3a8287ec10feebc90ea6a65493697670cb130d461a0e5fec6a5288cdd492a2a0 current-0/branch_write/branches_256/32/base/estimates.json +beffe1e05a34a393eab041f7937cec2e45e727157fc42871edd53f9ad3e46942 current-0/branch_write/branches_256/32/base/sample.json +7624eb63de0f4b7a7c0328dcdbf2c2d7be8c316c63116590f15df2006af7aa04 current-0/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-0/branch_write/branches_256/32/new/benchmark.json +3a8287ec10feebc90ea6a65493697670cb130d461a0e5fec6a5288cdd492a2a0 current-0/branch_write/branches_256/32/new/estimates.json +beffe1e05a34a393eab041f7937cec2e45e727157fc42871edd53f9ad3e46942 current-0/branch_write/branches_256/32/new/sample.json +7624eb63de0f4b7a7c0328dcdbf2c2d7be8c316c63116590f15df2006af7aa04 current-0/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-0/branch_write/branches_256/64/base/benchmark.json +aa124c17345b6f7dc3e5e24b1549727d90ca748e5f723d30157df5a0f94da30b current-0/branch_write/branches_256/64/base/estimates.json +bd94b9c7e231ca181599a0b2ec6afe44b69b94ecf49028ec044d1ec45f7545a4 current-0/branch_write/branches_256/64/base/sample.json +629a54087c92bbbfb61e28382cbc49a74e7655abb48dc87f863eb9058bbeb354 current-0/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-0/branch_write/branches_256/64/new/benchmark.json +aa124c17345b6f7dc3e5e24b1549727d90ca748e5f723d30157df5a0f94da30b current-0/branch_write/branches_256/64/new/estimates.json +bd94b9c7e231ca181599a0b2ec6afe44b69b94ecf49028ec044d1ec45f7545a4 current-0/branch_write/branches_256/64/new/sample.json +629a54087c92bbbfb61e28382cbc49a74e7655abb48dc87f863eb9058bbeb354 current-0/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-0/branch_write/branches_64/128/base/benchmark.json +a4c07fdce04ac0048fe194c3c892103bf2233739debbdd0bf3ff0e266a8f5f1a current-0/branch_write/branches_64/128/base/estimates.json +bba0ff42afbb8b470838c938e60d61c162251feae18d116f3b4f8d6b4c69209e current-0/branch_write/branches_64/128/base/sample.json +5a558e141f36c648b3bc95296155d509e283e965c1986583a3739a40e74b72a1 current-0/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-0/branch_write/branches_64/128/new/benchmark.json +a4c07fdce04ac0048fe194c3c892103bf2233739debbdd0bf3ff0e266a8f5f1a current-0/branch_write/branches_64/128/new/estimates.json +bba0ff42afbb8b470838c938e60d61c162251feae18d116f3b4f8d6b4c69209e current-0/branch_write/branches_64/128/new/sample.json +5a558e141f36c648b3bc95296155d509e283e965c1986583a3739a40e74b72a1 current-0/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-0/branch_write/branches_64/32/base/benchmark.json +f57487423ed84e286ad804dee779e57af0b53cd4ea5316df8350a869d1889275 current-0/branch_write/branches_64/32/base/estimates.json +3804e0feef0172b5fdcef5ae51048028045f0b77d72e98c8be602afc8e02acb8 current-0/branch_write/branches_64/32/base/sample.json +9a950b841cde01c71abb6c66bffb663a18e89c6647558d62023766cf8155be98 current-0/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-0/branch_write/branches_64/32/new/benchmark.json +f57487423ed84e286ad804dee779e57af0b53cd4ea5316df8350a869d1889275 current-0/branch_write/branches_64/32/new/estimates.json +3804e0feef0172b5fdcef5ae51048028045f0b77d72e98c8be602afc8e02acb8 current-0/branch_write/branches_64/32/new/sample.json +9a950b841cde01c71abb6c66bffb663a18e89c6647558d62023766cf8155be98 current-0/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-0/branch_write/branches_64/64/base/benchmark.json +ba2d3a49287618fe8553111791c516fe8ca12b32725a42e0967fd233c968aaa6 current-0/branch_write/branches_64/64/base/estimates.json +ac138d174d569b93732e5c4047c0d6125d6f094e61d8e8567a2acdba39a9aa00 current-0/branch_write/branches_64/64/base/sample.json +8d0699790e570e7c10582661c40ef481def328e5fd29e2bc39da769ebe83b109 current-0/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-0/branch_write/branches_64/64/new/benchmark.json +ba2d3a49287618fe8553111791c516fe8ca12b32725a42e0967fd233c968aaa6 current-0/branch_write/branches_64/64/new/estimates.json +ac138d174d569b93732e5c4047c0d6125d6f094e61d8e8567a2acdba39a9aa00 current-0/branch_write/branches_64/64/new/sample.json +8d0699790e570e7c10582661c40ef481def328e5fd29e2bc39da769ebe83b109 current-0/branch_write/branches_64/64/new/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-1/branch_write/branches_256/128/base/benchmark.json +00cf64c2c2d1d27586dabccb9a31399e735119bb1d5d7cd0912bcc3c38bfaf58 current-1/branch_write/branches_256/128/base/estimates.json +aa186e1d321cb23f27b13799bf40d0ba260eaf3de67b0531f352737feea4625c current-1/branch_write/branches_256/128/base/sample.json +e324fef3dd0b8487a52b0fab51532ab43ed1a310b0cb9b3865be0d5b85945a7c current-1/branch_write/branches_256/128/base/tukey.json +accb30fb8b4d5fbb02f966aec14d4b2d333a74fbb006ab4acc6b77816c8d2ae4 current-1/branch_write/branches_256/128/new/benchmark.json +00cf64c2c2d1d27586dabccb9a31399e735119bb1d5d7cd0912bcc3c38bfaf58 current-1/branch_write/branches_256/128/new/estimates.json +aa186e1d321cb23f27b13799bf40d0ba260eaf3de67b0531f352737feea4625c current-1/branch_write/branches_256/128/new/sample.json +e324fef3dd0b8487a52b0fab51532ab43ed1a310b0cb9b3865be0d5b85945a7c current-1/branch_write/branches_256/128/new/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-1/branch_write/branches_256/32/base/benchmark.json +487a3abbcae7f53c5f698e6a7b17a58026fb92fd749c939e63f5aa160878b325 current-1/branch_write/branches_256/32/base/estimates.json +73b8d908407476cc7e9c035b07825d16626e70e40055a9b40e9d7bbb6cab08c6 current-1/branch_write/branches_256/32/base/sample.json +499a3c6801d99fde2bd64a712c3fb3cd452b9a8b7ad97487a22e928a9c7b3282 current-1/branch_write/branches_256/32/base/tukey.json +35c82efed63f3b176f4834b9291f78035ebc6368988e6efe8e2b275d9904a5d6 current-1/branch_write/branches_256/32/new/benchmark.json +487a3abbcae7f53c5f698e6a7b17a58026fb92fd749c939e63f5aa160878b325 current-1/branch_write/branches_256/32/new/estimates.json +73b8d908407476cc7e9c035b07825d16626e70e40055a9b40e9d7bbb6cab08c6 current-1/branch_write/branches_256/32/new/sample.json +499a3c6801d99fde2bd64a712c3fb3cd452b9a8b7ad97487a22e928a9c7b3282 current-1/branch_write/branches_256/32/new/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-1/branch_write/branches_256/64/base/benchmark.json +0a55fd52553572a5b5877bf8ff3a2f8d034a64cc65eecfc437d3decba027d8d4 current-1/branch_write/branches_256/64/base/estimates.json +f15b4ee60a5dc06e5ceb878fcdd132742b39955998b57fb190b738f7967010fd current-1/branch_write/branches_256/64/base/sample.json +36dba6bdecce3f30f6ee222661de7cf30503a6a77bf39380a72605f04e0f27f9 current-1/branch_write/branches_256/64/base/tukey.json +c05ccb86c48eace903fba644883c05f5ee6f526be9f6fb6cecfc793167e6064f current-1/branch_write/branches_256/64/new/benchmark.json +0a55fd52553572a5b5877bf8ff3a2f8d034a64cc65eecfc437d3decba027d8d4 current-1/branch_write/branches_256/64/new/estimates.json +f15b4ee60a5dc06e5ceb878fcdd132742b39955998b57fb190b738f7967010fd current-1/branch_write/branches_256/64/new/sample.json +36dba6bdecce3f30f6ee222661de7cf30503a6a77bf39380a72605f04e0f27f9 current-1/branch_write/branches_256/64/new/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-1/branch_write/branches_64/128/base/benchmark.json +a0c695773123a6f8964641627eb2f40cfaea4167fe10f2121c7f40ecff5fbc61 current-1/branch_write/branches_64/128/base/estimates.json +c0789f831496eadeebd4f3ffc93d5a2548eb350f21f85cf9d1cb7410a1f1dfa5 current-1/branch_write/branches_64/128/base/sample.json +08216be7d70b5f3a6f7926e16b740707923f9ad9993b33cdd68e5cca71a7c613 current-1/branch_write/branches_64/128/base/tukey.json +f10f97f119f2852e4b0a43b71954262817205a2b200070ef435179fce20b7342 current-1/branch_write/branches_64/128/new/benchmark.json +a0c695773123a6f8964641627eb2f40cfaea4167fe10f2121c7f40ecff5fbc61 current-1/branch_write/branches_64/128/new/estimates.json +c0789f831496eadeebd4f3ffc93d5a2548eb350f21f85cf9d1cb7410a1f1dfa5 current-1/branch_write/branches_64/128/new/sample.json +08216be7d70b5f3a6f7926e16b740707923f9ad9993b33cdd68e5cca71a7c613 current-1/branch_write/branches_64/128/new/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-1/branch_write/branches_64/32/base/benchmark.json +4d3cf390dd38e4e2fb68acbdce754f83588c9874487d9d6c198417c274189e44 current-1/branch_write/branches_64/32/base/estimates.json +31980fa4d4dc73be4307ecd333beb4fa93fb5068547510b4be38f7de374cee22 current-1/branch_write/branches_64/32/base/sample.json +17a409ba54cd756d91245fdcbfeb5f06b35e61a94a039a2ed5b6d3439686c2ae current-1/branch_write/branches_64/32/base/tukey.json +a0a21af2e03a5c24009c3319d7e1c9006ecc18bf8702940746fe03db7e6a58fa current-1/branch_write/branches_64/32/new/benchmark.json +4d3cf390dd38e4e2fb68acbdce754f83588c9874487d9d6c198417c274189e44 current-1/branch_write/branches_64/32/new/estimates.json +31980fa4d4dc73be4307ecd333beb4fa93fb5068547510b4be38f7de374cee22 current-1/branch_write/branches_64/32/new/sample.json +17a409ba54cd756d91245fdcbfeb5f06b35e61a94a039a2ed5b6d3439686c2ae current-1/branch_write/branches_64/32/new/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-1/branch_write/branches_64/64/base/benchmark.json +853774e3a1819231b322ec286d435d38faff33c50e7df7c4a0e9e9ed61ded7a5 current-1/branch_write/branches_64/64/base/estimates.json +cad01341b31f0ba3aa082d2edcb072ea3380706032bc30c63d15c9bdeb6b5ec1 current-1/branch_write/branches_64/64/base/sample.json +6724566651f964dc1a487f9caca31855035bbea1369b5d9a0c735a7a7cf360f7 current-1/branch_write/branches_64/64/base/tukey.json +60c5fd4ee18224544b9b6dbcb09d5dace7d98e43d6d1489ea34c20d0b039bacf current-1/branch_write/branches_64/64/new/benchmark.json +853774e3a1819231b322ec286d435d38faff33c50e7df7c4a0e9e9ed61ded7a5 current-1/branch_write/branches_64/64/new/estimates.json +cad01341b31f0ba3aa082d2edcb072ea3380706032bc30c63d15c9bdeb6b5ec1 current-1/branch_write/branches_64/64/new/sample.json +6724566651f964dc1a487f9caca31855035bbea1369b5d9a0c735a7a7cf360f7 current-1/branch_write/branches_64/64/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/criterion-results.tar.gz new file mode 100644 index 0000000..9944080 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current-0.txt new file mode 100644 index 0000000..838055b --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current-0.txt @@ -0,0 +1,60 @@ +memcap: <=7694 MiB (60% of 12824 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0000 s (883k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.2716 µs 2.2926 µs 2.3172 µs] + thrpt: [164.22 MiB/s 165.98 MiB/s 167.51 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 2 (4.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0001 s (367k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [5.4381 µs 5.5062 µs 5.5924 µs] + thrpt: [138.98 MiB/s 141.16 MiB/s 142.92 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0004 s (197k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [10.102 µs 10.160 µs 10.249 µs] + thrpt: [154.00 MiB/s 155.34 MiB/s 156.23 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0000 s (831k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.3794 µs 2.4132 µs 2.4753 µs] + thrpt: [153.73 MiB/s 157.68 MiB/s 159.92 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0002 s (237k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [8.3683 µs 8.4883 µs 8.6524 µs] + thrpt: [89.830 MiB/s 91.567 MiB/s 92.880 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 4 (8.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0002 s (150k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [13.106 µs 13.257 µs 13.427 µs] + thrpt: [122.95 MiB/s 124.52 MiB/s 125.96 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 5 (10.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current-1.txt new file mode 100644 index 0000000..0b6aa4d --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current-1.txt @@ -0,0 +1,61 @@ +memcap: <=7695 MiB (60% of 12825 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/32 +Benchmarking branch_write/branches_64/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/32: Collecting 50 samples in estimated 2.0000 s (873k iterations) +Benchmarking branch_write/branches_64/32: Analyzing +branch_write/branches_64/32 + time: [2.2649 µs 2.2924 µs 2.3331 µs] + thrpt: [163.09 MiB/s 165.99 MiB/s 168.01 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high severe +Benchmarking branch_write/branches_64/64 +Benchmarking branch_write/branches_64/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/64: Collecting 50 samples in estimated 2.0001 s (364k iterations) +Benchmarking branch_write/branches_64/64: Analyzing +branch_write/branches_64/64 + time: [5.4511 µs 5.4771 µs 5.5109 µs] + thrpt: [141.04 MiB/s 141.91 MiB/s 142.58 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_64/128 +Benchmarking branch_write/branches_64/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/128: Collecting 50 samples in estimated 2.0003 s (198k iterations) +Benchmarking branch_write/branches_64/128: Analyzing +branch_write/branches_64/128 + time: [10.128 µs 10.246 µs 10.387 µs] + thrpt: [151.95 MiB/s 154.05 MiB/s 155.84 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking branch_write/branches_256/32 +Benchmarking branch_write/branches_256/32: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/32: Collecting 50 samples in estimated 2.0000 s (835k iterations) +Benchmarking branch_write/branches_256/32: Analyzing +branch_write/branches_256/32 + time: [2.3734 µs 2.3862 µs 2.4043 µs] + thrpt: [158.27 MiB/s 159.47 MiB/s 160.32 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/64 +Benchmarking branch_write/branches_256/64: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/64: Collecting 50 samples in estimated 2.0003 s (231k iterations) +Benchmarking branch_write/branches_256/64: Analyzing +branch_write/branches_256/64 + time: [8.5232 µs 8.6027 µs 8.7048 µs] + thrpt: [89.289 MiB/s 90.349 MiB/s 91.192 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_256/128 +Benchmarking branch_write/branches_256/128: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/128: Collecting 50 samples in estimated 2.0006 s (152k iterations) +Benchmarking branch_write/branches_256/128: Analyzing +branch_write/branches_256/128 + time: [12.966 µs 13.181 µs 13.492 µs] + thrpt: [122.36 MiB/s 125.24 MiB/s 127.32 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current-build.txt new file mode 100644 index 0000000..ba6863e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7648 MiB (60% of 12747 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.75s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/harness.rs new file mode 100644 index 0000000..3fa0c28 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [64, 256] { + for count in [32, 64, 128] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/metadata.json new file mode 100644 index 0000000..6256244 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "d3bf1728be1d265b6b5d317946492cec9b4a6f8c" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/summary.json new file mode 100644 index 0000000..d43e4f4 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-crossover/summary.json @@ -0,0 +1,314 @@ +{ + "branch_write/branches_256/128": { + "baseline_ns": 15842.906612125716, + "candidate_ns": 13219.184980330016, + "delta_percent": -16.560860301906832, + "speedup": 1.198478320388115, + "process_deltas_percent": [ + -15.343871323410252, + -17.75009662640963 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 15597.669321780228, + "upper_bound": 15736.82257995273 + }, + "point_estimate": 15660.179456478925, + "standard_error": 35.73034739116296 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 15906.03276382307, + "upper_bound": 16163.12467259084 + }, + "point_estimate": 16025.63376777251, + "standard_error": 65.65499506472437 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 13105.633656676653, + "upper_bound": 13427.154814185815 + }, + "point_estimate": 13257.301671661671, + "standard_error": 82.26636836400839 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 12966.039646962232, + "upper_bound": 13491.901099835797 + }, + "point_estimate": 13181.06828899836, + "standard_error": 140.48762244767914 + } + ] + } + }, + "branch_write/branches_256/32": { + "baseline_ns": 2594.691882774037, + "candidate_ns": 2399.702249277286, + "delta_percent": -7.51494367370833, + "speedup": 1.0812557614410188, + "process_deltas_percent": [ + -6.788773971922812, + -8.237936231495302 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2576.021664560365, + "upper_bound": 2604.9035951868786 + }, + "point_estimate": 2589.0032791072867, + "standard_error": 7.414465378299867 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2581.9448972816544, + "upper_bound": 2623.032002113546 + }, + "point_estimate": 2600.380486440787, + "standard_error": 10.594318746918272 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2379.4171273772267, + "upper_bound": 2475.2593248074154 + }, + "point_estimate": 2413.2416983630233, + "standard_error": 28.948421111375996 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2373.4258872560754, + "upper_bound": 2404.254404615108 + }, + "point_estimate": 2386.162800191548, + "standard_error": 8.047397577118762 + } + ] + } + }, + "branch_write/branches_256/64": { + "baseline_ns": 6550.880163835603, + "candidate_ns": 8545.499169390268, + "delta_percent": 30.448107058438346, + "speedup": 0.7665883565117725, + "process_deltas_percent": [ + 29.964513648167813, + 30.92880845361612 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6514.246827722773, + "upper_bound": 6549.483494471947 + }, + "point_estimate": 6531.233429042902, + "standard_error": 8.984629513192266 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6536.945873870859, + "upper_bound": 6616.909448812314 + }, + "point_estimate": 6570.526898628304, + "standard_error": 20.706369477072077 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 8368.293327288065, + "upper_bound": 8652.40671478279 + }, + "point_estimate": 8488.28576128216, + "standard_error": 73.82501009577904 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 8523.173344027751, + "upper_bound": 8704.848164426623 + }, + "point_estimate": 8602.712577498376, + "standard_error": 46.74034863542404 + } + ] + } + }, + "branch_write/branches_64/128": { + "baseline_ns": 13189.597391555244, + "candidate_ns": 10203.062931527158, + "delta_percent": -22.643105557871245, + "speedup": 1.2927095990753703, + "process_deltas_percent": [ + -22.854976508827363, + -22.43184284049753 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 13043.900296615682, + "upper_bound": 13325.080552229092 + }, + "point_estimate": 13170.638001952493, + "standard_error": 72.48841443383947 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 13092.090341511286, + "upper_bound": 13366.479279849525 + }, + "point_estimate": 13208.556781157995, + "standard_error": 71.3925532902352 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 10102.311829438659, + "upper_bound": 10248.897127635255 + }, + "point_estimate": 10160.491780543562, + "standard_error": 38.874831332628176 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 10127.719367754999, + "upper_bound": 10387.080692103262 + }, + "point_estimate": 10245.634082510755, + "standard_error": 66.46034248959221 + } + ] + } + }, + "branch_write/branches_64/32": { + "baseline_ns": 2473.729371161866, + "candidate_ns": 2292.497857940468, + "delta_percent": -7.32624657062938, + "speedup": 1.0790541690556748, + "process_deltas_percent": [ + -7.4977888321138275, + -7.154058958078435 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2462.6043550362415, + "upper_bound": 2496.944716164709 + }, + "point_estimate": 2478.373785303674, + "standard_error": 8.807202157307225 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2461.4673623396043, + "upper_bound": 2477.9819170300243 + }, + "point_estimate": 2469.084957020057, + "standard_error": 4.242167860833132 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2271.5940638442385, + "upper_bound": 2317.153569390989 + }, + "point_estimate": 2292.5505524111386, + "standard_error": 11.675097677759608 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 2264.9039634697974, + "upper_bound": 2333.1030354709414 + }, + "point_estimate": 2292.4451634697966, + "standard_error": 18.0039643075692 + } + ] + } + }, + "branch_write/branches_64/64": { + "baseline_ns": 6442.788240351489, + "candidate_ns": 5491.68542334882, + "delta_percent": -14.762285853908196, + "speedup": 1.1731896027691053, + "process_deltas_percent": [ + -15.500345270680215, + -14.007196006098443 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6451.190905643598, + "upper_bound": 6595.456517302718 + }, + "point_estimate": 6516.27282988357, + "standard_error": 36.909312930100896 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 6351.6799028070745, + "upper_bound": 6389.054738195681 + }, + "point_estimate": 6369.303650819406, + "standard_error": 9.549627159254301 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 5438.140857609582, + "upper_bound": 5592.367005581269 + }, + "point_estimate": 5506.228042472092, + "standard_error": 39.696467813939464 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 5451.106541295102, + "upper_bound": 5510.910651666897 + }, + "point_estimate": 5477.142804225548, + "standard_error": 15.426590998321155 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-0.txt new file mode 100644 index 0000000..60d1dd0 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-0.txt @@ -0,0 +1,42 @@ +memcap: <=7624 MiB (60% of 12706 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0027 s (79k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [63.644 µs 64.518 µs 65.613 µs] + thrpt: [173.01 MiB/s 175.94 MiB/s 178.36 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 4 (4.00%) high mild + 10 (10.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0062 s (72k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [68.795 µs 69.053 µs 69.377 µs] + thrpt: [173.85 MiB/s 174.66 MiB/s 175.32 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 6 (6.00%) high mild + 5 (5.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0007 s (48k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [104.21 µs 104.52 µs 104.87 µs] + thrpt: [123.52 MiB/s 123.93 MiB/s 124.30 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 4 (4.00%) high mild + 5 (5.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0161 s (29k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [174.17 µs 175.28 µs 176.76 µs] + thrpt: [81.052 MiB/s 81.737 MiB/s 82.258 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 3 (3.00%) high mild + 6 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-1.txt new file mode 100644 index 0000000..2c21da3 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-1.txt @@ -0,0 +1,42 @@ +memcap: <=7696 MiB (60% of 12827 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0026 s (78k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [64.414 µs 64.841 µs 65.384 µs] + thrpt: [173.61 MiB/s 175.07 MiB/s 176.23 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 5 (5.00%) high mild + 8 (8.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0008 s (72k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [69.638 µs 70.082 µs 70.633 µs] + thrpt: [170.76 MiB/s 172.10 MiB/s 173.20 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 7 (7.00%) high mild + 6 (6.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0094 s (48k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [105.26 µs 106.93 µs 109.15 µs] + thrpt: [118.68 MiB/s 121.14 MiB/s 123.06 MiB/s] +Found 17 outliers among 100 measurements (17.00%) + 5 (5.00%) high mild + 12 (12.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0080 s (28k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [175.69 µs 176.59 µs 177.59 µs] + thrpt: [80.673 MiB/s 81.133 MiB/s 81.546 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 3 (3.00%) high mild + 11 (11.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-2.txt new file mode 100644 index 0000000..6a2341b --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-2.txt @@ -0,0 +1,41 @@ +memcap: <=7695 MiB (60% of 12825 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0027 s (74k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [66.459 µs 66.705 µs 66.992 µs] + thrpt: [169.45 MiB/s 170.18 MiB/s 170.81 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 1 (1.00%) high mild + 6 (6.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0018 s (68k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [74.380 µs 75.255 µs 76.287 µs] + thrpt: [158.10 MiB/s 160.27 MiB/s 162.15 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 5 (5.00%) high mild + 9 (9.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0078 s (46k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [107.85 µs 108.40 µs 109.05 µs] + thrpt: [118.79 MiB/s 119.50 MiB/s 120.11 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 3 (3.00%) high mild + 7 (7.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0132 s (28k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [181.87 µs 183.52 µs 185.32 µs] + thrpt: [77.308 MiB/s 78.070 MiB/s 78.775 MiB/s] +Found 3 outliers among 100 measurements (3.00%) + 3 (3.00%) high mild + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-build.txt new file mode 100644 index 0000000..96ae13b --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7699 MiB (60% of 12833 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.73s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/criterion-SHA256SUMS new file mode 100644 index 0000000..95ace09 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/criterion-SHA256SUMS @@ -0,0 +1,192 @@ +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-0/branch_write/branches_1/1000/base/benchmark.json +259810c91272f9177129df0da6be3190e782e2039d6c0675a12a36ec14df9998 baseline-0/branch_write/branches_1/1000/base/estimates.json +436f9299b7ab12a7c4df78be8156a9326eef18a5534153c16251c1a234920e88 baseline-0/branch_write/branches_1/1000/base/sample.json +e6b875109137b702ecab484cbe829a244a95893f671989c213962015f064a031 baseline-0/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-0/branch_write/branches_1/1000/new/benchmark.json +259810c91272f9177129df0da6be3190e782e2039d6c0675a12a36ec14df9998 baseline-0/branch_write/branches_1/1000/new/estimates.json +436f9299b7ab12a7c4df78be8156a9326eef18a5534153c16251c1a234920e88 baseline-0/branch_write/branches_1/1000/new/sample.json +e6b875109137b702ecab484cbe829a244a95893f671989c213962015f064a031 baseline-0/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-0/branch_write/branches_16/1000/base/benchmark.json +ef098c784445c8bb50bb1694aed6d11f99f686eafeb0cbd1ea7e0c2a42a34433 baseline-0/branch_write/branches_16/1000/base/estimates.json +d31b3fc25666fb2d169bbab084c6b2022ee7c1272e1f6354b2317c5ee2fd8bbc baseline-0/branch_write/branches_16/1000/base/sample.json +9b2c6b4a223a32099b330e866d55fb884099e117a502159bb3421a68126a6505 baseline-0/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-0/branch_write/branches_16/1000/new/benchmark.json +ef098c784445c8bb50bb1694aed6d11f99f686eafeb0cbd1ea7e0c2a42a34433 baseline-0/branch_write/branches_16/1000/new/estimates.json +d31b3fc25666fb2d169bbab084c6b2022ee7c1272e1f6354b2317c5ee2fd8bbc baseline-0/branch_write/branches_16/1000/new/sample.json +9b2c6b4a223a32099b330e866d55fb884099e117a502159bb3421a68126a6505 baseline-0/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-0/branch_write/branches_256/1000/base/benchmark.json +9454e02ca6436e020eac430b9b364e2205253593eedca2f1501afba60b3e04c7 baseline-0/branch_write/branches_256/1000/base/estimates.json +24b1b3d98ab82b49a4cc2177a4c596293da82d2942a1f58e9ebcca952ad8e4c2 baseline-0/branch_write/branches_256/1000/base/sample.json +4061c67bc9a83c73077510be18ed058288fde012234322548dd30a070918d68c baseline-0/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-0/branch_write/branches_256/1000/new/benchmark.json +9454e02ca6436e020eac430b9b364e2205253593eedca2f1501afba60b3e04c7 baseline-0/branch_write/branches_256/1000/new/estimates.json +24b1b3d98ab82b49a4cc2177a4c596293da82d2942a1f58e9ebcca952ad8e4c2 baseline-0/branch_write/branches_256/1000/new/sample.json +4061c67bc9a83c73077510be18ed058288fde012234322548dd30a070918d68c baseline-0/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-0/branch_write/branches_64/1000/base/benchmark.json +270cc0866526be0f31a08a3bafa6e51ad1a84aa9613cccbdd8f2627d76ac6d60 baseline-0/branch_write/branches_64/1000/base/estimates.json +b1cadb5fa1521cf569a8cff25643379b0ec2debdc14f69eabe4f6faa7a583332 baseline-0/branch_write/branches_64/1000/base/sample.json +e07c0a332114e4370b5842fcf95ac56ff6650b94a170708c2a4e5602b1663ab2 baseline-0/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-0/branch_write/branches_64/1000/new/benchmark.json +270cc0866526be0f31a08a3bafa6e51ad1a84aa9613cccbdd8f2627d76ac6d60 baseline-0/branch_write/branches_64/1000/new/estimates.json +b1cadb5fa1521cf569a8cff25643379b0ec2debdc14f69eabe4f6faa7a583332 baseline-0/branch_write/branches_64/1000/new/sample.json +e07c0a332114e4370b5842fcf95ac56ff6650b94a170708c2a4e5602b1663ab2 baseline-0/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-1/branch_write/branches_1/1000/base/benchmark.json +0d6ba4da1f5e7c8b313bd02e8684b5bf1a526291a94e11e8ea213b97580cba5a baseline-1/branch_write/branches_1/1000/base/estimates.json +cea4e8bb39a20a6d1c6474a1e62690ee0b4501b16af8e1f23ddeddbd1ca6fa20 baseline-1/branch_write/branches_1/1000/base/sample.json +a4c0021278052542546d200360bc1211369a2b4b91d6dfed2c1c613e48a800d6 baseline-1/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-1/branch_write/branches_1/1000/new/benchmark.json +0d6ba4da1f5e7c8b313bd02e8684b5bf1a526291a94e11e8ea213b97580cba5a baseline-1/branch_write/branches_1/1000/new/estimates.json +cea4e8bb39a20a6d1c6474a1e62690ee0b4501b16af8e1f23ddeddbd1ca6fa20 baseline-1/branch_write/branches_1/1000/new/sample.json +a4c0021278052542546d200360bc1211369a2b4b91d6dfed2c1c613e48a800d6 baseline-1/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-1/branch_write/branches_16/1000/base/benchmark.json +e24d507a65335173255413c27f6962fac19bc33ede348cf00d347ee3d3067c54 baseline-1/branch_write/branches_16/1000/base/estimates.json +5563855235779a556183f0e0d67dd08e0285eec85139b5eec6dd336b5c3093f5 baseline-1/branch_write/branches_16/1000/base/sample.json +1bb433c387b009e45ce91ae865a1b014a58da722dccd0dcdadd47224f1732046 baseline-1/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-1/branch_write/branches_16/1000/new/benchmark.json +e24d507a65335173255413c27f6962fac19bc33ede348cf00d347ee3d3067c54 baseline-1/branch_write/branches_16/1000/new/estimates.json +5563855235779a556183f0e0d67dd08e0285eec85139b5eec6dd336b5c3093f5 baseline-1/branch_write/branches_16/1000/new/sample.json +1bb433c387b009e45ce91ae865a1b014a58da722dccd0dcdadd47224f1732046 baseline-1/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-1/branch_write/branches_256/1000/base/benchmark.json +d16a5625a912d5457739364baabe99d88cf448b73741d737c5db528145d735d4 baseline-1/branch_write/branches_256/1000/base/estimates.json +43f526a22422106504f8e9cf5f0d4c4e5ff43eb46d42956852ecb820a8000264 baseline-1/branch_write/branches_256/1000/base/sample.json +ebe04f9e8c1b104dd0336fc85d39b17c49b958bfa7592ddd43afccccebc7bc4a baseline-1/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-1/branch_write/branches_256/1000/new/benchmark.json +d16a5625a912d5457739364baabe99d88cf448b73741d737c5db528145d735d4 baseline-1/branch_write/branches_256/1000/new/estimates.json +43f526a22422106504f8e9cf5f0d4c4e5ff43eb46d42956852ecb820a8000264 baseline-1/branch_write/branches_256/1000/new/sample.json +ebe04f9e8c1b104dd0336fc85d39b17c49b958bfa7592ddd43afccccebc7bc4a baseline-1/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-1/branch_write/branches_64/1000/base/benchmark.json +ec57625c466c5feb45717a66f330e8b2d4366c00e7482ae9f2705d0c0cad2a37 baseline-1/branch_write/branches_64/1000/base/estimates.json +78b43aa480169d4d1f42ae1e910e3d29c4c7f7054c4bcdd342dee0f0c320d2a3 baseline-1/branch_write/branches_64/1000/base/sample.json +e41dfad0e13f649d43ddaab6cabae93f6fe73996dceefbb9e678962edda1ea7c baseline-1/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-1/branch_write/branches_64/1000/new/benchmark.json +ec57625c466c5feb45717a66f330e8b2d4366c00e7482ae9f2705d0c0cad2a37 baseline-1/branch_write/branches_64/1000/new/estimates.json +78b43aa480169d4d1f42ae1e910e3d29c4c7f7054c4bcdd342dee0f0c320d2a3 baseline-1/branch_write/branches_64/1000/new/sample.json +e41dfad0e13f649d43ddaab6cabae93f6fe73996dceefbb9e678962edda1ea7c baseline-1/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-2/branch_write/branches_1/1000/base/benchmark.json +aa73ff31e90696e98409e723b9a7c989316af13453048d2173651eb0da4f6db0 baseline-2/branch_write/branches_1/1000/base/estimates.json +f95db2c5dc9188281f3c7f95162c642b995bdb55db347da77a2b556ecdfa3872 baseline-2/branch_write/branches_1/1000/base/sample.json +1a07eddb6b7830215a2b8fd3688076bd897b2aca9df77d0bb3a30bcefdb8d696 baseline-2/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-2/branch_write/branches_1/1000/new/benchmark.json +aa73ff31e90696e98409e723b9a7c989316af13453048d2173651eb0da4f6db0 baseline-2/branch_write/branches_1/1000/new/estimates.json +f95db2c5dc9188281f3c7f95162c642b995bdb55db347da77a2b556ecdfa3872 baseline-2/branch_write/branches_1/1000/new/sample.json +1a07eddb6b7830215a2b8fd3688076bd897b2aca9df77d0bb3a30bcefdb8d696 baseline-2/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-2/branch_write/branches_16/1000/base/benchmark.json +7abef9adef9cc6ca3fc9cad4376ede5c6e5efee6ff03aad9907cc98916250081 baseline-2/branch_write/branches_16/1000/base/estimates.json +613ca1311fb56222d1f7b975c3d8974f8698532924b68568370bdc59a330c423 baseline-2/branch_write/branches_16/1000/base/sample.json +0fb2ecc5b6bca5c5394d717bc62bea81ace266cea69ed6bc3ed64be89546d056 baseline-2/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-2/branch_write/branches_16/1000/new/benchmark.json +7abef9adef9cc6ca3fc9cad4376ede5c6e5efee6ff03aad9907cc98916250081 baseline-2/branch_write/branches_16/1000/new/estimates.json +613ca1311fb56222d1f7b975c3d8974f8698532924b68568370bdc59a330c423 baseline-2/branch_write/branches_16/1000/new/sample.json +0fb2ecc5b6bca5c5394d717bc62bea81ace266cea69ed6bc3ed64be89546d056 baseline-2/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-2/branch_write/branches_256/1000/base/benchmark.json +fc010450d4f2185afe560d2ca037a846a41fb7c1a2d6272882183884182da4cd baseline-2/branch_write/branches_256/1000/base/estimates.json +99a6e40417bcbbd0635761842fb3a7f482496c941d05c68dd8fcaccb4da4ee48 baseline-2/branch_write/branches_256/1000/base/sample.json +91f39e6c07fa5b96c3ae5ae904ab75374eac79b66498f433868c90d2ed5afe29 baseline-2/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-2/branch_write/branches_256/1000/new/benchmark.json +fc010450d4f2185afe560d2ca037a846a41fb7c1a2d6272882183884182da4cd baseline-2/branch_write/branches_256/1000/new/estimates.json +99a6e40417bcbbd0635761842fb3a7f482496c941d05c68dd8fcaccb4da4ee48 baseline-2/branch_write/branches_256/1000/new/sample.json +91f39e6c07fa5b96c3ae5ae904ab75374eac79b66498f433868c90d2ed5afe29 baseline-2/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-2/branch_write/branches_64/1000/base/benchmark.json +21f4e2fe0bdee91dcd60d3fb56afd02788ed047b1ba12a7034588bfb4f533514 baseline-2/branch_write/branches_64/1000/base/estimates.json +24815686a5f168eac994ddaf1e6ff1eca957ec174b541a1d0751cf184b6eecd6 baseline-2/branch_write/branches_64/1000/base/sample.json +ee89d23f4fd88c0d84b9343056717df68a5c9ef6c422b46e14773b71e84b1d00 baseline-2/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-2/branch_write/branches_64/1000/new/benchmark.json +21f4e2fe0bdee91dcd60d3fb56afd02788ed047b1ba12a7034588bfb4f533514 baseline-2/branch_write/branches_64/1000/new/estimates.json +24815686a5f168eac994ddaf1e6ff1eca957ec174b541a1d0751cf184b6eecd6 baseline-2/branch_write/branches_64/1000/new/sample.json +ee89d23f4fd88c0d84b9343056717df68a5c9ef6c422b46e14773b71e84b1d00 baseline-2/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-0/branch_write/branches_1/1000/base/benchmark.json +036d8dcada4330189a12ab99150aa83524b084184852eb15ede8a37bfba56a99 current-0/branch_write/branches_1/1000/base/estimates.json +a960b0f1eba81c50a62782383ad57788dd1957ba063958489917a14dc6d55dd5 current-0/branch_write/branches_1/1000/base/sample.json +8eb7552696a27934ea646ef510b56a777ac4a30fc368502eafa852164b5b0b67 current-0/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-0/branch_write/branches_1/1000/new/benchmark.json +036d8dcada4330189a12ab99150aa83524b084184852eb15ede8a37bfba56a99 current-0/branch_write/branches_1/1000/new/estimates.json +a960b0f1eba81c50a62782383ad57788dd1957ba063958489917a14dc6d55dd5 current-0/branch_write/branches_1/1000/new/sample.json +8eb7552696a27934ea646ef510b56a777ac4a30fc368502eafa852164b5b0b67 current-0/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-0/branch_write/branches_16/1000/base/benchmark.json +dc04cba4a9395dace1bc9ce3221a469765e8fc06f09cde164610273d9a55c69a current-0/branch_write/branches_16/1000/base/estimates.json +ebe95109ba6e4203a9d3a73a59269837ff87ca83255549c72f4ce808becc7fea current-0/branch_write/branches_16/1000/base/sample.json +ee6456d22013cb9010dcbb5b7bae5379c9f7a908071763ff1581ec7ccaeb824c current-0/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-0/branch_write/branches_16/1000/new/benchmark.json +dc04cba4a9395dace1bc9ce3221a469765e8fc06f09cde164610273d9a55c69a current-0/branch_write/branches_16/1000/new/estimates.json +ebe95109ba6e4203a9d3a73a59269837ff87ca83255549c72f4ce808becc7fea current-0/branch_write/branches_16/1000/new/sample.json +ee6456d22013cb9010dcbb5b7bae5379c9f7a908071763ff1581ec7ccaeb824c current-0/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-0/branch_write/branches_256/1000/base/benchmark.json +76bbe095c930fa53b0e7fb85bcf5fe878aa874d6c80a1bf4a6ab8e168f6865b7 current-0/branch_write/branches_256/1000/base/estimates.json +08bc67809fe5579abbb383e27f27966bf859804c2daf3ec49577783f24a6ab5b current-0/branch_write/branches_256/1000/base/sample.json +73093829c952ecb4541ac46ff9879fedb14cee59775d051e23037b08f10e060f current-0/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-0/branch_write/branches_256/1000/new/benchmark.json +76bbe095c930fa53b0e7fb85bcf5fe878aa874d6c80a1bf4a6ab8e168f6865b7 current-0/branch_write/branches_256/1000/new/estimates.json +08bc67809fe5579abbb383e27f27966bf859804c2daf3ec49577783f24a6ab5b current-0/branch_write/branches_256/1000/new/sample.json +73093829c952ecb4541ac46ff9879fedb14cee59775d051e23037b08f10e060f current-0/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-0/branch_write/branches_64/1000/base/benchmark.json +6d2a5278f91a87a248d87572ca44a10840940c0a2251003777acdd66f251b3cb current-0/branch_write/branches_64/1000/base/estimates.json +9b29f1402f4513d97b066c70ae7b7683b3e507498ce945a933f381239175f8d5 current-0/branch_write/branches_64/1000/base/sample.json +4bf6719b463a562cfc89c1d6281510cf8ad8c11f16fd261a8c90ed587af456b8 current-0/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-0/branch_write/branches_64/1000/new/benchmark.json +6d2a5278f91a87a248d87572ca44a10840940c0a2251003777acdd66f251b3cb current-0/branch_write/branches_64/1000/new/estimates.json +9b29f1402f4513d97b066c70ae7b7683b3e507498ce945a933f381239175f8d5 current-0/branch_write/branches_64/1000/new/sample.json +4bf6719b463a562cfc89c1d6281510cf8ad8c11f16fd261a8c90ed587af456b8 current-0/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-1/branch_write/branches_1/1000/base/benchmark.json +0e3b0627114e92a62d4507f39cc8672b69557e5a66dd8e12e6189add9d7fea90 current-1/branch_write/branches_1/1000/base/estimates.json +18169ff60bcd3c23f2afdc72f115f209a757e4755b72d0960cde3dc2ed10863f current-1/branch_write/branches_1/1000/base/sample.json +1e082dbb5e7134659004b538629b6d6b30f4bb85ce4da65b830d692d5cddba8b current-1/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-1/branch_write/branches_1/1000/new/benchmark.json +0e3b0627114e92a62d4507f39cc8672b69557e5a66dd8e12e6189add9d7fea90 current-1/branch_write/branches_1/1000/new/estimates.json +18169ff60bcd3c23f2afdc72f115f209a757e4755b72d0960cde3dc2ed10863f current-1/branch_write/branches_1/1000/new/sample.json +1e082dbb5e7134659004b538629b6d6b30f4bb85ce4da65b830d692d5cddba8b current-1/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-1/branch_write/branches_16/1000/base/benchmark.json +1a4f8c68291a0a878b9d41f522e163b135f7908363208a17a7b25414246f9f51 current-1/branch_write/branches_16/1000/base/estimates.json +5bfd76ff82af204939b13f3c2d419d553084a5a9f07bc13ae35e92059696fe63 current-1/branch_write/branches_16/1000/base/sample.json +d0db2ec171759facd536d1ce4c2923a5fee9b501292a804e55d20c45710394e9 current-1/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-1/branch_write/branches_16/1000/new/benchmark.json +1a4f8c68291a0a878b9d41f522e163b135f7908363208a17a7b25414246f9f51 current-1/branch_write/branches_16/1000/new/estimates.json +5bfd76ff82af204939b13f3c2d419d553084a5a9f07bc13ae35e92059696fe63 current-1/branch_write/branches_16/1000/new/sample.json +d0db2ec171759facd536d1ce4c2923a5fee9b501292a804e55d20c45710394e9 current-1/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-1/branch_write/branches_256/1000/base/benchmark.json +1b777a1aa2b2c6fab7369cd2c8313e8dd98f97b6a758206ce6c70cad25c08070 current-1/branch_write/branches_256/1000/base/estimates.json +a623506c9323f3f314f44e9cf027b1efe4046ae6668cb86f06e2cbdc055625a4 current-1/branch_write/branches_256/1000/base/sample.json +6417a9edfd17bbae280eca3a6e8d3d3180f94634c58ee93882647934957bf068 current-1/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-1/branch_write/branches_256/1000/new/benchmark.json +1b777a1aa2b2c6fab7369cd2c8313e8dd98f97b6a758206ce6c70cad25c08070 current-1/branch_write/branches_256/1000/new/estimates.json +a623506c9323f3f314f44e9cf027b1efe4046ae6668cb86f06e2cbdc055625a4 current-1/branch_write/branches_256/1000/new/sample.json +6417a9edfd17bbae280eca3a6e8d3d3180f94634c58ee93882647934957bf068 current-1/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-1/branch_write/branches_64/1000/base/benchmark.json +d4b126122e23836bc83c1078eb97f982c4f9078195feb8595c911391969cd9c3 current-1/branch_write/branches_64/1000/base/estimates.json +716592df13ac608657819127a02c22d76c64c7ad8d947ce651ff7e130d855211 current-1/branch_write/branches_64/1000/base/sample.json +f8e8e3184004f59a96be36cc5cea9b1153862e849c1f6b08401582c5635ee293 current-1/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-1/branch_write/branches_64/1000/new/benchmark.json +d4b126122e23836bc83c1078eb97f982c4f9078195feb8595c911391969cd9c3 current-1/branch_write/branches_64/1000/new/estimates.json +716592df13ac608657819127a02c22d76c64c7ad8d947ce651ff7e130d855211 current-1/branch_write/branches_64/1000/new/sample.json +f8e8e3184004f59a96be36cc5cea9b1153862e849c1f6b08401582c5635ee293 current-1/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-2/branch_write/branches_1/1000/base/benchmark.json +8c602adb16168412b66887c08abbd9c5ffb722436d105083e1697eb3892bbb1b current-2/branch_write/branches_1/1000/base/estimates.json +e3dd78624886c7ad59a644fac4d0f17b7b0fb3a678b386980c52c02e748b0086 current-2/branch_write/branches_1/1000/base/sample.json +cc5e8d3d595470a3521bdc3fe017d3f07f288af0431c4f9fc69ab3dbe2e2911f current-2/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-2/branch_write/branches_1/1000/new/benchmark.json +8c602adb16168412b66887c08abbd9c5ffb722436d105083e1697eb3892bbb1b current-2/branch_write/branches_1/1000/new/estimates.json +e3dd78624886c7ad59a644fac4d0f17b7b0fb3a678b386980c52c02e748b0086 current-2/branch_write/branches_1/1000/new/sample.json +cc5e8d3d595470a3521bdc3fe017d3f07f288af0431c4f9fc69ab3dbe2e2911f current-2/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-2/branch_write/branches_16/1000/base/benchmark.json +f07b5f574414bc5e63ebe792ba18b2bfa82ab9075b4cc6027edb7f8272f5e0c6 current-2/branch_write/branches_16/1000/base/estimates.json +c5b3696419e6499550476a00dbf11e47d1b3db1f0abc13e645fd1a8b5a89c83f current-2/branch_write/branches_16/1000/base/sample.json +d8386e41ec08d7418208ca663d72198768e7aea1f7ab0310f725dd7051152246 current-2/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-2/branch_write/branches_16/1000/new/benchmark.json +f07b5f574414bc5e63ebe792ba18b2bfa82ab9075b4cc6027edb7f8272f5e0c6 current-2/branch_write/branches_16/1000/new/estimates.json +c5b3696419e6499550476a00dbf11e47d1b3db1f0abc13e645fd1a8b5a89c83f current-2/branch_write/branches_16/1000/new/sample.json +d8386e41ec08d7418208ca663d72198768e7aea1f7ab0310f725dd7051152246 current-2/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-2/branch_write/branches_256/1000/base/benchmark.json +c342fee4a89ad4be9d8dd53f24b1f69692022a4bd125432c85318e19238e1942 current-2/branch_write/branches_256/1000/base/estimates.json +8cb73558643dcd91eb4fb3ec7e6ba5befc90230aae17f39acee452712db35438 current-2/branch_write/branches_256/1000/base/sample.json +a67d2eb723796bb8f744013c1ab4a9e02ebd5986abb8e0efab7e15d1fbef90de current-2/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-2/branch_write/branches_256/1000/new/benchmark.json +c342fee4a89ad4be9d8dd53f24b1f69692022a4bd125432c85318e19238e1942 current-2/branch_write/branches_256/1000/new/estimates.json +8cb73558643dcd91eb4fb3ec7e6ba5befc90230aae17f39acee452712db35438 current-2/branch_write/branches_256/1000/new/sample.json +a67d2eb723796bb8f744013c1ab4a9e02ebd5986abb8e0efab7e15d1fbef90de current-2/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-2/branch_write/branches_64/1000/base/benchmark.json +8771ff71a315bc7a5610771ea802df05ac221d75564496df80c221a090e61a61 current-2/branch_write/branches_64/1000/base/estimates.json +a1038a40755f0c5dd7e72a71e4ae63804b474fbd8dc945941a0e4477762e23a1 current-2/branch_write/branches_64/1000/base/sample.json +140bd1243c229c8fa613d7e9030d0c3c2bc94318553a5279beb95ab5bc26879a current-2/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-2/branch_write/branches_64/1000/new/benchmark.json +8771ff71a315bc7a5610771ea802df05ac221d75564496df80c221a090e61a61 current-2/branch_write/branches_64/1000/new/estimates.json +a1038a40755f0c5dd7e72a71e4ae63804b474fbd8dc945941a0e4477762e23a1 current-2/branch_write/branches_64/1000/new/sample.json +140bd1243c229c8fa613d7e9030d0c3c2bc94318553a5279beb95ab5bc26879a current-2/branch_write/branches_64/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/criterion-results.tar.gz new file mode 100644 index 0000000..1e09984 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-0.txt new file mode 100644 index 0000000..f5aa215 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-0.txt @@ -0,0 +1,42 @@ +memcap: <=7693 MiB (60% of 12823 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0019 s (82k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [59.943 µs 60.280 µs 60.670 µs] + thrpt: [187.10 MiB/s 188.31 MiB/s 189.37 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 1 (1.00%) high mild + 8 (8.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0055 s (77k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [64.598 µs 64.851 µs 65.156 µs] + thrpt: [185.11 MiB/s 185.98 MiB/s 186.71 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 6 (6.00%) high mild + 4 (4.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0041 s (68k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [73.117 µs 73.609 µs 74.176 µs] + thrpt: [174.64 MiB/s 175.98 MiB/s 177.16 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 3 (3.00%) high mild + 9 (9.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0049 s (63k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [78.801 µs 79.247 µs 79.766 µs] + thrpt: [179.61 MiB/s 180.79 MiB/s 181.81 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 2 (2.00%) high mild + 9 (9.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-1.txt new file mode 100644 index 0000000..bcb8e9b --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-1.txt @@ -0,0 +1,42 @@ +memcap: <=7697 MiB (60% of 12828 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0047 s (84k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [61.342 µs 62.347 µs 63.573 µs] + thrpt: [178.56 MiB/s 182.07 MiB/s 185.05 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 3 (3.00%) high mild + 9 (9.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0052 s (77k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [65.027 µs 65.587 µs 66.325 µs] + thrpt: [181.85 MiB/s 183.89 MiB/s 185.48 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 1 (1.00%) high mild + 7 (7.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0020 s (69k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [73.423 µs 73.844 µs 74.315 µs] + thrpt: [174.31 MiB/s 175.42 MiB/s 176.43 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 2 (2.00%) high mild + 8 (8.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0066 s (64k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [79.176 µs 79.684 µs 80.275 µs] + thrpt: [178.47 MiB/s 179.80 MiB/s 180.95 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 5 (5.00%) high mild + 6 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-2.txt new file mode 100644 index 0000000..def117a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-2.txt @@ -0,0 +1,41 @@ +memcap: <=7702 MiB (60% of 12837 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0019 s (82k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [60.869 µs 61.384 µs 62.062 µs] + thrpt: [182.91 MiB/s 184.93 MiB/s 186.49 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 2 (2.00%) high mild + 6 (6.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0062 s (76k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [65.375 µs 65.962 µs 66.674 µs] + thrpt: [180.90 MiB/s 182.85 MiB/s 184.49 MiB/s] +Found 15 outliers among 100 measurements (15.00%) + 2 (2.00%) high mild + 13 (13.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0044 s (68k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [73.751 µs 74.308 µs 74.946 µs] + thrpt: [172.84 MiB/s 174.33 MiB/s 175.64 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 5 (5.00%) high mild + 6 (6.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0036 s (64k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [78.069 µs 78.579 µs 79.227 µs] + thrpt: [180.84 MiB/s 182.33 MiB/s 183.52 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 8 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-build.txt new file mode 100644 index 0000000..b48d698 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7653 MiB (60% of 12755 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.74s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/harness.rs new file mode 100644 index 0000000..04793ae --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [1, 16, 64, 256] { + for count in [1, 32, 64, 128, 1000, 1024] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/metadata.json new file mode 100644 index 0000000..4756b4a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "58cb346f964b5196dfad62e8a62a8aa4beb9beef" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 100, + "warmup_seconds": 3.0, + "measurement_seconds": 5.0, + "rounds": 3, + "filter": "^branch_write/.*/1000$", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/summary.json new file mode 100644 index 0000000..4b8a42f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final-sampled/summary.json @@ -0,0 +1,286 @@ +{ + "branch_write/branches_1/1000": { + "baseline_ns": 64840.89875000002, + "candidate_ns": 61384.253556638294, + "delta_percent": -5.330964345033429, + "speedup": 1.0563115944738553, + "process_deltas_percent": [ + -6.5687845934779165, + -3.845952070065284, + -7.976145308029969 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63644.04522646313, + "upper_bound": 65613.0836882952 + }, + "point_estimate": 64518.43543256998, + "standard_error": 503.6326045279774 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64414.0209239691, + "upper_bound": 65384.353358891756 + }, + "point_estimate": 64840.89875000002, + "standard_error": 249.13403138195014 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 66458.94928018996, + "upper_bound": 66992.44951322934 + }, + "point_estimate": 66704.71886024425, + "standard_error": 137.04133491565395 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 59943.371561893226, + "upper_bound": 60669.83193112864 + }, + "point_estimate": 60280.35838592233, + "standard_error": 186.5268567862184 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 61342.14126497007, + "upper_bound": 63573.33493982037 + }, + "point_estimate": 62347.14886227546, + "standard_error": 572.8310863360721 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 60869.327426309384, + "upper_bound": 62061.77141930575 + }, + "point_estimate": 61384.253556638294, + "standard_error": 307.8820253565104 + } + ] + } + }, + "branch_write/branches_16/1000": { + "baseline_ns": 70081.64977622377, + "candidate_ns": 65587.28211413749, + "delta_percent": -6.413044893259723, + "speedup": 1.068524987119683, + "process_deltas_percent": [ + -6.085212373694116, + -6.413044893259723, + -12.348980467310444 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 68794.54271682962, + "upper_bound": 69377.21092423184 + }, + "point_estimate": 69052.9498463687, + "standard_error": 149.25932225848084 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 69637.68735209791, + "upper_bound": 70632.75046503499 + }, + "point_estimate": 70081.64977622377, + "standard_error": 253.83261307008686 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 74380.4520825926, + "upper_bound": 76287.03527185187 + }, + "point_estimate": 75255.27654814813, + "standard_error": 487.44349713433587 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64597.65796158852, + "upper_bound": 65155.8829817708 + }, + "point_estimate": 64850.93119791669, + "standard_error": 143.17101094977323 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 65026.50968774318, + "upper_bound": 66325.32756225683 + }, + "point_estimate": 65587.28211413749, + "standard_error": 334.08228089570775 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 65375.256552356026, + "upper_bound": 66673.5657408377 + }, + "point_estimate": 65962.01714659686, + "standard_error": 332.4553902995952 + } + ] + } + }, + "branch_write/branches_256/1000": { + "baseline_ns": 176587.64968421057, + "candidate_ns": 79247.35299524566, + "delta_percent": -55.12293575628722, + "speedup": 2.2283097543309074, + "process_deltas_percent": [ + -54.78871743875001, + -54.875881305895156, + -57.180942771775 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 174171.90258479022, + "upper_bound": 176764.55552622376 + }, + "point_estimate": 175282.24926573428, + "standard_error": 673.0035120624941 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 175693.80177894738, + "upper_bound": 177593.7311859649 + }, + "point_estimate": 176587.64968421057, + "standard_error": 486.5334470183588 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 181872.06624283144, + "upper_bound": 185323.78319623665 + }, + "point_estimate": 183515.04, + "standard_error": 882.9174343530213 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 78801.35197622821, + "upper_bound": 79766.24491283677 + }, + "point_estimate": 79247.35299524566, + "standard_error": 247.37733140505225 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 79175.71828840129, + "upper_bound": 80274.93421747655 + }, + "point_estimate": 79683.62064263322, + "standard_error": 280.8912543115207 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 78069.229344584, + "upper_bound": 79226.68116522767 + }, + "point_estimate": 78579.41, + "standard_error": 298.2902170676677 + } + ] + } + }, + "branch_write/branches_64/1000": { + "baseline_ns": 106933.3364300626, + "candidate_ns": 73843.82706395349, + "delta_percent": -30.944053997371135, + "speedup": 1.4481012250008585, + "process_deltas_percent": [ + -29.577110397272754, + -30.944053997371135, + -31.451757311386352 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 104212.30003190375, + "upper_bound": 104872.95409989536 + }, + "point_estimate": 104523.87596234311, + "standard_error": 168.74259111457647 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 105262.63731106473, + "upper_bound": 109148.49503131521 + }, + "point_estimate": 106933.3364300626, + "standard_error": 1003.3451426097735 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 107852.12731956522, + "upper_bound": 109047.59701739132 + }, + "point_estimate": 108402.11617391303, + "standard_error": 305.7798073834942 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 73117.41611530018, + "upper_bound": 74175.71359699852 + }, + "point_estimate": 73608.73377745245, + "standard_error": 271.2468976020402 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 73422.57636664246, + "upper_bound": 74315.19048873543 + }, + "point_estimate": 73843.82706395349, + "standard_error": 227.68174098328495 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 73751.26457807915, + "upper_bound": 74946.11745931084 + }, + "point_estimate": 74307.74567448681, + "standard_error": 305.95582819997765 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-0.txt new file mode 100644 index 0000000..e7a6dbb --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-0.txt @@ -0,0 +1,42 @@ +memcap: <=7628 MiB (60% of 12713 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0060 s (78k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [63.448 µs 63.622 µs 63.821 µs] + thrpt: [177.87 MiB/s 178.42 MiB/s 178.91 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 1 (1.00%) high mild + 6 (6.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0040 s (72k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [68.882 µs 69.575 µs 70.520 µs] + thrpt: [171.03 MiB/s 173.35 MiB/s 175.10 MiB/s] +Found 15 outliers among 100 measurements (15.00%) + 6 (6.00%) high mild + 9 (9.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0004 s (50k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [100.17 µs 100.87 µs 101.69 µs] + thrpt: [127.39 MiB/s 128.42 MiB/s 129.31 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 7 (7.00%) high mild + 5 (5.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0079 s (29k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [167.75 µs 168.35 µs 169.07 µs] + thrpt: [84.742 MiB/s 85.104 MiB/s 85.409 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 5 (5.00%) high mild + 4 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-1.txt new file mode 100644 index 0000000..7f31088 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-1.txt @@ -0,0 +1,42 @@ +memcap: <=7709 MiB (60% of 12849 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0057 s (76k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [63.952 µs 65.091 µs 66.655 µs] + thrpt: [170.30 MiB/s 174.39 MiB/s 177.50 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 5 (5.00%) high mild + 5 (5.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0034 s (71k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [68.493 µs 68.790 µs 69.129 µs] + thrpt: [174.47 MiB/s 175.33 MiB/s 176.09 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 7 (7.00%) high mild + 6 (6.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0012 s (49k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [98.635 µs 99.087 µs 99.606 µs] + thrpt: [130.05 MiB/s 130.73 MiB/s 131.33 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 5 (5.00%) high mild + 8 (8.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0047 s (30k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [168.20 µs 169.58 µs 171.35 µs] + thrpt: [83.611 MiB/s 84.487 MiB/s 85.180 MiB/s] +Found 15 outliers among 100 measurements (15.00%) + 5 (5.00%) high mild + 10 (10.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-2.txt new file mode 100644 index 0000000..a35ffc9 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-2.txt @@ -0,0 +1,42 @@ +memcap: <=7719 MiB (60% of 12865 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0009 s (79k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [64.444 µs 64.850 µs 65.340 µs] + thrpt: [173.73 MiB/s 175.04 MiB/s 176.15 MiB/s] +Found 6 outliers among 100 measurements (6.00%) + 1 (1.00%) high mild + 5 (5.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0018 s (72k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [69.460 µs 69.871 µs 70.331 µs] + thrpt: [171.49 MiB/s 172.62 MiB/s 173.64 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 6 (6.00%) high mild + 5 (5.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0055 s (51k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [99.338 µs 99.859 µs 100.58 µs] + thrpt: [128.79 MiB/s 129.72 MiB/s 130.40 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 3 (3.00%) high mild + 4 (4.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0022 s (30k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [168.40 µs 169.21 µs 170.16 µs] + thrpt: [84.199 MiB/s 84.668 MiB/s 85.076 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 3 (3.00%) high mild + 8 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-build.txt new file mode 100644 index 0000000..56818ad --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7721 MiB (60% of 12868 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.96s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/criterion-SHA256SUMS new file mode 100644 index 0000000..fd275ca --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/criterion-SHA256SUMS @@ -0,0 +1,192 @@ +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-0/branch_write/branches_1/1000/base/benchmark.json +0dfc3cbf074ead35ba576b81f5448f2ff31c6d69326b5c8521ba4e0c920c6c85 baseline-0/branch_write/branches_1/1000/base/estimates.json +602e7bb638c858ac653c285246637a993ce49a0ff33955f4e90fae94c5cd4d69 baseline-0/branch_write/branches_1/1000/base/sample.json +7eb3657c3eda65b5c27df5ee4d49e74dd49a318187cc25f3739337f2d129bd7b baseline-0/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-0/branch_write/branches_1/1000/new/benchmark.json +0dfc3cbf074ead35ba576b81f5448f2ff31c6d69326b5c8521ba4e0c920c6c85 baseline-0/branch_write/branches_1/1000/new/estimates.json +602e7bb638c858ac653c285246637a993ce49a0ff33955f4e90fae94c5cd4d69 baseline-0/branch_write/branches_1/1000/new/sample.json +7eb3657c3eda65b5c27df5ee4d49e74dd49a318187cc25f3739337f2d129bd7b baseline-0/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-0/branch_write/branches_16/1000/base/benchmark.json +07e64e24448040e83aed149d547b9f76ae36bad3aa414766ed33715b3ee8e4cc baseline-0/branch_write/branches_16/1000/base/estimates.json +e1259bf9faade05c55ed7d7e7c7a0bfc28779f00cad7f0fbee98950e6ca31b83 baseline-0/branch_write/branches_16/1000/base/sample.json +e987923d44b7d2b9e4eb6021eefdd0e568013be3c5267732326a4d0027ce91ea baseline-0/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-0/branch_write/branches_16/1000/new/benchmark.json +07e64e24448040e83aed149d547b9f76ae36bad3aa414766ed33715b3ee8e4cc baseline-0/branch_write/branches_16/1000/new/estimates.json +e1259bf9faade05c55ed7d7e7c7a0bfc28779f00cad7f0fbee98950e6ca31b83 baseline-0/branch_write/branches_16/1000/new/sample.json +e987923d44b7d2b9e4eb6021eefdd0e568013be3c5267732326a4d0027ce91ea baseline-0/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-0/branch_write/branches_256/1000/base/benchmark.json +1444ceef12f8151bb0fd64c7d7f01c83af81c8672f8bebe7d45d9f2cc72a6a6f baseline-0/branch_write/branches_256/1000/base/estimates.json +9bc0b12189298d0e7498de41be8e09cb47ca04ff73557946e755ebd149c230ac baseline-0/branch_write/branches_256/1000/base/sample.json +eaa412bd3bc00a28966dbf0b70cb9726cc67ca843561bf1ee3a7d8c34639bbc6 baseline-0/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-0/branch_write/branches_256/1000/new/benchmark.json +1444ceef12f8151bb0fd64c7d7f01c83af81c8672f8bebe7d45d9f2cc72a6a6f baseline-0/branch_write/branches_256/1000/new/estimates.json +9bc0b12189298d0e7498de41be8e09cb47ca04ff73557946e755ebd149c230ac baseline-0/branch_write/branches_256/1000/new/sample.json +eaa412bd3bc00a28966dbf0b70cb9726cc67ca843561bf1ee3a7d8c34639bbc6 baseline-0/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-0/branch_write/branches_64/1000/base/benchmark.json +e60b7331a56ad1a10cfad8f0fe78f316c71faee941a39c59677ac2c8eb23cc69 baseline-0/branch_write/branches_64/1000/base/estimates.json +ef5cea2e727bb3db820b4773e7a6300b5979f4685385c402d71fcf5f1ed7e8c6 baseline-0/branch_write/branches_64/1000/base/sample.json +8e09b99a57d2f037e0d50933be776f900632189209e794bda6cd3eb7cabab399 baseline-0/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-0/branch_write/branches_64/1000/new/benchmark.json +e60b7331a56ad1a10cfad8f0fe78f316c71faee941a39c59677ac2c8eb23cc69 baseline-0/branch_write/branches_64/1000/new/estimates.json +ef5cea2e727bb3db820b4773e7a6300b5979f4685385c402d71fcf5f1ed7e8c6 baseline-0/branch_write/branches_64/1000/new/sample.json +8e09b99a57d2f037e0d50933be776f900632189209e794bda6cd3eb7cabab399 baseline-0/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-1/branch_write/branches_1/1000/base/benchmark.json +d18563352861be54fa7055f407989ed6c64fdee0126d9a103c164fec2c14fd0e baseline-1/branch_write/branches_1/1000/base/estimates.json +a465c29d36e89c4672e41d6ed3e2e9ee8650e095c85ae51428d99e0029dcc6b2 baseline-1/branch_write/branches_1/1000/base/sample.json +5cf8ab0ba7bfb4720d344b8e3bd421ab987055e2fe0a5c4009b6767697712440 baseline-1/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-1/branch_write/branches_1/1000/new/benchmark.json +d18563352861be54fa7055f407989ed6c64fdee0126d9a103c164fec2c14fd0e baseline-1/branch_write/branches_1/1000/new/estimates.json +a465c29d36e89c4672e41d6ed3e2e9ee8650e095c85ae51428d99e0029dcc6b2 baseline-1/branch_write/branches_1/1000/new/sample.json +5cf8ab0ba7bfb4720d344b8e3bd421ab987055e2fe0a5c4009b6767697712440 baseline-1/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-1/branch_write/branches_16/1000/base/benchmark.json +87cb4af6bfc8f1212820e58475bd4ba3bb9d51d49f951490bb4c3d676e428fe8 baseline-1/branch_write/branches_16/1000/base/estimates.json +34e29e242bc47a51026d7ed4fb2dc9f76959eb72e4086cbfa8cd8dd1618f5052 baseline-1/branch_write/branches_16/1000/base/sample.json +80dffb60f1425cd46ac1fe0d792d47d5f70f7bf4c00a6e1b07109556fdf52cb6 baseline-1/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-1/branch_write/branches_16/1000/new/benchmark.json +87cb4af6bfc8f1212820e58475bd4ba3bb9d51d49f951490bb4c3d676e428fe8 baseline-1/branch_write/branches_16/1000/new/estimates.json +34e29e242bc47a51026d7ed4fb2dc9f76959eb72e4086cbfa8cd8dd1618f5052 baseline-1/branch_write/branches_16/1000/new/sample.json +80dffb60f1425cd46ac1fe0d792d47d5f70f7bf4c00a6e1b07109556fdf52cb6 baseline-1/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-1/branch_write/branches_256/1000/base/benchmark.json +976f992d9b859233aa408c1f2e9e988c0d2e07c7669b2569de9325eca4fd1f14 baseline-1/branch_write/branches_256/1000/base/estimates.json +62ce91e9fdcb33be91700f04ec97836f13967f71f2b08131c329568098ff755e baseline-1/branch_write/branches_256/1000/base/sample.json +518713201169e90429ed95c807a0e554f447e7735dbb54bf0b344c8c97db549b baseline-1/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-1/branch_write/branches_256/1000/new/benchmark.json +976f992d9b859233aa408c1f2e9e988c0d2e07c7669b2569de9325eca4fd1f14 baseline-1/branch_write/branches_256/1000/new/estimates.json +62ce91e9fdcb33be91700f04ec97836f13967f71f2b08131c329568098ff755e baseline-1/branch_write/branches_256/1000/new/sample.json +518713201169e90429ed95c807a0e554f447e7735dbb54bf0b344c8c97db549b baseline-1/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-1/branch_write/branches_64/1000/base/benchmark.json +688d5191dabffe48c20d00b3e8b774292ecf73fe5e0dc387849d05efe6e8a0a6 baseline-1/branch_write/branches_64/1000/base/estimates.json +26ba3aca310a4ebae5aae76d72650aa7748ee807bb037539ddb3c8837532acbb baseline-1/branch_write/branches_64/1000/base/sample.json +882a5aaf7a8f9d040fb9c98dcd19d3eef788c63fd55b3475f477d256b8f269a3 baseline-1/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-1/branch_write/branches_64/1000/new/benchmark.json +688d5191dabffe48c20d00b3e8b774292ecf73fe5e0dc387849d05efe6e8a0a6 baseline-1/branch_write/branches_64/1000/new/estimates.json +26ba3aca310a4ebae5aae76d72650aa7748ee807bb037539ddb3c8837532acbb baseline-1/branch_write/branches_64/1000/new/sample.json +882a5aaf7a8f9d040fb9c98dcd19d3eef788c63fd55b3475f477d256b8f269a3 baseline-1/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-2/branch_write/branches_1/1000/base/benchmark.json +1512ff14f40c2d7d8e6426d75e2017b58237fc21efe9a8ba880b8f12eccfbb4e baseline-2/branch_write/branches_1/1000/base/estimates.json +0564afd93be7c7eab15211a519055ccca87ea2b04753fc94b67dfa6b2b91c608 baseline-2/branch_write/branches_1/1000/base/sample.json +3c3044f9b415f64eacfbb61402e42069ef8813d25be083632351475086dbe5e2 baseline-2/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-2/branch_write/branches_1/1000/new/benchmark.json +1512ff14f40c2d7d8e6426d75e2017b58237fc21efe9a8ba880b8f12eccfbb4e baseline-2/branch_write/branches_1/1000/new/estimates.json +0564afd93be7c7eab15211a519055ccca87ea2b04753fc94b67dfa6b2b91c608 baseline-2/branch_write/branches_1/1000/new/sample.json +3c3044f9b415f64eacfbb61402e42069ef8813d25be083632351475086dbe5e2 baseline-2/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-2/branch_write/branches_16/1000/base/benchmark.json +923ba51a2ea39403615e3440e8d8b2a4e93ff0ed4ceff921b564cd57f4315dbd baseline-2/branch_write/branches_16/1000/base/estimates.json +eb6f40870089e46bc1741ac42d0304bebde153c4eb29b5ad4445240caf3320a1 baseline-2/branch_write/branches_16/1000/base/sample.json +97e0a0cee0ebfdf1a841b3aba4afa87ce20d9796c2e4f28a749aba850e6671c9 baseline-2/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-2/branch_write/branches_16/1000/new/benchmark.json +923ba51a2ea39403615e3440e8d8b2a4e93ff0ed4ceff921b564cd57f4315dbd baseline-2/branch_write/branches_16/1000/new/estimates.json +eb6f40870089e46bc1741ac42d0304bebde153c4eb29b5ad4445240caf3320a1 baseline-2/branch_write/branches_16/1000/new/sample.json +97e0a0cee0ebfdf1a841b3aba4afa87ce20d9796c2e4f28a749aba850e6671c9 baseline-2/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-2/branch_write/branches_256/1000/base/benchmark.json +b88cbd4b50b4c1e1f03ed08a9286050b1250dbb413896ba5100998d5b7377d8a baseline-2/branch_write/branches_256/1000/base/estimates.json +1b7d3b5d5c2e178eba507a3705e90815da365e2ca357761155da0cce046c081f baseline-2/branch_write/branches_256/1000/base/sample.json +af63a5a45bb83a0238089074eb3462f435057311d72df6c6529d8f9982c866a7 baseline-2/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-2/branch_write/branches_256/1000/new/benchmark.json +b88cbd4b50b4c1e1f03ed08a9286050b1250dbb413896ba5100998d5b7377d8a baseline-2/branch_write/branches_256/1000/new/estimates.json +1b7d3b5d5c2e178eba507a3705e90815da365e2ca357761155da0cce046c081f baseline-2/branch_write/branches_256/1000/new/sample.json +af63a5a45bb83a0238089074eb3462f435057311d72df6c6529d8f9982c866a7 baseline-2/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-2/branch_write/branches_64/1000/base/benchmark.json +1e2babd2ef1fd5dc7af799e6aac6b97765a0ae4d48d23bb573d1605c231aa812 baseline-2/branch_write/branches_64/1000/base/estimates.json +d826153ec65ce4a84090e93c676108743c94ae49c18b79a3de54180efbe327d0 baseline-2/branch_write/branches_64/1000/base/sample.json +2884ea5e9b77974eac10a1cb5dce691c190873f95c58569f06f58b22eef1c655 baseline-2/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-2/branch_write/branches_64/1000/new/benchmark.json +1e2babd2ef1fd5dc7af799e6aac6b97765a0ae4d48d23bb573d1605c231aa812 baseline-2/branch_write/branches_64/1000/new/estimates.json +d826153ec65ce4a84090e93c676108743c94ae49c18b79a3de54180efbe327d0 baseline-2/branch_write/branches_64/1000/new/sample.json +2884ea5e9b77974eac10a1cb5dce691c190873f95c58569f06f58b22eef1c655 baseline-2/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-0/branch_write/branches_1/1000/base/benchmark.json +e6f6bed5d4cec647212cbc542f3d0bea4248d2553d6a65b7e283cc866f919a2f current-0/branch_write/branches_1/1000/base/estimates.json +6f280239178f8265599a5cff24b58991300b8a1bb29e5a6c8f162e6053da0815 current-0/branch_write/branches_1/1000/base/sample.json +d4cb68b9ef2c0bebb293a740185da23f3402b32aea0d564f16be76d660a6e084 current-0/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-0/branch_write/branches_1/1000/new/benchmark.json +e6f6bed5d4cec647212cbc542f3d0bea4248d2553d6a65b7e283cc866f919a2f current-0/branch_write/branches_1/1000/new/estimates.json +6f280239178f8265599a5cff24b58991300b8a1bb29e5a6c8f162e6053da0815 current-0/branch_write/branches_1/1000/new/sample.json +d4cb68b9ef2c0bebb293a740185da23f3402b32aea0d564f16be76d660a6e084 current-0/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-0/branch_write/branches_16/1000/base/benchmark.json +45435d40a4d376f074121127dca9bed7458c1dc40a6941918121fe3704634bd4 current-0/branch_write/branches_16/1000/base/estimates.json +3446c8bc2c9980078d89e965de495496add3ac0697b72ca0bb8e8cae6f5593a0 current-0/branch_write/branches_16/1000/base/sample.json +1d3d3b65f1852ea0fc9697b7e39ed7e519b03d8218d546904763de53f3b6ce6f current-0/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-0/branch_write/branches_16/1000/new/benchmark.json +45435d40a4d376f074121127dca9bed7458c1dc40a6941918121fe3704634bd4 current-0/branch_write/branches_16/1000/new/estimates.json +3446c8bc2c9980078d89e965de495496add3ac0697b72ca0bb8e8cae6f5593a0 current-0/branch_write/branches_16/1000/new/sample.json +1d3d3b65f1852ea0fc9697b7e39ed7e519b03d8218d546904763de53f3b6ce6f current-0/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-0/branch_write/branches_256/1000/base/benchmark.json +89ed42dc5bf0cc43e49b4a4cd0ea36edfde9c0b3035b0dababb95eb70ad074c1 current-0/branch_write/branches_256/1000/base/estimates.json +351e817a7740afc25a698a3a2515d8630bedfbc272845103f21b931f771e42f0 current-0/branch_write/branches_256/1000/base/sample.json +e47c8537bebb7c97cfdb8c4cbb155999445a8df7900ea3d85b18e469f5f49def current-0/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-0/branch_write/branches_256/1000/new/benchmark.json +89ed42dc5bf0cc43e49b4a4cd0ea36edfde9c0b3035b0dababb95eb70ad074c1 current-0/branch_write/branches_256/1000/new/estimates.json +351e817a7740afc25a698a3a2515d8630bedfbc272845103f21b931f771e42f0 current-0/branch_write/branches_256/1000/new/sample.json +e47c8537bebb7c97cfdb8c4cbb155999445a8df7900ea3d85b18e469f5f49def current-0/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-0/branch_write/branches_64/1000/base/benchmark.json +fb448e18ba21ffd220b410beda7cf41c9f3f4cacd51864e4ceee97b9486202ef current-0/branch_write/branches_64/1000/base/estimates.json +2fa43a521338b23c9221e04045cc225e3b4e9ae3015f8179f5d3147e474daf1c current-0/branch_write/branches_64/1000/base/sample.json +72588394f463d0b9d84a5cf8becf9e3bd6d9dbcfff6d527b14f3c70f38034553 current-0/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-0/branch_write/branches_64/1000/new/benchmark.json +fb448e18ba21ffd220b410beda7cf41c9f3f4cacd51864e4ceee97b9486202ef current-0/branch_write/branches_64/1000/new/estimates.json +2fa43a521338b23c9221e04045cc225e3b4e9ae3015f8179f5d3147e474daf1c current-0/branch_write/branches_64/1000/new/sample.json +72588394f463d0b9d84a5cf8becf9e3bd6d9dbcfff6d527b14f3c70f38034553 current-0/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-1/branch_write/branches_1/1000/base/benchmark.json +0974878bcbf2f5b54bfc5f8767fcb5cb715dcf764d6b3b69977894e6176f02ef current-1/branch_write/branches_1/1000/base/estimates.json +74fb72170f9a5c81e3e64ba8f8545e07377fc10e17acdfe6e5fcb77dc399c900 current-1/branch_write/branches_1/1000/base/sample.json +cd22385884e5ee0e9e7d5fd0cd967ca87bd21b5d0832ae3d1fa870d394bb84b7 current-1/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-1/branch_write/branches_1/1000/new/benchmark.json +0974878bcbf2f5b54bfc5f8767fcb5cb715dcf764d6b3b69977894e6176f02ef current-1/branch_write/branches_1/1000/new/estimates.json +74fb72170f9a5c81e3e64ba8f8545e07377fc10e17acdfe6e5fcb77dc399c900 current-1/branch_write/branches_1/1000/new/sample.json +cd22385884e5ee0e9e7d5fd0cd967ca87bd21b5d0832ae3d1fa870d394bb84b7 current-1/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-1/branch_write/branches_16/1000/base/benchmark.json +619f544d4043d5333e59ddc54e4c145764f14cfccb5104e6fa292f40f0a3942b current-1/branch_write/branches_16/1000/base/estimates.json +63551caf3f3fa550a08de682b341037ba7bf41f89d3e297206165416fc8f3e62 current-1/branch_write/branches_16/1000/base/sample.json +f02ce2e7f7c3559bef973118ece7d5b6eff71ba221ba4f2853f899111e6eb924 current-1/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-1/branch_write/branches_16/1000/new/benchmark.json +619f544d4043d5333e59ddc54e4c145764f14cfccb5104e6fa292f40f0a3942b current-1/branch_write/branches_16/1000/new/estimates.json +63551caf3f3fa550a08de682b341037ba7bf41f89d3e297206165416fc8f3e62 current-1/branch_write/branches_16/1000/new/sample.json +f02ce2e7f7c3559bef973118ece7d5b6eff71ba221ba4f2853f899111e6eb924 current-1/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-1/branch_write/branches_256/1000/base/benchmark.json +91dc163c5cd0738e76722ddf3616bfd1f3f5d7f32806ae63ad9de9a9a5eebcd0 current-1/branch_write/branches_256/1000/base/estimates.json +bbd6666a4a8efc48e1061d4637fddc34a65ca19ac2949e3a760a1d9396ec3357 current-1/branch_write/branches_256/1000/base/sample.json +c331faa3ed3252c80677ebbf21ad3820e69c819fe648cfca1e97d6f1ad3891f5 current-1/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-1/branch_write/branches_256/1000/new/benchmark.json +91dc163c5cd0738e76722ddf3616bfd1f3f5d7f32806ae63ad9de9a9a5eebcd0 current-1/branch_write/branches_256/1000/new/estimates.json +bbd6666a4a8efc48e1061d4637fddc34a65ca19ac2949e3a760a1d9396ec3357 current-1/branch_write/branches_256/1000/new/sample.json +c331faa3ed3252c80677ebbf21ad3820e69c819fe648cfca1e97d6f1ad3891f5 current-1/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-1/branch_write/branches_64/1000/base/benchmark.json +3c55768bbbaf390cf6c979db9a6098615f68dbe08aa5e6e92ae693392ea4053d current-1/branch_write/branches_64/1000/base/estimates.json +19bbc292888ac8d6addd4241026ba794753a01c3545b378bfc4a05e64832d071 current-1/branch_write/branches_64/1000/base/sample.json +9a447258c8818273ee32e2fe97bac990bf09a7877f34add5556317cdb93f9c53 current-1/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-1/branch_write/branches_64/1000/new/benchmark.json +3c55768bbbaf390cf6c979db9a6098615f68dbe08aa5e6e92ae693392ea4053d current-1/branch_write/branches_64/1000/new/estimates.json +19bbc292888ac8d6addd4241026ba794753a01c3545b378bfc4a05e64832d071 current-1/branch_write/branches_64/1000/new/sample.json +9a447258c8818273ee32e2fe97bac990bf09a7877f34add5556317cdb93f9c53 current-1/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-2/branch_write/branches_1/1000/base/benchmark.json +cdd2739fb418b9dc1fc6486c1d6ab96bd554125bb647b5667be6d770c3d4cbc7 current-2/branch_write/branches_1/1000/base/estimates.json +a7426b43542dd83592a45ac62f4883dd6ac747ba8d7ebbd2798aec79026f6b80 current-2/branch_write/branches_1/1000/base/sample.json +7616940387ca0056f9f61c514b4e9770d0c15169b4b2a14ca89fdda8c6b895e4 current-2/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-2/branch_write/branches_1/1000/new/benchmark.json +cdd2739fb418b9dc1fc6486c1d6ab96bd554125bb647b5667be6d770c3d4cbc7 current-2/branch_write/branches_1/1000/new/estimates.json +a7426b43542dd83592a45ac62f4883dd6ac747ba8d7ebbd2798aec79026f6b80 current-2/branch_write/branches_1/1000/new/sample.json +7616940387ca0056f9f61c514b4e9770d0c15169b4b2a14ca89fdda8c6b895e4 current-2/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-2/branch_write/branches_16/1000/base/benchmark.json +651975a020d94cd69935135c6cb0a41bff73e88baac45984e0292de4456adf62 current-2/branch_write/branches_16/1000/base/estimates.json +2783069f81e959b77631f7b5bbc9ea6b393226399db266f49d5ec5a198b84254 current-2/branch_write/branches_16/1000/base/sample.json +aca530a7503355a0a337821bc1cf1c8571af273e9d8fbba307da561e3390f9f9 current-2/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-2/branch_write/branches_16/1000/new/benchmark.json +651975a020d94cd69935135c6cb0a41bff73e88baac45984e0292de4456adf62 current-2/branch_write/branches_16/1000/new/estimates.json +2783069f81e959b77631f7b5bbc9ea6b393226399db266f49d5ec5a198b84254 current-2/branch_write/branches_16/1000/new/sample.json +aca530a7503355a0a337821bc1cf1c8571af273e9d8fbba307da561e3390f9f9 current-2/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-2/branch_write/branches_256/1000/base/benchmark.json +3513ded76d33b97ce82f219d1ccd971f0091f94d6a605cc501c02cef92e11ae6 current-2/branch_write/branches_256/1000/base/estimates.json +cd9be01b712cd6969a76722f6418f0544c3b325dbca145c66cdc31c3923eb8c8 current-2/branch_write/branches_256/1000/base/sample.json +5a71343fc3bc3dc3e80a1dafc856ed0d8ec16389dcb7739e27b0926c23b60578 current-2/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-2/branch_write/branches_256/1000/new/benchmark.json +3513ded76d33b97ce82f219d1ccd971f0091f94d6a605cc501c02cef92e11ae6 current-2/branch_write/branches_256/1000/new/estimates.json +cd9be01b712cd6969a76722f6418f0544c3b325dbca145c66cdc31c3923eb8c8 current-2/branch_write/branches_256/1000/new/sample.json +5a71343fc3bc3dc3e80a1dafc856ed0d8ec16389dcb7739e27b0926c23b60578 current-2/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-2/branch_write/branches_64/1000/base/benchmark.json +ee1e158f9371890dc9ce3c6389cd1f23997592b117c9605d61dc43163990b630 current-2/branch_write/branches_64/1000/base/estimates.json +3508763934cbf6c4e27f4dc1929a0a68173bf2ffebf59b645e8c53609a6a7160 current-2/branch_write/branches_64/1000/base/sample.json +02833fb2bcf9a3c87730c7fbd3bf9aac44ee889881c68d5cb023810aef1b4400 current-2/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-2/branch_write/branches_64/1000/new/benchmark.json +ee1e158f9371890dc9ce3c6389cd1f23997592b117c9605d61dc43163990b630 current-2/branch_write/branches_64/1000/new/estimates.json +3508763934cbf6c4e27f4dc1929a0a68173bf2ffebf59b645e8c53609a6a7160 current-2/branch_write/branches_64/1000/new/sample.json +02833fb2bcf9a3c87730c7fbd3bf9aac44ee889881c68d5cb023810aef1b4400 current-2/branch_write/branches_64/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/criterion-results.tar.gz new file mode 100644 index 0000000..faa5516 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-0.txt new file mode 100644 index 0000000..071d9eb --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-0.txt @@ -0,0 +1,42 @@ +memcap: <=7722 MiB (60% of 12870 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0040 s (83k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [58.968 µs 59.325 µs 59.746 µs] + thrpt: [190.00 MiB/s 191.35 MiB/s 192.50 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 2 (2.00%) high mild + 9 (9.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0040 s (75k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [64.883 µs 65.136 µs 65.449 µs] + thrpt: [184.28 MiB/s 185.17 MiB/s 185.89 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 2 (2.00%) high mild + 6 (6.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0002 s (67k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [72.944 µs 73.385 µs 73.962 µs] + thrpt: [175.14 MiB/s 176.52 MiB/s 177.58 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 7 (7.00%) high mild + 5 (5.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0044 s (63k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [77.461 µs 77.858 µs 78.312 µs] + thrpt: [182.95 MiB/s 184.02 MiB/s 184.96 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 5 (5.00%) high mild + 6 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-1.txt new file mode 100644 index 0000000..366ddee --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-1.txt @@ -0,0 +1,41 @@ +memcap: <=7724 MiB (60% of 12874 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0021 s (83k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [59.783 µs 59.922 µs 60.070 µs] + thrpt: [188.97 MiB/s 189.44 MiB/s 189.88 MiB/s] +Found 3 outliers among 100 measurements (3.00%) + 3 (3.00%) high mild +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0037 s (78k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [65.118 µs 65.657 µs 66.277 µs] + thrpt: [181.98 MiB/s 183.70 MiB/s 185.22 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 3 (3.00%) high mild + 10 (10.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0050 s (67k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [74.374 µs 74.917 µs 75.641 µs] + thrpt: [171.25 MiB/s 172.91 MiB/s 174.17 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 5 (5.00%) high mild + 7 (7.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0068 s (64k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [77.885 µs 78.286 µs 78.737 µs] + thrpt: [181.96 MiB/s 183.01 MiB/s 183.95 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 6 (6.00%) high mild + 6 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-2.txt new file mode 100644 index 0000000..738c16b --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-2.txt @@ -0,0 +1,42 @@ +memcap: <=7722 MiB (60% of 12870 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 100 samples in estimated 5.0020 s (82k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [60.243 µs 60.551 µs 60.893 µs] + thrpt: [186.42 MiB/s 187.47 MiB/s 188.43 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 6 (6.00%) high mild + 1 (1.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 100 samples in estimated 5.0049 s (78k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [64.542 µs 64.981 µs 65.517 µs] + thrpt: [184.09 MiB/s 185.61 MiB/s 186.87 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 3 (3.00%) high mild + 5 (5.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 100 samples in estimated 5.0049 s (68k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [73.008 µs 73.502 µs 74.114 µs] + thrpt: [174.78 MiB/s 176.24 MiB/s 177.43 MiB/s] +Found 5 outliers among 100 measurements (5.00%) + 4 (4.00%) high mild + 1 (1.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 3.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 100 samples in estimated 5.0027 s (64k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [78.076 µs 78.990 µs 80.489 µs] + thrpt: [178.00 MiB/s 181.38 MiB/s 183.50 MiB/s] +Found 5 outliers among 100 measurements (5.00%) + 3 (3.00%) high mild + 2 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-build.txt new file mode 100644 index 0000000..7b8c44d --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7669 MiB (60% of 12783 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.95s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/harness.rs new file mode 100644 index 0000000..29b2c6a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [1, 16, 64, 256] { + for count in [1, 1000] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/metadata.json new file mode 100644 index 0000000..349f2e0 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "d3bf1728be1d265b6b5d317946492cec9b4a6f8c" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 100, + "warmup_seconds": 3.0, + "measurement_seconds": 5.0, + "rounds": 3, + "filter": "^branch_write/.*/1000$", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/summary.json new file mode 100644 index 0000000..a8c2225 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-final/summary.json @@ -0,0 +1,286 @@ +{ + "branch_write/branches_1/1000": { + "baseline_ns": 64850.10155216284, + "candidate_ns": 59921.58510843375, + "delta_percent": -7.599859253519892, + "speedup": 1.082249433735948, + "process_deltas_percent": [ + -6.754376273804342, + -7.942210050892895, + -6.628737437630816 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63448.159709450796, + "upper_bound": 63820.914584610466 + }, + "point_estimate": 63622.48621966793, + "standard_error": 95.66682800525312 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63952.476813157904, + "upper_bound": 66655.38305822368 + }, + "point_estimate": 65091.27053947371, + "standard_error": 707.9121794497387 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64443.85663358776, + "upper_bound": 65339.539052480905 + }, + "point_estimate": 64850.10155216284, + "standard_error": 229.63200395663455 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 58968.31735444178, + "upper_bound": 59745.64151080432 + }, + "point_estimate": 59325.18410564224, + "standard_error": 199.3848496402265 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 59783.3114120482, + "upper_bound": 60069.66440512051 + }, + "point_estimate": 59921.58510843375, + "standard_error": 73.38287397502054 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 60242.51625576456, + "upper_bound": 60893.21378094663 + }, + "point_estimate": 60551.358592233024, + "standard_error": 166.18158932926747 + } + ] + } + }, + "branch_write/branches_16/1000": { + "baseline_ns": 69575.24784122565, + "candidate_ns": 65136.322390438254, + "delta_percent": -6.3800354127623855, + "speedup": 1.0681482356983514, + "process_deltas_percent": [ + -6.3800354127623855, + -4.555431372015284, + -6.998377341787087 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 68882.39630292481, + "upper_bound": 70520.33586072424 + }, + "point_estimate": 69575.24784122565, + "standard_error": 423.826429731008 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 68493.37610372712, + "upper_bound": 69129.32160935302 + }, + "point_estimate": 68790.23735583686, + "standard_error": 163.2414480732288 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 69460.37044797486, + "upper_bound": 70331.15789664806 + }, + "point_estimate": 69870.56087988826, + "standard_error": 223.09309012158243 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64883.13966699868, + "upper_bound": 65449.17750830015 + }, + "point_estimate": 65136.322390438254, + "standard_error": 145.40348654366386 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 65117.81895527673, + "upper_bound": 66277.32808043761 + }, + "point_estimate": 65656.54530244529, + "standard_error": 297.0259085013548 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64542.095838896, + "upper_bound": 65517.368249358144 + }, + "point_estimate": 64980.75537869061, + "standard_error": 249.83641731445198 + } + ] + } + }, + "branch_write/branches_256/1000": { + "baseline_ns": 169214.49481481485, + "candidate_ns": 78285.83989045383, + "delta_percent": -53.73573642368618, + "speedup": 2.1614955533669744, + "process_deltas_percent": [ + -53.752025132986205, + -53.834784376792186, + -53.319536227318444 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 167746.4541680887, + "upper_bound": 169067.35135494886 + }, + "point_estimate": 168348.49215017058, + "standard_error": 337.62991393279503 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 168197.61164695938, + "upper_bound": 171353.573441723 + }, + "point_estimate": 169577.54628378383, + "standard_error": 811.1997512605842 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 168403.18921633004, + "upper_bound": 170156.0153417509 + }, + "point_estimate": 169214.49481481485, + "standard_error": 449.54565854234687 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 77461.22049683542, + "upper_bound": 78311.99828599686 + }, + "point_estimate": 77857.76833860758, + "standard_error": 218.5069712040118 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 77885.36369874801, + "upper_bound": 78736.50291236302 + }, + "point_estimate": 78285.83989045383, + "standard_error": 217.01890276631906 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 78075.74189174453, + "upper_bound": 80489.31439213392 + }, + "point_estimate": 78990.11095015577, + "standard_error": 661.1858207069032 + } + ] + } + }, + "branch_write/branches_64/1000": { + "baseline_ns": 99859.15936758899, + "candidate_ns": 73501.68615497078, + "delta_percent": -26.39464760122242, + "speedup": 1.3585968511939464, + "process_deltas_percent": [ + -27.24632835451748, + -24.39289202695378, + -26.39464760122242 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 100174.43715543258, + "upper_bound": 101688.03519567403 + }, + "point_estimate": 100867.46060362172, + "standard_error": 387.8381250639527 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 98635.11592952674, + "upper_bound": 99605.64105761319 + }, + "point_estimate": 99087.12668724277, + "standard_error": 248.26096732236073 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99337.80651235179, + "upper_bound": 100583.65524555334 + }, + "point_estimate": 99859.15936758899, + "standard_error": 323.1065668199333 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 72944.09634658248, + "upper_bound": 73961.84507986624 + }, + "point_estimate": 73384.78108469538, + "standard_error": 262.761501262398 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 74374.4531036404, + "upper_bound": 75641.28974294204 + }, + "point_estimate": 74916.91086181274, + "standard_error": 326.7224080108236 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 73008.15782602338, + "upper_bound": 74113.84151754389 + }, + "point_estimate": 73501.68615497078, + "standard_error": 282.8087523101822 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline-0.txt new file mode 100644 index 0000000..f6f6217 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline-0.txt @@ -0,0 +1,22 @@ +memcap: <=7656 MiB (60% of 12760 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1024 +Benchmarking branch_write/branches_64/1024: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1024: Collecting 50 samples in estimated 2.0011 s (19k iterations) +Benchmarking branch_write/branches_64/1024: Analyzing +branch_write/branches_64/1024 + time: [104.70 µs 105.51 µs 106.59 µs] + thrpt: [124.75 MiB/s 126.03 MiB/s 127.00 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/1024 +Benchmarking branch_write/branches_256/1024: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1024: Collecting 50 samples in estimated 2.0010 s (11k iterations) +Benchmarking branch_write/branches_256/1024: Analyzing +branch_write/branches_256/1024 + time: [181.19 µs 182.09 µs 183.40 µs] + thrpt: [80.240 MiB/s 80.819 MiB/s 81.220 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline-1.txt new file mode 100644 index 0000000..d114dd1 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline-1.txt @@ -0,0 +1,22 @@ +memcap: <=7704 MiB (60% of 12841 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1024 +Benchmarking branch_write/branches_64/1024: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1024: Collecting 50 samples in estimated 2.0007 s (19k iterations) +Benchmarking branch_write/branches_64/1024: Analyzing +branch_write/branches_64/1024 + time: [105.94 µs 107.04 µs 108.70 µs] + thrpt: [122.33 MiB/s 124.22 MiB/s 125.52 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/1024 +Benchmarking branch_write/branches_256/1024: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1024: Collecting 50 samples in estimated 2.0038 s (11k iterations) +Benchmarking branch_write/branches_256/1024: Analyzing +branch_write/branches_256/1024 + time: [181.44 µs 182.18 µs 183.08 µs] + thrpt: [80.380 MiB/s 80.776 MiB/s 81.109 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline-build.txt new file mode 100644 index 0000000..34346bb --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7690 MiB (60% of 12818 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.73s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/criterion-SHA256SUMS new file mode 100644 index 0000000..4fc5fa3 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/criterion-SHA256SUMS @@ -0,0 +1,64 @@ +08f4da18aef418a1ac6facf7d615517996eef4d14750f081906b58cc053777c7 baseline-0/branch_write/branches_256/1024/base/benchmark.json +abe7e2b6d6b266a930dea061a338ca248f792537734e71df16bf023ea2d98df8 baseline-0/branch_write/branches_256/1024/base/estimates.json +9a4b56ee5f3480ffeadd839fb3a6189b1a1e8a8f04692b92b8369069ec898bc9 baseline-0/branch_write/branches_256/1024/base/sample.json +00f75e8f19b301fcb8ba0e086195910c538af38bdf910998fef7085bb0e5b686 baseline-0/branch_write/branches_256/1024/base/tukey.json +08f4da18aef418a1ac6facf7d615517996eef4d14750f081906b58cc053777c7 baseline-0/branch_write/branches_256/1024/new/benchmark.json +abe7e2b6d6b266a930dea061a338ca248f792537734e71df16bf023ea2d98df8 baseline-0/branch_write/branches_256/1024/new/estimates.json +9a4b56ee5f3480ffeadd839fb3a6189b1a1e8a8f04692b92b8369069ec898bc9 baseline-0/branch_write/branches_256/1024/new/sample.json +00f75e8f19b301fcb8ba0e086195910c538af38bdf910998fef7085bb0e5b686 baseline-0/branch_write/branches_256/1024/new/tukey.json +db8fd2717699320b6e953ba590417eafefe5e18549becd642ddbcd72af39315a baseline-0/branch_write/branches_64/1024/base/benchmark.json +4b8a597c22b56f6e71e1a01469ad6ab64c8f21004e1f5a5d5806ced9fcd3887e baseline-0/branch_write/branches_64/1024/base/estimates.json +7bab7aade7c15b15c24398751a082862c76af13fe37fac4381303dee28491dc0 baseline-0/branch_write/branches_64/1024/base/sample.json +a0df9de0a6ff133084c375bfe69689d9a460adcfb3f7347293737c17982023ba baseline-0/branch_write/branches_64/1024/base/tukey.json +db8fd2717699320b6e953ba590417eafefe5e18549becd642ddbcd72af39315a baseline-0/branch_write/branches_64/1024/new/benchmark.json +4b8a597c22b56f6e71e1a01469ad6ab64c8f21004e1f5a5d5806ced9fcd3887e baseline-0/branch_write/branches_64/1024/new/estimates.json +7bab7aade7c15b15c24398751a082862c76af13fe37fac4381303dee28491dc0 baseline-0/branch_write/branches_64/1024/new/sample.json +a0df9de0a6ff133084c375bfe69689d9a460adcfb3f7347293737c17982023ba baseline-0/branch_write/branches_64/1024/new/tukey.json +08f4da18aef418a1ac6facf7d615517996eef4d14750f081906b58cc053777c7 baseline-1/branch_write/branches_256/1024/base/benchmark.json +72147eb67a18c751c79f477c0734c77f4e1c095658bf83fc2d3c0735471e51f6 baseline-1/branch_write/branches_256/1024/base/estimates.json +152c3a1706b81679e9cdd9682ef867d4ec601e43ad25798415a383406205f462 baseline-1/branch_write/branches_256/1024/base/sample.json +52416ced8b23823a60b245fbce3b8bcb53ce9dc469dca6bfa9fa22c6d5e21a82 baseline-1/branch_write/branches_256/1024/base/tukey.json +08f4da18aef418a1ac6facf7d615517996eef4d14750f081906b58cc053777c7 baseline-1/branch_write/branches_256/1024/new/benchmark.json +72147eb67a18c751c79f477c0734c77f4e1c095658bf83fc2d3c0735471e51f6 baseline-1/branch_write/branches_256/1024/new/estimates.json +152c3a1706b81679e9cdd9682ef867d4ec601e43ad25798415a383406205f462 baseline-1/branch_write/branches_256/1024/new/sample.json +52416ced8b23823a60b245fbce3b8bcb53ce9dc469dca6bfa9fa22c6d5e21a82 baseline-1/branch_write/branches_256/1024/new/tukey.json +db8fd2717699320b6e953ba590417eafefe5e18549becd642ddbcd72af39315a baseline-1/branch_write/branches_64/1024/base/benchmark.json +7d8318dfb6b3137bcb99a611d002a5c73082974188f3b713b7ec4471f6ea5811 baseline-1/branch_write/branches_64/1024/base/estimates.json +e9c26279efc8bfb65300ed1015e4e4599423cf7c101342a3908695e56f2bab00 baseline-1/branch_write/branches_64/1024/base/sample.json +07ac4b6d01dd03f6f89b9fea5c887222932450c6316eed910174a8a794fe349f baseline-1/branch_write/branches_64/1024/base/tukey.json +db8fd2717699320b6e953ba590417eafefe5e18549becd642ddbcd72af39315a baseline-1/branch_write/branches_64/1024/new/benchmark.json +7d8318dfb6b3137bcb99a611d002a5c73082974188f3b713b7ec4471f6ea5811 baseline-1/branch_write/branches_64/1024/new/estimates.json +e9c26279efc8bfb65300ed1015e4e4599423cf7c101342a3908695e56f2bab00 baseline-1/branch_write/branches_64/1024/new/sample.json +07ac4b6d01dd03f6f89b9fea5c887222932450c6316eed910174a8a794fe349f baseline-1/branch_write/branches_64/1024/new/tukey.json +08f4da18aef418a1ac6facf7d615517996eef4d14750f081906b58cc053777c7 current-0/branch_write/branches_256/1024/base/benchmark.json +9f907ad1b82557963fa2bcd87780d2ffe07286d24d7a792fc916bcc674d3c85c current-0/branch_write/branches_256/1024/base/estimates.json +397561f91aa5956f679616c8296cff8f26fe59e82fce624fb45e9907e8335d07 current-0/branch_write/branches_256/1024/base/sample.json +69ff0c4cbaf308f2d45488deb6d85f3834e2741f036a347f44bd5a1d0b2af1c5 current-0/branch_write/branches_256/1024/base/tukey.json +08f4da18aef418a1ac6facf7d615517996eef4d14750f081906b58cc053777c7 current-0/branch_write/branches_256/1024/new/benchmark.json +9f907ad1b82557963fa2bcd87780d2ffe07286d24d7a792fc916bcc674d3c85c current-0/branch_write/branches_256/1024/new/estimates.json +397561f91aa5956f679616c8296cff8f26fe59e82fce624fb45e9907e8335d07 current-0/branch_write/branches_256/1024/new/sample.json +69ff0c4cbaf308f2d45488deb6d85f3834e2741f036a347f44bd5a1d0b2af1c5 current-0/branch_write/branches_256/1024/new/tukey.json +db8fd2717699320b6e953ba590417eafefe5e18549becd642ddbcd72af39315a current-0/branch_write/branches_64/1024/base/benchmark.json +2726eac9460695b544c10fa8b03abb8c38b5cc70aba37c4097f9a089d70e22c1 current-0/branch_write/branches_64/1024/base/estimates.json +7023e36e8265946a79eaec4461aa9f73532db9421d80b03acd061a7db5657ef4 current-0/branch_write/branches_64/1024/base/sample.json +1c95514cb7cffd145407d544fe2535235a47f02b28ce9476ba8ef862c699dbea current-0/branch_write/branches_64/1024/base/tukey.json +db8fd2717699320b6e953ba590417eafefe5e18549becd642ddbcd72af39315a current-0/branch_write/branches_64/1024/new/benchmark.json +2726eac9460695b544c10fa8b03abb8c38b5cc70aba37c4097f9a089d70e22c1 current-0/branch_write/branches_64/1024/new/estimates.json +7023e36e8265946a79eaec4461aa9f73532db9421d80b03acd061a7db5657ef4 current-0/branch_write/branches_64/1024/new/sample.json +1c95514cb7cffd145407d544fe2535235a47f02b28ce9476ba8ef862c699dbea current-0/branch_write/branches_64/1024/new/tukey.json +08f4da18aef418a1ac6facf7d615517996eef4d14750f081906b58cc053777c7 current-1/branch_write/branches_256/1024/base/benchmark.json +57883f924728f7bbc2223c5913c61d533081d9c5996c5eb79e1583cde5a88943 current-1/branch_write/branches_256/1024/base/estimates.json +1c6344f2b7f0da650b896c1970dca5880278f63f0e96bf5bc3014ca95c78a9bd current-1/branch_write/branches_256/1024/base/sample.json +84bbda0a2f57cddfb0de54cc262f158258f91829339886c2d252cb3acea603da current-1/branch_write/branches_256/1024/base/tukey.json +08f4da18aef418a1ac6facf7d615517996eef4d14750f081906b58cc053777c7 current-1/branch_write/branches_256/1024/new/benchmark.json +57883f924728f7bbc2223c5913c61d533081d9c5996c5eb79e1583cde5a88943 current-1/branch_write/branches_256/1024/new/estimates.json +1c6344f2b7f0da650b896c1970dca5880278f63f0e96bf5bc3014ca95c78a9bd current-1/branch_write/branches_256/1024/new/sample.json +84bbda0a2f57cddfb0de54cc262f158258f91829339886c2d252cb3acea603da current-1/branch_write/branches_256/1024/new/tukey.json +db8fd2717699320b6e953ba590417eafefe5e18549becd642ddbcd72af39315a current-1/branch_write/branches_64/1024/base/benchmark.json +adfe3b98c76a0a84c13d277651b82f79da4b2fedc8c221336247b0a2c40c39e2 current-1/branch_write/branches_64/1024/base/estimates.json +f8a3989e2ec2ed0ae15273e92c91cd0b66965e59f8814aa69bdb437e634930fc current-1/branch_write/branches_64/1024/base/sample.json +5fe769374f97719723decaf936774314be6b2ee4d3ad957aaf0b4eaf5cd9af9e current-1/branch_write/branches_64/1024/base/tukey.json +db8fd2717699320b6e953ba590417eafefe5e18549becd642ddbcd72af39315a current-1/branch_write/branches_64/1024/new/benchmark.json +adfe3b98c76a0a84c13d277651b82f79da4b2fedc8c221336247b0a2c40c39e2 current-1/branch_write/branches_64/1024/new/estimates.json +f8a3989e2ec2ed0ae15273e92c91cd0b66965e59f8814aa69bdb437e634930fc current-1/branch_write/branches_64/1024/new/sample.json +5fe769374f97719723decaf936774314be6b2ee4d3ad957aaf0b4eaf5cd9af9e current-1/branch_write/branches_64/1024/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/criterion-results.tar.gz new file mode 100644 index 0000000..3b5ed55 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current-0.txt new file mode 100644 index 0000000..692bdb5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current-0.txt @@ -0,0 +1,22 @@ +memcap: <=7686 MiB (60% of 12810 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1024 +Benchmarking branch_write/branches_64/1024: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1024: Collecting 50 samples in estimated 2.0016 s (26k iterations) +Benchmarking branch_write/branches_64/1024: Analyzing +branch_write/branches_64/1024 + time: [75.101 µs 76.041 µs 77.222 µs] + thrpt: [172.19 MiB/s 174.87 MiB/s 177.06 MiB/s] +Found 9 outliers among 50 measurements (18.00%) + 2 (4.00%) high mild + 7 (14.00%) high severe +Benchmarking branch_write/branches_256/1024 +Benchmarking branch_write/branches_256/1024: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1024: Collecting 50 samples in estimated 2.0003 s (24k iterations) +Benchmarking branch_write/branches_256/1024: Analyzing +branch_write/branches_256/1024 + time: [80.753 µs 81.027 µs 81.353 µs] + thrpt: [180.89 MiB/s 181.62 MiB/s 182.24 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current-1.txt new file mode 100644 index 0000000..2c3b142 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current-1.txt @@ -0,0 +1,20 @@ +memcap: <=7703 MiB (60% of 12838 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_64/1024 +Benchmarking branch_write/branches_64/1024: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1024: Collecting 50 samples in estimated 2.0004 s (26k iterations) +Benchmarking branch_write/branches_64/1024: Analyzing +branch_write/branches_64/1024 + time: [77.682 µs 79.885 µs 82.477 µs] + thrpt: [161.22 MiB/s 166.45 MiB/s 171.17 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high mild +Benchmarking branch_write/branches_256/1024 +Benchmarking branch_write/branches_256/1024: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1024: Collecting 50 samples in estimated 2.0029 s (25k iterations) +Benchmarking branch_write/branches_256/1024: Analyzing +branch_write/branches_256/1024 + time: [83.088 µs 84.923 µs 86.989 µs] + thrpt: [169.17 MiB/s 173.29 MiB/s 177.11 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high mild + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current-build.txt new file mode 100644 index 0000000..fc3618f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current-build.txt @@ -0,0 +1,4 @@ +memcap: <=7673 MiB (60% of 12789 MiB available) [systemd MemoryMax, swap off] + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 26.81s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/harness.rs new file mode 100644 index 0000000..2f8360e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [64, 256] { + for count in [1024] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/metadata.json new file mode 100644 index 0000000..bb748c9 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "58cb346f964b5196dfad62e8a62a8aa4beb9beef" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/summary.json new file mode 100644 index 0000000..ed8b6ed --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-power-two/summary.json @@ -0,0 +1,106 @@ +{ + "branch_write/branches_256/1024": { + "baseline_ns": 182135.43876018177, + "candidate_ns": 82975.3623621496, + "delta_percent": -54.44304363446617, + "speedup": 2.195054454420382, + "process_deltas_percent": [ + -55.50073509603166, + -53.38591829127686 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 181188.38825, + "upper_bound": 183401.41112155953 + }, + "point_estimate": 182086.68266055046, + "standard_error": 579.8578447727085 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 181437.43196261683, + "upper_bound": 183082.44314485983 + }, + "point_estimate": 182184.19485981308, + "standard_error": 421.6982606845775 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80753.11235460252, + "upper_bound": 81353.09379393305 + }, + "point_estimate": 81027.23527196652, + "standard_error": 153.18990566657234 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 83088.35773732251, + "upper_bound": 86989.04748073022 + }, + "point_estimate": 84923.48945233267, + "standard_error": 995.1150480515694 + } + ] + } + }, + "branch_write/branches_64/1024": { + "baseline_ns": 106275.0213085819, + "candidate_ns": 77963.22984221365, + "delta_percent": -26.64011836249053, + "speedup": 1.3631428754769042, + "process_deltas_percent": [ + -27.928703064860894, + -25.36999075936984 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 104698.4370566038, + "upper_bound": 106589.19406603779 + }, + "point_estimate": 105508.41358490569, + "standard_error": 489.6289315892407 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 105939.35688440864, + "upper_bound": 108696.15180510758 + }, + "point_estimate": 107041.62903225809, + "standard_error": 726.3962849996442 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 75100.56565733589, + "upper_bound": 77222.35786583011 + }, + "point_estimate": 76041.28204633202, + "standard_error": 548.3652063829372 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 77682.41140380954, + "upper_bound": 82477.21042095238 + }, + "point_estimate": 79885.17763809527, + "standard_error": 1227.603145020525 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline-0.txt new file mode 100644 index 0000000..8764cd6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline-0.txt @@ -0,0 +1,41 @@ +memcap: <=7676 MiB (60% of 12794 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 50 samples in estimated 2.0012 s (30k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [63.801 µs 64.089 µs 64.444 µs] + thrpt: [176.15 MiB/s 177.12 MiB/s 177.92 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 50 samples in estimated 2.0031 s (28k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [69.570 µs 70.870 µs 72.371 µs] + thrpt: [166.66 MiB/s 170.19 MiB/s 173.37 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0038 s (20k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [99.923 µs 101.25 µs 102.86 µs] + thrpt: [125.94 MiB/s 127.94 MiB/s 129.64 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0066 s (12k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [168.95 µs 169.85 µs 170.98 µs] + thrpt: [83.791 MiB/s 84.349 MiB/s 84.799 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline-1.txt new file mode 100644 index 0000000..42b62e2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline-1.txt @@ -0,0 +1,42 @@ +memcap: <=7727 MiB (60% of 12879 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 50 samples in estimated 2.0012 s (31k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [63.572 µs 64.048 µs 64.646 µs] + thrpt: [175.60 MiB/s 177.24 MiB/s 178.56 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 50 samples in estimated 2.0030 s (29k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [69.743 µs 70.263 µs 70.900 µs] + thrpt: [170.11 MiB/s 171.66 MiB/s 172.94 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0038 s (20k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [99.115 µs 99.379 µs 99.680 µs] + thrpt: [129.95 MiB/s 130.35 MiB/s 130.69 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0084 s (12k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [169.43 µs 172.43 µs 177.36 µs] + thrpt: [80.778 MiB/s 83.089 MiB/s 84.560 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline-build.txt new file mode 100644 index 0000000..f4536f6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7734 MiB (60% of 12890 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.88s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/criterion-SHA256SUMS new file mode 100644 index 0000000..88bc25c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/criterion-SHA256SUMS @@ -0,0 +1,128 @@ +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-0/branch_write/branches_1/1000/base/benchmark.json +6624660e204186a90fe33b076a2399e469ee7da86100575ac48bd86ed49c18ef baseline-0/branch_write/branches_1/1000/base/estimates.json +f7438572e7f29d115d1d47ff274c18e779028fca2b53c15e17e74dfd5de96376 baseline-0/branch_write/branches_1/1000/base/sample.json +20080103d1470cee0e6251315caf1e00df31679a0a13f42f97581e83bdc76ad7 baseline-0/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-0/branch_write/branches_1/1000/new/benchmark.json +6624660e204186a90fe33b076a2399e469ee7da86100575ac48bd86ed49c18ef baseline-0/branch_write/branches_1/1000/new/estimates.json +f7438572e7f29d115d1d47ff274c18e779028fca2b53c15e17e74dfd5de96376 baseline-0/branch_write/branches_1/1000/new/sample.json +20080103d1470cee0e6251315caf1e00df31679a0a13f42f97581e83bdc76ad7 baseline-0/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-0/branch_write/branches_16/1000/base/benchmark.json +ec33840c5ccbad2a679da6d4e2076f8e6fc5c36307f76d5058135de5198477a4 baseline-0/branch_write/branches_16/1000/base/estimates.json +ed710fb63b36f72c385fe16f98ede8689ef928eec3829cf04a40cc97bd07699b baseline-0/branch_write/branches_16/1000/base/sample.json +fbf4cb28b2c9d294b52e6b2ad14053902da96e339f1ce1334524182976f07df2 baseline-0/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-0/branch_write/branches_16/1000/new/benchmark.json +ec33840c5ccbad2a679da6d4e2076f8e6fc5c36307f76d5058135de5198477a4 baseline-0/branch_write/branches_16/1000/new/estimates.json +ed710fb63b36f72c385fe16f98ede8689ef928eec3829cf04a40cc97bd07699b baseline-0/branch_write/branches_16/1000/new/sample.json +fbf4cb28b2c9d294b52e6b2ad14053902da96e339f1ce1334524182976f07df2 baseline-0/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-0/branch_write/branches_256/1000/base/benchmark.json +4692814b356a97a3cc90703cf943681e7e960732701d3c28e647a74451de2e51 baseline-0/branch_write/branches_256/1000/base/estimates.json +f360800b8c208e748f42711abd219a625e4a6b46ae1a056c3ff785fbc8d997bc baseline-0/branch_write/branches_256/1000/base/sample.json +a86c26efaeec030ebb69344887975edeee2f73270554361f411e9961e5b1521a baseline-0/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-0/branch_write/branches_256/1000/new/benchmark.json +4692814b356a97a3cc90703cf943681e7e960732701d3c28e647a74451de2e51 baseline-0/branch_write/branches_256/1000/new/estimates.json +f360800b8c208e748f42711abd219a625e4a6b46ae1a056c3ff785fbc8d997bc baseline-0/branch_write/branches_256/1000/new/sample.json +a86c26efaeec030ebb69344887975edeee2f73270554361f411e9961e5b1521a baseline-0/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-0/branch_write/branches_64/1000/base/benchmark.json +b0a227d80e73df4ce29a9b06ccb893e4f351f01fe53b5e1454a0fec8dccbbe5b baseline-0/branch_write/branches_64/1000/base/estimates.json +bafae5d4e29db7a616ada4ca822f4a9704d352c0b55b5dfb31e5c12fc9262b7f baseline-0/branch_write/branches_64/1000/base/sample.json +81eb83ff3bff77706d0dcf32b98a60aa59de198f35dde46715228b4a39919f79 baseline-0/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-0/branch_write/branches_64/1000/new/benchmark.json +b0a227d80e73df4ce29a9b06ccb893e4f351f01fe53b5e1454a0fec8dccbbe5b baseline-0/branch_write/branches_64/1000/new/estimates.json +bafae5d4e29db7a616ada4ca822f4a9704d352c0b55b5dfb31e5c12fc9262b7f baseline-0/branch_write/branches_64/1000/new/sample.json +81eb83ff3bff77706d0dcf32b98a60aa59de198f35dde46715228b4a39919f79 baseline-0/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-1/branch_write/branches_1/1000/base/benchmark.json +474dc44a7bd474acaffc5bf410858a206b1eb320fd53f27ccdfd8d94e45a4c23 baseline-1/branch_write/branches_1/1000/base/estimates.json +0b787cfb05aac18ba0956ee3fbb2be674d5f4cf442d102e1d727fd750218dede baseline-1/branch_write/branches_1/1000/base/sample.json +586ee8bc17af5f888637f5aa5dd0fc9813b870c8e63fc48e93723a678cb68551 baseline-1/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e baseline-1/branch_write/branches_1/1000/new/benchmark.json +474dc44a7bd474acaffc5bf410858a206b1eb320fd53f27ccdfd8d94e45a4c23 baseline-1/branch_write/branches_1/1000/new/estimates.json +0b787cfb05aac18ba0956ee3fbb2be674d5f4cf442d102e1d727fd750218dede baseline-1/branch_write/branches_1/1000/new/sample.json +586ee8bc17af5f888637f5aa5dd0fc9813b870c8e63fc48e93723a678cb68551 baseline-1/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-1/branch_write/branches_16/1000/base/benchmark.json +0f3b66c793f17e036dff52eeb7b0c7bf1204b9c3279034dfe0044cf1c458c330 baseline-1/branch_write/branches_16/1000/base/estimates.json +ac95e60dafb97474c7a26f1ea7feeb578f53f99a779839dc7df0216dab5a0662 baseline-1/branch_write/branches_16/1000/base/sample.json +46e0d8745903bd8ea858dab9cc50743a9dfa34c2a1d4387749485eba015c119d baseline-1/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 baseline-1/branch_write/branches_16/1000/new/benchmark.json +0f3b66c793f17e036dff52eeb7b0c7bf1204b9c3279034dfe0044cf1c458c330 baseline-1/branch_write/branches_16/1000/new/estimates.json +ac95e60dafb97474c7a26f1ea7feeb578f53f99a779839dc7df0216dab5a0662 baseline-1/branch_write/branches_16/1000/new/sample.json +46e0d8745903bd8ea858dab9cc50743a9dfa34c2a1d4387749485eba015c119d baseline-1/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-1/branch_write/branches_256/1000/base/benchmark.json +8a5241a087210426e6e1e104ebcad552d30121acd1010c3a06b07d53ed483e9e baseline-1/branch_write/branches_256/1000/base/estimates.json +f70e2f93ff17d870ae398f88ae0a6e8e0d8481aa904197f26bf0cd03f28043ce baseline-1/branch_write/branches_256/1000/base/sample.json +5000c011e47dfb6abf3cff1f899dfd382f266a24c23db8a2579bc50e173322af baseline-1/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b baseline-1/branch_write/branches_256/1000/new/benchmark.json +8a5241a087210426e6e1e104ebcad552d30121acd1010c3a06b07d53ed483e9e baseline-1/branch_write/branches_256/1000/new/estimates.json +f70e2f93ff17d870ae398f88ae0a6e8e0d8481aa904197f26bf0cd03f28043ce baseline-1/branch_write/branches_256/1000/new/sample.json +5000c011e47dfb6abf3cff1f899dfd382f266a24c23db8a2579bc50e173322af baseline-1/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-1/branch_write/branches_64/1000/base/benchmark.json +a725dc08b7047ecd8563300aa0210a0cf2402885375c0e7bd53dedf128f57f2a baseline-1/branch_write/branches_64/1000/base/estimates.json +343cac38a7451ec59c4e5faeb0d9a4b32b93734fb544f264d83deb7185f104b4 baseline-1/branch_write/branches_64/1000/base/sample.json +dedde69296a89d85a6c1d57115987938189c75ed703fad99ed0f304be027c741 baseline-1/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 baseline-1/branch_write/branches_64/1000/new/benchmark.json +a725dc08b7047ecd8563300aa0210a0cf2402885375c0e7bd53dedf128f57f2a baseline-1/branch_write/branches_64/1000/new/estimates.json +343cac38a7451ec59c4e5faeb0d9a4b32b93734fb544f264d83deb7185f104b4 baseline-1/branch_write/branches_64/1000/new/sample.json +dedde69296a89d85a6c1d57115987938189c75ed703fad99ed0f304be027c741 baseline-1/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-0/branch_write/branches_1/1000/base/benchmark.json +e3aa529a10c636f73230d7324e58d44c018a835d415065af9c562a87f74e36d3 current-0/branch_write/branches_1/1000/base/estimates.json +50d11ef66756cbd249749b987aa5319ef85cd922237948488c89aed23a0a1a3f current-0/branch_write/branches_1/1000/base/sample.json +a38d66f45b129432ab0a658c9649c0a84fd3ca1cf6e4547f89bb24f097961366 current-0/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-0/branch_write/branches_1/1000/new/benchmark.json +e3aa529a10c636f73230d7324e58d44c018a835d415065af9c562a87f74e36d3 current-0/branch_write/branches_1/1000/new/estimates.json +50d11ef66756cbd249749b987aa5319ef85cd922237948488c89aed23a0a1a3f current-0/branch_write/branches_1/1000/new/sample.json +a38d66f45b129432ab0a658c9649c0a84fd3ca1cf6e4547f89bb24f097961366 current-0/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-0/branch_write/branches_16/1000/base/benchmark.json +e64cf0745439de00fb9809e3118e636c1d1a726faedcc23ead237f7b76e0ae9d current-0/branch_write/branches_16/1000/base/estimates.json +62a12cd654a1b9691fe9bc3f4dcdaaebe40f60df1eef6df5203504b75d2fc8a1 current-0/branch_write/branches_16/1000/base/sample.json +1105556f66aaa9254c66d82294386acac506e063c5df9aee121ea7ff270751ee current-0/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-0/branch_write/branches_16/1000/new/benchmark.json +e64cf0745439de00fb9809e3118e636c1d1a726faedcc23ead237f7b76e0ae9d current-0/branch_write/branches_16/1000/new/estimates.json +62a12cd654a1b9691fe9bc3f4dcdaaebe40f60df1eef6df5203504b75d2fc8a1 current-0/branch_write/branches_16/1000/new/sample.json +1105556f66aaa9254c66d82294386acac506e063c5df9aee121ea7ff270751ee current-0/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-0/branch_write/branches_256/1000/base/benchmark.json +fc1fe5cf3d6659ee2f55fd1b1b3e3ca3b73bd7bc31058331ddfbfc3a7efec69f current-0/branch_write/branches_256/1000/base/estimates.json +061f7cf12739dea43ecd5e1a7437c81248bdff88490f09ab9b22152adaa0c26d current-0/branch_write/branches_256/1000/base/sample.json +2b9ecb1646f8ce29db57d0516adfaa6a4555a30d88f9f198a1aa2ca5142617bd current-0/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-0/branch_write/branches_256/1000/new/benchmark.json +fc1fe5cf3d6659ee2f55fd1b1b3e3ca3b73bd7bc31058331ddfbfc3a7efec69f current-0/branch_write/branches_256/1000/new/estimates.json +061f7cf12739dea43ecd5e1a7437c81248bdff88490f09ab9b22152adaa0c26d current-0/branch_write/branches_256/1000/new/sample.json +2b9ecb1646f8ce29db57d0516adfaa6a4555a30d88f9f198a1aa2ca5142617bd current-0/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-0/branch_write/branches_64/1000/base/benchmark.json +c5e3c77adc7347cbef18d0c18034ea0defa8227f7f671c32ea1aa40c9869d77f current-0/branch_write/branches_64/1000/base/estimates.json +a5965669031d949bc915e399243e55e9c1b59feaeb56662232b0cc7349438e51 current-0/branch_write/branches_64/1000/base/sample.json +ef9be1a81b16b3375f5b298f8f1d09107e6582449543d7cadd1d54ecfd7ab62a current-0/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-0/branch_write/branches_64/1000/new/benchmark.json +c5e3c77adc7347cbef18d0c18034ea0defa8227f7f671c32ea1aa40c9869d77f current-0/branch_write/branches_64/1000/new/estimates.json +a5965669031d949bc915e399243e55e9c1b59feaeb56662232b0cc7349438e51 current-0/branch_write/branches_64/1000/new/sample.json +ef9be1a81b16b3375f5b298f8f1d09107e6582449543d7cadd1d54ecfd7ab62a current-0/branch_write/branches_64/1000/new/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-1/branch_write/branches_1/1000/base/benchmark.json +5cee9dec7e01136d297f16e4855889cb55e33e0355c4e1d4d3d23c94dfb83848 current-1/branch_write/branches_1/1000/base/estimates.json +b6bfb9fc45dc522308888b710d3fd1e3bbc133be006624d7678d135ce738739d current-1/branch_write/branches_1/1000/base/sample.json +9de09ba200e4bfc84fea5451a4f07b1f9ec8e1fdb66a1dcf6fd6a172b5c39994 current-1/branch_write/branches_1/1000/base/tukey.json +bc373aacc9ae37f8c84eac4f4e80b1e9ad2500428930b8001e8fd75f2f2b243e current-1/branch_write/branches_1/1000/new/benchmark.json +5cee9dec7e01136d297f16e4855889cb55e33e0355c4e1d4d3d23c94dfb83848 current-1/branch_write/branches_1/1000/new/estimates.json +b6bfb9fc45dc522308888b710d3fd1e3bbc133be006624d7678d135ce738739d current-1/branch_write/branches_1/1000/new/sample.json +9de09ba200e4bfc84fea5451a4f07b1f9ec8e1fdb66a1dcf6fd6a172b5c39994 current-1/branch_write/branches_1/1000/new/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-1/branch_write/branches_16/1000/base/benchmark.json +e9c16bb707b191c0e88a88d19267944215f81875df7425671e40b53159e2f877 current-1/branch_write/branches_16/1000/base/estimates.json +fca6d41853320a62736e6d25aed6949b7af675959900745ca9a9b4d73dfcaee5 current-1/branch_write/branches_16/1000/base/sample.json +6976e5bf3bb2138dbc608064804124856756d0c35ae49865802c87dd037932ab current-1/branch_write/branches_16/1000/base/tukey.json +0f856c441c42f5a6a8fe0f79f6468c54cb9e708782ab9593970c23bc91490014 current-1/branch_write/branches_16/1000/new/benchmark.json +e9c16bb707b191c0e88a88d19267944215f81875df7425671e40b53159e2f877 current-1/branch_write/branches_16/1000/new/estimates.json +fca6d41853320a62736e6d25aed6949b7af675959900745ca9a9b4d73dfcaee5 current-1/branch_write/branches_16/1000/new/sample.json +6976e5bf3bb2138dbc608064804124856756d0c35ae49865802c87dd037932ab current-1/branch_write/branches_16/1000/new/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-1/branch_write/branches_256/1000/base/benchmark.json +eaae9730db7933e09b2b14855c1a4fc371cd475fa6052a640d0c14d86ea4b536 current-1/branch_write/branches_256/1000/base/estimates.json +f5e8528a5f63bd8f3d9f9a79c7607fa5099a0efd2fa1f3d59011e1fac4d13114 current-1/branch_write/branches_256/1000/base/sample.json +75521b1bfd0d1ea06976b9ecebe9c922a3d28524f3c48b8a2a0a24738423b9a8 current-1/branch_write/branches_256/1000/base/tukey.json +684cc76d92887f2ecc8460d91658391ef8923d46d0bb34bf4043df322520e27b current-1/branch_write/branches_256/1000/new/benchmark.json +eaae9730db7933e09b2b14855c1a4fc371cd475fa6052a640d0c14d86ea4b536 current-1/branch_write/branches_256/1000/new/estimates.json +f5e8528a5f63bd8f3d9f9a79c7607fa5099a0efd2fa1f3d59011e1fac4d13114 current-1/branch_write/branches_256/1000/new/sample.json +75521b1bfd0d1ea06976b9ecebe9c922a3d28524f3c48b8a2a0a24738423b9a8 current-1/branch_write/branches_256/1000/new/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-1/branch_write/branches_64/1000/base/benchmark.json +cb750d341e366c7b62eb434a5e55082b3d8a3557483d695f104475a4da28c51c current-1/branch_write/branches_64/1000/base/estimates.json +1554b383ccaf521c8f8c60dd5e4391169eb1c81fde9aa3bf545363784d1073c1 current-1/branch_write/branches_64/1000/base/sample.json +c2dbe2dd8ca040530670e7807f38035625de492b75d20e92887f006e12ae1332 current-1/branch_write/branches_64/1000/base/tukey.json +f5183efe54ae909d2117c37efafbdc81bf3ca8e625189efa0f6d8b9918eb2486 current-1/branch_write/branches_64/1000/new/benchmark.json +cb750d341e366c7b62eb434a5e55082b3d8a3557483d695f104475a4da28c51c current-1/branch_write/branches_64/1000/new/estimates.json +1554b383ccaf521c8f8c60dd5e4391169eb1c81fde9aa3bf545363784d1073c1 current-1/branch_write/branches_64/1000/new/sample.json +c2dbe2dd8ca040530670e7807f38035625de492b75d20e92887f006e12ae1332 current-1/branch_write/branches_64/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/criterion-results.tar.gz new file mode 100644 index 0000000..195a242 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current-0.txt new file mode 100644 index 0000000..fc7b5ac --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current-0.txt @@ -0,0 +1,42 @@ +memcap: <=7694 MiB (60% of 12823 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 50 samples in estimated 2.0013 s (33k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [60.091 µs 60.727 µs 61.486 µs] + thrpt: [184.62 MiB/s 186.93 MiB/s 188.91 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 50 samples in estimated 2.0024 s (31k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [63.893 µs 64.257 µs 64.742 µs] + thrpt: [186.30 MiB/s 187.70 MiB/s 188.77 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0028 s (28k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [72.171 µs 72.502 µs 72.893 µs] + thrpt: [177.71 MiB/s 178.67 MiB/s 179.49 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0018 s (26k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [78.083 µs 80.055 µs 82.663 µs] + thrpt: [173.32 MiB/s 178.96 MiB/s 183.48 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 5 (10.00%) high mild + 3 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current-1.txt new file mode 100644 index 0000000..e318da8 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current-1.txt @@ -0,0 +1,42 @@ +memcap: <=7722 MiB (60% of 12870 MiB available) [systemd MemoryMax, swap off] +Benchmarking branch_write/branches_1/1000 +Benchmarking branch_write/branches_1/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_1/1000: Collecting 50 samples in estimated 2.0022 s (31k iterations) +Benchmarking branch_write/branches_1/1000: Analyzing +branch_write/branches_1/1000 + time: [61.189 µs 61.698 µs 62.354 µs] + thrpt: [182.05 MiB/s 183.99 MiB/s 185.52 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_16/1000 +Benchmarking branch_write/branches_16/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_16/1000: Collecting 50 samples in estimated 2.0022 s (30k iterations) +Benchmarking branch_write/branches_16/1000: Analyzing +branch_write/branches_16/1000 + time: [64.293 µs 64.886 µs 65.663 µs] + thrpt: [183.68 MiB/s 185.88 MiB/s 187.60 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking branch_write/branches_64/1000 +Benchmarking branch_write/branches_64/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_64/1000: Collecting 50 samples in estimated 2.0025 s (27k iterations) +Benchmarking branch_write/branches_64/1000: Analyzing +branch_write/branches_64/1000 + time: [73.081 µs 73.549 µs 74.112 µs] + thrpt: [174.79 MiB/s 176.12 MiB/s 177.25 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking branch_write/branches_256/1000 +Benchmarking branch_write/branches_256/1000: Warming up for 1.0000 s +Benchmarking branch_write/branches_256/1000: Collecting 50 samples in estimated 2.0030 s (25k iterations) +Benchmarking branch_write/branches_256/1000: Analyzing +branch_write/branches_256/1000 + time: [77.565 µs 77.913 µs 78.308 µs] + thrpt: [182.96 MiB/s 183.88 MiB/s 184.71 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current-build.txt new file mode 100644 index 0000000..29edb09 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current-build.txt @@ -0,0 +1,4 @@ +memcap: <=7693 MiB (60% of 12822 MiB available) [systemd MemoryMax, swap off] + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 26.98s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/harness.rs new file mode 100644 index 0000000..29b2c6a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/harness.rs @@ -0,0 +1,77 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(branches: usize, count: usize) -> (Arc, Vec) { + let declarations = (0..branches) + .map(|i| format!(r#""#)) + .collect::(); + let xsd = format!( + r#"{declarations}"# + ); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let body = (0..count) + .map(|i| format!("{i}", i % branches, i % branches)) + .collect::(); + let xml = format!("{body}").into_bytes(); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let mixed = schema.mixed_content.as_ref().unwrap(); + let field = &schema.fields[mixed.items_index].name; + let items = value.get(field).and_then(PolyValue::as_list).unwrap(); + assert_eq!(items.len(), count); + for (i, item) in items.iter().enumerate() { + assert_eq!(item.get("value"), Some(&PolyValue::Int(i as i64))); + let kind = item.get("kind").and_then(PolyValue::as_str).unwrap(); + let branch = mixed + .branches + .iter() + .find(|b| b.variant_name == kind) + .unwrap(); + assert_eq!(branch.xml_name, format!("B{}", i % branches).as_bytes()); + } + let output = serialize("Root", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + let output = serialize("Sensor", &value, &schema, None).unwrap(); + assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + (schema, xml) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["branch_read", "branch_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for branches in [1, 16, 64, 256] { + for count in [1, 1000] { + let (schema, xml) = fixture(branches, count); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_with_input( + BenchmarkId::new(format!("branches_{branches}"), count), + &count, + |b, _| { + b.iter(|| { + if operation == "branch_read" { + black_box( + deserialize(black_box(&xml), Arc::clone(&schema)).unwrap(), + ); + } else { + black_box( + serialize("Root", black_box(&value), &schema, None).unwrap(), + ); + } + }); + }, + ); + } + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/metadata.json new file mode 100644 index 0000000..9c8d89c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "6965d332c428025b93b4478bd1ad2d6ce03abe40" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^branch_write/.*/1000$", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/summary.json new file mode 100644 index 0000000..4ece130 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-screen/summary.json @@ -0,0 +1,210 @@ +{ + "branch_write/branches_1/1000": { + "baseline_ns": 64068.373261568966, + "candidate_ns": 61212.63413020503, + "delta_percent": -4.457330483021549, + "speedup": 1.0466527731070927, + "process_deltas_percent": [ + -5.245049999132312, + -3.6691106923678496 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63800.7358121911, + "upper_bound": 64443.595415980235 + }, + "point_estimate": 64088.71146622736, + "standard_error": 166.25943969459155 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63572.469198374, + "upper_bound": 64646.28346178864 + }, + "point_estimate": 64048.03505691058, + "standard_error": 276.49186281514653 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 60091.045939759024, + "upper_bound": 61485.52296159638 + }, + "point_estimate": 60727.22650602409, + "standard_error": 358.0600250005393 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 61188.860270334924, + "upper_bound": 62354.11178149921 + }, + "point_estimate": 61698.041754385966, + "standard_error": 300.75138234505755 + } + ] + } + }, + "branch_write/branches_16/1000": { + "baseline_ns": 70566.76519021482, + "candidate_ns": 64571.70487550528, + "delta_percent": -8.495586128327792, + "speedup": 1.0928434571499708, + "process_deltas_percent": [ + -9.330823280993572, + -7.6531387714126815 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 69570.21250816697, + "upper_bound": 72371.49594010891 + }, + "point_estimate": 70870.0407985481, + "standard_error": 718.204048167445 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 69742.73200435539, + "upper_bound": 70900.14873606274 + }, + "point_estimate": 70263.48958188153, + "standard_error": 297.6056869208539 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 63893.403749188314, + "upper_bound": 64741.72213636363 + }, + "point_estimate": 64257.28253246753, + "standard_error": 218.85442282601988 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 64292.868110099334, + "upper_bound": 65662.58534023179 + }, + "point_estimate": 64886.12721854304, + "standard_error": 353.0279894677143 + } + ] + } + }, + "branch_write/branches_256/1000": { + "baseline_ns": 171142.88642109386, + "candidate_ns": 78984.21229321675, + "delta_percent": -53.84896565383526, + "speedup": 2.1667986734583384, + "process_deltas_percent": [ + -52.86844274994815, + -54.81483741169233 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 168952.20360169493, + "upper_bound": 170984.6297838983 + }, + "point_estimate": 169854.63822033897, + "standard_error": 522.9176446745142 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 169430.36136974787, + "upper_bound": 177362.88299159665 + }, + "point_estimate": 172431.13462184876, + "standard_error": 2178.4224839571157 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 78083.43723046876, + "upper_bound": 82663.23590722657 + }, + "point_estimate": 80055.1360546875, + "standard_error": 1184.823894386814 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 77565.39852976197, + "upper_bound": 78308.33280257936 + }, + "point_estimate": 77913.28853174603, + "standard_error": 189.442899935951 + } + ] + } + }, + "branch_write/branches_64/1000": { + "baseline_ns": 100313.64065223752, + "candidate_ns": 73025.50365479851, + "delta_percent": -27.202817901944364, + "speedup": 1.3736795452508448, + "process_deltas_percent": [ + -28.391769247701802, + -25.99151282250004 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99923.45406393863, + "upper_bound": 102857.53202557542 + }, + "point_estimate": 101247.86767263425, + "standard_error": 754.8955456586958 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99115.30755970151, + "upper_bound": 99679.94338805972 + }, + "point_estimate": 99379.4136318408, + "standard_error": 144.70218047806426 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 72171.24650270761, + "upper_bound": 72893.20939891697 + }, + "point_estimate": 72501.80671480147, + "standard_error": 184.92866133406955 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 73080.7007053903, + "upper_bound": 74112.14106598512 + }, + "point_estimate": 73549.20059479555, + "standard_error": 265.1318868390715 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline-0.txt new file mode 100644 index 0000000..3bd0fc1 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline-0.txt @@ -0,0 +1,11 @@ +memcap: <=7636 MiB (60% of 12727 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0046 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [145.62 µs 147.82 µs 150.56 µs] + thrpt: [183.08 MiB/s 186.47 MiB/s 189.28 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 2 (4.00%) high mild + 6 (12.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline-1.txt new file mode 100644 index 0000000..9bc5ef5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline-1.txt @@ -0,0 +1,10 @@ +memcap: <=7687 MiB (60% of 12811 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0000 s (13k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [143.83 µs 144.67 µs 145.76 µs] + thrpt: [189.10 MiB/s 190.53 MiB/s 191.64 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 5 (10.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline-build.txt new file mode 100644 index 0000000..8c7ade9 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7702 MiB (60% of 12837 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.89s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/criterion-SHA256SUMS new file mode 100644 index 0000000..43009db --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/criterion-SHA256SUMS @@ -0,0 +1,32 @@ +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/base/benchmark.json +0fa9ae6ca1f5b648dbdea3051f98b77c8d9268a2baccee919aeb9ceb9129fe1b baseline-0/mixed_write/text/1000/base/estimates.json +36776b3e5a8966502b0e762ada44a3410f681699a3b35a4f34e112cff7e67e0d baseline-0/mixed_write/text/1000/base/sample.json +59d85b6c8366e726b93992fdf4d494c9b054418990150449d597935526ee06ac baseline-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/new/benchmark.json +0fa9ae6ca1f5b648dbdea3051f98b77c8d9268a2baccee919aeb9ceb9129fe1b baseline-0/mixed_write/text/1000/new/estimates.json +36776b3e5a8966502b0e762ada44a3410f681699a3b35a4f34e112cff7e67e0d baseline-0/mixed_write/text/1000/new/sample.json +59d85b6c8366e726b93992fdf4d494c9b054418990150449d597935526ee06ac baseline-0/mixed_write/text/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/base/benchmark.json +1bdffbf53cc74150945f585340990f59b41acee064f63d70a4e63a1da668e1a3 baseline-1/mixed_write/text/1000/base/estimates.json +8569ca0cd6f28a87b2655260284e0ff36232ce3dd33d8d122f5c332c84b7e984 baseline-1/mixed_write/text/1000/base/sample.json +970017e18595254dd1936a5c4bf630a5f198407b5dee91020459da98b9792789 baseline-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/new/benchmark.json +1bdffbf53cc74150945f585340990f59b41acee064f63d70a4e63a1da668e1a3 baseline-1/mixed_write/text/1000/new/estimates.json +8569ca0cd6f28a87b2655260284e0ff36232ce3dd33d8d122f5c332c84b7e984 baseline-1/mixed_write/text/1000/new/sample.json +970017e18595254dd1936a5c4bf630a5f198407b5dee91020459da98b9792789 baseline-1/mixed_write/text/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/base/benchmark.json +086ff42a7cb023c311034c39dc39cb3ce06b4d3b4edf75e6d72b58e812be9176 current-0/mixed_write/text/1000/base/estimates.json +d36f08f9a5895d49867c70fcf0f297d992a0f85edf390db7c5920e0a6f809b46 current-0/mixed_write/text/1000/base/sample.json +ec9db0a117099fb157fcb0905917b9b5694e6746833f360517f1b2f5016156ed current-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/new/benchmark.json +086ff42a7cb023c311034c39dc39cb3ce06b4d3b4edf75e6d72b58e812be9176 current-0/mixed_write/text/1000/new/estimates.json +d36f08f9a5895d49867c70fcf0f297d992a0f85edf390db7c5920e0a6f809b46 current-0/mixed_write/text/1000/new/sample.json +ec9db0a117099fb157fcb0905917b9b5694e6746833f360517f1b2f5016156ed current-0/mixed_write/text/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/base/benchmark.json +4fb65612f511511c9db76974ff31e1972241cd2222544f6724d44fc9631e146f current-1/mixed_write/text/1000/base/estimates.json +589c76e4f4f80656f46cfee929b2ff069385e2df89f8597a74cbc7b984bd6ad5 current-1/mixed_write/text/1000/base/sample.json +908e01934df69c766aea59c0383b69e75c50712829e10467bd97629b32d99935 current-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/new/benchmark.json +4fb65612f511511c9db76974ff31e1972241cd2222544f6724d44fc9631e146f current-1/mixed_write/text/1000/new/estimates.json +589c76e4f4f80656f46cfee929b2ff069385e2df89f8597a74cbc7b984bd6ad5 current-1/mixed_write/text/1000/new/sample.json +908e01934df69c766aea59c0383b69e75c50712829e10467bd97629b32d99935 current-1/mixed_write/text/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/criterion-results.tar.gz new file mode 100644 index 0000000..09b763a Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current-0.txt new file mode 100644 index 0000000..2f0d1bd --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current-0.txt @@ -0,0 +1,11 @@ +memcap: <=7649 MiB (60% of 12749 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0037 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [142.12 µs 142.91 µs 143.81 µs] + thrpt: [191.67 MiB/s 192.88 MiB/s 193.95 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current-1.txt new file mode 100644 index 0000000..6d2b586 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current-1.txt @@ -0,0 +1,11 @@ +memcap: <=7671 MiB (60% of 12786 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0027 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [142.53 µs 144.54 µs 146.95 µs] + thrpt: [187.58 MiB/s 190.70 MiB/s 193.39 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current-build.txt new file mode 100644 index 0000000..c38a8b9 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7644 MiB (60% of 12740 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-index/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.87s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/harness.rs new file mode 100644 index 0000000..f276972 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/harness.rs @@ -0,0 +1,122 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let extra = (0..256).map(|i| format!(r#""#)).collect::(); + let xsd = xsd.replace("", &format!("{extra}")); + let ir = XsdParser::new().parse_str(&xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["mixed_read", "mixed_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for kind in ["text", "scalar", "enum", "pattern", "nested"] { + let (schema, xml) = fixture(kind, 1000); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function(BenchmarkId::new(kind, 1000), |b| { + if operation == "mixed_read" { + b.iter(|| { + black_box(deserialize(black_box(&xml), Arc::clone(&schema)).unwrap()) + }); + } else { + b.iter(|| { + black_box(serialize("Root", black_box(&value), &schema, None).unwrap()) + }); + } + }); + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/metadata.json new file mode 100644 index 0000000..336c506 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "58cb346f964b5196dfad62e8a62a8aa4beb9beef" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^mixed_write/text/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/summary.json new file mode 100644 index 0000000..4c9bf8a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-branch-index-text-large/summary.json @@ -0,0 +1,54 @@ +{ + "mixed_write/text/1000": { + "baseline_ns": 146248.0560868914, + "candidate_ns": 143724.580183045, + "delta_percent": -1.725476544007598, + "speedup": 1.0175577197764818, + "process_deltas_percent": [ + -3.323216608160251, + -0.0929517499600685 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 145622.3888309091, + "upper_bound": 150557.37318363634 + }, + "point_estimate": 147822.91120000003, + "standard_error": 1269.8438143015371 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 143829.50069475657, + "upper_bound": 145761.46011235955 + }, + "point_estimate": 144673.20097378275, + "standard_error": 498.1063140449954 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142120.05620804193, + "upper_bound": 143811.8948898601 + }, + "point_estimate": 142910.43566433564, + "standard_error": 433.17302734850045 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142531.88053508772, + "upper_bound": 146945.61416842102 + }, + "point_estimate": 144538.72470175437, + "standard_error": 1133.5231194472792 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-index-gate-sampled.log b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-index-gate-sampled.log new file mode 100644 index 0000000..6db7872 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-index-gate-sampled.log @@ -0,0 +1,771 @@ +memcap: <=7680 MiB (60% of 12801 MiB available) [systemd MemoryMax, swap off] +==> [1/6] Running Rust format check (cargo fmt)... +==> [2/6] Running Rust Clippy (cargo clippy -D warnings)... + Checking polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling pyo3-ffi v0.29.2 + Compiling pyo3 v0.29.2 + Checking polyxml-cli v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-cli) + Checking polyxml-js v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-js) + Checking polyxml-wasm v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-wasm) + Checking polyxml-python v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-python) + Checking polyxml-c v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-c) + Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.16s +==> [3/6] Running Rust workspace tests (cargo test)... + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling polyxml-cli v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-cli) + Compiling pyo3-ffi v0.29.2 + Compiling pyo3 v0.29.2 + Compiling polyxml-wasm v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-wasm) + Compiling polyxml-js v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-js) + Compiling polyxml-python v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-python) + Compiling polyxml-c v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-c) + Finished `test` profile [unoptimized + debuginfo] target(s) in 17.63s + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml-675b717e531d04ed) + +running 16 tests +test integer::tests::comparison_uses_sign_and_magnitude ... ok +test ir::chunker::tests::test_topological_scc_chunking_dag_invariants ... ok +test ir::root_selection_tests::inherited_base_does_not_select_sibling_types ... ok +test ir::root_selection_tests::rejects_missing_and_ambiguous_roots ... ok +test json::tests::test_json_deserialization_accepts_python_field_names ... ok +test ir::root_selection_tests::keeps_references_descendants_and_substitutions ... ok +test json::tests::test_json_roundtrip_primitives ... ok +test ir::root_selection_tests::field_reference_keeps_substitution_group_members ... ok +test tests::test_deserialization_does_not_confuse_xmlns_with_attributes ... ok +test tests::test_namespaced_serialization ... ok +test tests::test_nested_elements_and_lists ... ok +test tests::test_streaming_xml_item_stream ... ok +test tests::test_roundtrip_serialization_deserialization ... ok +test pattern::tests::bounded_cache_evicts_and_retains_invalid_results ... ok +test pattern::tests::cache_matches_uncached_regex_under_churn_and_concurrency ... ok +test pattern::tests::cyclic_working_set_above_capacity_keeps_reusing_entries ... ok + +test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s + + Running tests/test_adversarial_identifiers.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_adversarial_identifiers-34056256ccaa17cb) + +running 7 tests +test test_rust_adversarial_compilation ... ok +test test_python_adversarial_compilation ... ok +test test_go_adversarial_compilation ... ok +test test_cpp_adversarial_compilation ... ok +test test_java_adversarial_compilation ... ok +test test_typescript_adversarial_compilation ... ok +test test_csharp_adversarial_compilation ... ok + +test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.71s + + Running tests/test_any_attribute.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_any_attribute-d5795d9c5e0fdefd) + +running 1 test +test test_any_attribute_schema_parser_and_runtime_roundtrip ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_any_element.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_any_element-1fb225d6616938e8) + +running 2 tests +test test_any_element_go_codegen ... ok +test test_any_element_schema_parser_and_runtime_roundtrip ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_conformance.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_conformance-0b37810d65fedfce) + +running 4 tests +test test_soap_envelope_conformance ... ok +test test_atom_feed_conformance ... ok +test test_ubl_invoice_conformance ... ok +test test_streaming_catalog_conformance ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s + + Running tests/test_core.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_core-f4cc1079f88df2bc) + +running 9 tests +test test_error_handling_invalid_scalars ... ok +test test_gregorian_partial_date_lexical_validation ... ok +test test_all_scalar_types ... ok +test integer_mappings_keep_fixed_width_builtins ... ok +test test_malformed_xml_syntax_error ... ok +test test_roundtrip_serialization_with_indentation ... ok +test test_xsi_nil_handling ... ok +test unbounded_integers_round_trip_and_compare_exact_bounds ... ok +test test_xsd_gregorian_fields_round_trip_and_reject_invalid_dates ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_cpp_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_cpp_codegen-a4cd5571504c64d5) + +running 14 tests +test test_cpp_cmake_modules_file_set ... ok +test test_cpp_cmake_and_meson_generation ... ok +test simple_aliases_follow_their_base_types ... ok +test test_cpp_mode_and_backend_from_str_loose ... ok +test test_cpp_glaze_backend_meta_generation ... ok +test test_cpp_sanitization ... ok +test mixed_content_mutual_cycle_compiles ... ok +test mixed_content_self_cycle_compiles ... ok +Choice pattern matching passed. +test test_cpp_choice_variant_compilation ... ok +Inheritance test passed. +test test_cpp_inheritance_codegen ... ok +Recursive tree unique_ptr passed. +test test_cpp_recursive_cycle_unique_ptr ... ok +All C++20 tests passed successfully. +test test_cpp_struct_and_enum_codegen_compilation ... ok +test test_cpp_modules_compilation ... ok +ISO 20022 pacs.008 C++20 test passed. +test test_cpp_from_xsd_schema ... ok + +test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.87s + + Running tests/test_csharp_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_csharp_codegen-cf32febf6e7f0777) + +running 20 tests +test choice_variants_avoid_record_member_names ... ok +test emits_unrestricted_simple_types_and_validates_empty_records ... ok +test test_csharp_record_kind_from_str_loose ... ok +test test_csharp_any_attribute_codegen ... ok +test test_csharp_date_or_datetime_lexical_union ... ok +test test_csharp_sanitization ... ok +test test_csharp_sequence_nested_inside_choice_codegen ... ok +test test_csharp_source_gen_context ... ok + Determining projects to restore... + Restored /tmp/.tmp47hEKw/PaymentsApp.csproj (in 176 ms). + PaymentsApp -> /tmp/.tmp47hEKw/bin/Debug/net8.0/PaymentsApp.dll + +Build succeeded. + 0 Warning(s) + 0 Error(s) + +Time Elapsed 00:00:01.24 +Choice pattern matching and XML serialization passed! +test test_csharp_choice_polymorphic_hierarchy ... ok +test unbounded_integer_xml_preserves_digits ... ok + Determining projects to restore... + Restored /tmp/.tmpRaMWjQ/CrmApp.csproj (in 167 ms). + CrmApp -> /tmp/.tmpRaMWjQ/bin/Debug/net8.0/CrmApp.dll + +Build succeeded. + 0 Warning(s) + 0 Error(s) + +Time Elapsed 00:00:01.06 +Customer C# tests passed cleanly! +test test_csharp_records_and_enums_generation ... ok + Determining projects to restore... + Restored /tmp/.tmp8ok7fy/TreeApp.csproj (in 169 ms). + TreeApp -> /tmp/.tmp8ok7fy/bin/Debug/net8.0/TreeApp.dll + +Build succeeded. + 0 Warning(s) + 0 Error(s) + +Time Elapsed 00:00:01.01 +Recursive tree C# tests passed cleanly! +test test_csharp_recursive_cycle ... ok +test test_csharp_mutable_inheritance_roundtrip ... ok +test test_csharp_mutable_wrappers_and_choices_without_validation ... ok +test test_csharp_simple_content_class_validator_and_unsealed_records ... ok +test fixed_values_are_enforced_on_read_and_write ... ok +test element_defaults_preserve_absence_and_empty_presence ... ok +test lexical_union_attributes_round_trip ... ok +test nillable_enum_collection_round_trips ... ok +test particle_wire_structure_round_trips ... ok + +test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 50.18s + + Running tests/test_go_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_go_codegen-005c45ed4341be87) + +running 25 tests +test root_alias_names_are_unique_after_go_normalization ... ok +test referenced_element_uses_declared_type_after_includes ... ok +test test_go_any_attribute_codegen ... ok +test test_go_backend_from_str_loose ... ok +go: creating new go.mod: module payments +go: to add module requirements and sums: + go mod tidy +test imported_ordered_types_do_not_add_unused_bytes_import ... ok +test test_go_date_or_datetime_lexical_union ... ok +test test_go_easyjson_backend ... ok +test test_go_enum_only_schema_omits_unused_xml_import ... ok +test duplicate_choice_names_reject_invalid_branch_shapes ... ok +go: creating new go.mod: module tree +go: to add module requirements and sums: + go mod tidy +test nested_lexical_unions_compile_and_round_trip_in_go ... ok +test test_go_sanitization ... ok +test test_go_sonic_backend ... ok +go: creating new go.mod: module crm +go: to add module requirements and sums: + go mod tidy +test repeated_choice_branch_rejects_mixed_and_empty_selections ... ok +test separate_choices_enforce_each_group ... ok +test abstract_substitution_heads_are_rejected ... ok +test repeated_sequence_groups_enforce_bounds_and_order ... ok +test test_go_abstract_xsi_type_dispatch ... ok +test roots_and_union_attributes_round_trip ... ok +=== RUN TestChoiceMutualExclusivity + payments_test.go:44: Correctly rejected concurrent choice branches: choice ContactChoice mutual exclusivity violation: multiple branches populated (2) +--- PASS: TestChoiceMutualExclusivity (0.00s) +PASS +ok payments 0.003s +test test_go_choice_mutual_exclusivity ... ok +test temporal_scalars_preserve_xsd_lexical_values ... ok +test test_go_namespaced_element_ref_matching ... ok +=== RUN TestRecursiveTree +--- PASS: TestRecursiveTree (0.00s) +PASS +ok tree 0.003s +test test_go_recursive_cycle_pointers ... ok +=== RUN TestCustomerRoundtrip +--- PASS: TestCustomerRoundtrip (0.00s) +PASS +ok crm 0.005s +test unbounded_integer_xml_preserves_digits ... ok +test test_go_struct_and_enum_generation ... ok +test ordered_particles_and_choice_branches_round_trip ... ok + +test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.12s + + Running tests/test_java_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_java_codegen-a6078e165fc64681) + +running 17 tests +test test_java_jackson_backend_enum_annotations ... ok +test test_java_jackson_backend_from_str_loose ... ok +test test_java_identifier_sanitization ... ok +test test_direct_codec_rejects_wildcards_and_name_collisions ... ok +test test_java_jackson_backend_simple_type_annotations ... ok +test test_java_jackson_backend_struct_annotations ... ok +test test_java_bean_validation_annotations_are_opt_in ... ok +test test_java_jackson_backend_union_annotations ... ok +test jackson3_preserves_core_annotations_and_maps_record_text ... ok +test test_java_plain_record_inlines_base_fields ... ok +test test_java_sealed_interface_choice ... ok +test test_java_module_container_class ... ok +test test_java_records_and_enums_generation ... ok +test test_java_plain_record_extension_javac_execute ... ok +test test_java_record_builder_and_nested_codec_execute ... ok +test test_java_mutable_builders_and_direct_codecs_execute ... ok +test test_java_direct_nil_lists_choices_and_namespaces ... ok + +test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.53s + + Running tests/test_json.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_json-74440efee0e911e7) + +running 4 tests +test test_json_scalar_coercion ... ok +test test_json_nested_objects_and_lists ... ok +test test_json_primitives_and_alias_modes ... ok +test test_polyvalue_direct_json_methods ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_lexical_lists.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_lexical_lists-0f6750d9c4bf9a3c) + +running 2 tests +test named_list_items_enforce_facets_and_enumerations ... ok +test typed_lexical_lists_round_trip_across_codecs ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.29s + + Running tests/test_lexical_union_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_lexical_union_codegen-3c208893561d2732) + +running 2 tests +test lexical_union_xml_selects_first_valid_member_and_round_trips ... ok +test lexical_unions_are_typed_in_all_targets ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_mixed_branch_lookup.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_mixed_branch_lookup-b361da17b3391045) + +running 1 test +test large_mixed_tables_keep_first_match_metadata_edits_records_and_nil ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running tests/test_mixed_content.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_mixed_content-1a697ad935ae2797) + +running 5 tests +test mixed_items_field_avoids_existing_attribute_name ... ok +test parser_builds_ordered_mixed_content_union ... ok +test mixed_content_preserves_text_and_child_order ... ok +test mixed_content_preserves_nested_child_order ... ok +test generated_models_keep_typed_content_items_in_all_targets ... ok + +test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_mixed_nil.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_mixed_nil-9410990f6ba737b9) + +running 2 tests +test nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings ... ok +test nil_instance_prefix_does_not_rebind_the_element_namespace ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_pattern_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_pattern_codegen-5eee5f9fe2ed3d1a) + +running 9 tests +test generated_typescript_pattern_validation_all_backends ... ok +test pattern_restrictions_preserve_or_groups_and_inherited_and_steps ... ok +test gregorian_primitives_emit_validated_types_across_targets ... ok +test generated_python_pattern_validation ... ok +test generated_go_pattern_validation_and_xml_roundtrip ... ok +test generated_java_pattern_validation_and_direct_codecs ... ok +test generated_rust_pattern_validation_and_xml_roundtrip ... ok +test generated_cpp_pattern_validation ... ok +test generated_csharp_pattern_validation ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.02s + + Running tests/test_python_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_python_codegen-cc734e908fb39fb6) + +running 16 tests +test test_identifier_sanitization ... ok +test multiline_xsd_documentation_stays_inside_python_comments ... ok +test test_python_abstract_meta_emission ... ok +test test_python_choice_union_codegen ... ok +test test_python_any_attribute_codegen ... ok +test test_python_codecs_generation ... ok +test test_python_dataclass_codegen ... ok +test test_python_generated_tag_and_custom_header ... ok +test test_python_any_element_codegen ... ok +test test_python_pydantic_codegen_with_facets ... ok +test test_python_recursive_type_codegen ... ok +test test_python_aot_codegen ... ok +test test_python_derived_meta_inheritance ... ok +test test_python_simplecontent_default_factory ... ok +test test_python_sequence_nested_inside_choice_codegen ... ok +test quoted_docstrings_preserve_text_and_remain_valid_python ... ok + +test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s + + Running tests/test_qualified_attributes.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_qualified_attributes-f8397a31cf1ecf15) + +running 5 tests +test global_attribute_references_round_trip_by_namespace ... ok +test imported_inline_global_attribute_enum_round_trips ... ok +test derived_validators_preserve_base_constraints ... ok +test lexical_dependencies_compile_and_round_trip_without_implicit_imports ... ok +test inherited_attribute_and_distinct_element_keep_separate_property_names ... ok + +test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.19s + + Running tests/test_runtime_fast_paths.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_runtime_fast_paths-7bf9091b7252b7db) + +running 6 tests +test repeated_lexical_lists_keep_whitespace_validation ... ok +test repeated_nested_records_validate_their_own_lexical_lists ... ok +test lexical_list_formatting_preserves_escaping_empty_lists_and_long_numbers ... ok +test indexed_scalar_state_preserves_enum_pattern_and_split_text ... ok +test cached_patterns_keep_raw_restriction_and_trimmed_pattern_semantics ... ok +test unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_rust_codecs.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_rust_codecs-9692e165bd5e14bf) + +running 4 tests +test test_order_choice_roundtrip ... ok +test test_facet_validation_min_max_length ... ok +test test_empty_element_codec ... ok +test test_recursive_boxing_roundtrip ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_rust_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_rust_codegen-8bce8b4b67c7eca3) + +running 26 tests +test test_rust_attribute_codec_loop_syntax ... ok +test multiline_docs_and_raw_field_names_are_valid_source ... ok +test test_rust_codecs_codegen ... ok +test test_rust_digit_prefixed_module_sanitization ... ok +test test_rust_choice_union_codegen ... ok +test test_rust_identifier_sanitization ... ok +test test_rust_enum_and_methods ... ok +test test_rust_extension_base_cycle_cut ... ok +test test_rust_owned_codegen ... ok +test test_rust_phf_dispatch_uniquifies_like_field_metas ... ok +test test_rust_rkyv_derives ... ok +test test_rust_phf_dispatch_union_groups_branch_tags ... ok +test test_rust_simple_type_cycle_resilience ... ok +test test_rust_extension_inlines_base_fields ... ok +test test_rust_simple_content_extension_shadow_rule ... ok +test test_rust_simple_content_text_codec ... ok +test test_rust_topological_scc_chunking ... ok +test test_rust_zero_copy_codegen ... ok +test test_rust_read_element_text_accumulates_refs_and_cdata ... ok +test test_rust_recursive_cycle_boxing ... ok +test test_rust_phf_dispatch_emission ... ok +test test_rust_extension_codecs_decode_and_encode_base_fields ... ok +test empty_modules_compile_without_unused_reexports ... ok +test binary_lexical_values_compile_and_round_trip_in_owned_and_borrowed_modes ... ok +test duplicate_wire_names_keep_distinct_json_values ... ok +test named_choice_wrappers_round_trip_without_unreachable_dispatch ... ok + +test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 15.38s + + Running tests/test_schema_audit.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_schema_audit-24992dfb5b4a626c) + +running 13 tests +test distinct_values_with_colliding_variant_names_stay_unique ... ok +test derived_simple_type_inherits_base_patterns ... ok +test duplicate_enumeration_values_are_deduped ... ok +test quick_xml_serde_skips_unknown_elements ... ok +test generated_rust_has_no_deny_unknown_fields ... ok +test all_languages_disambiguate_flat_collision ... ok +test named_group_reference_fields_are_parsed ... ok +test rust_flat_output_has_no_colliding_type_names ... ok +test simple_content_extension_emits_value_field ... ok +test nested_inline_complex_type_is_extracted_not_leaked ... ok +test chameleon_include_adopts_including_namespace_per_includer ... ok +test restricted_simple_types_emit_named_aliases ... ok +test diamond_includes_do_not_duplicate_upa_source_documents ... ok + +test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_schema_ir.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_schema_ir-f793c1b9895343c7) + +running 20 tests +test global_attribute_reference_uses_declared_type ... ok +test test_language_context_adapter ... ok +test schema_errors_preserve_forward_imports_and_annotation_payloads ... ok +test missing_included_schema_is_an_error ... ok +test consumed_particles_do_not_swallow_following_declarations ... ok +test derived_complex_type_keeps_base_and_bounded_choice ... ok +test inline_list_item_types_preserve_enum_and_union_declarations ... ok +test consumed_child_subtrees_do_not_swallow_following_types ... ok +test test_tarjan_mutual_recursive_cycle_detection_and_boxing ... ok +test test_parse_lexical_union_member_types_and_inline_members ... ok +test schema_for_schemas_declared_types_are_not_unknown_builtins ... ok +test test_substitution_groups ... ok +test test_minijinja_template_engine_and_filters ... ok +test test_tarjan_self_recursive_cycle_detection_and_boxing ... ok +test test_list_fields_do_not_trigger_spurious_cycles ... ok +test test_parse_complex_type_and_facets ... ok +test xml_prefix_is_available_without_explicit_declaration ... ok +test imported_inline_global_attribute_types_are_resolved ... ok +test test_sequence_nested_inside_choice_preserved_in_ir ... ok +test test_parse_choice_as_union ... ok + +test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_security.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_security-c3afa670f1d6c619) + +running 6 tests +test test_malformed_unclosed_cdata_rejection ... ok +test test_numeric_character_references ... ok +test test_cdata_section_handling ... ok +test test_xml_entity_roundtrip_escaping ... ok +test unsupported_general_entities_are_rejected ... ok +test test_max_depth_recursion_limit ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_temporal_union.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_temporal_union-e25d1f9b83e2fdc4) + +running 2 tests +test go_temporal_union_preserves_branches_and_lexicals ... ok +test csharp_temporal_union_preserves_branches_and_lexicals ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.05s + + Running tests/test_transcoder.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_transcoder-6854114408316a2e) + +running 6 tests +test test_schemaless_pretty_transcoding ... ok +test test_schemaless_preserves_refs_cdata_and_attr_entities ... ok +test test_transcoder_errors ... ok +test test_schemaless_xml_to_json_and_back ... ok +test test_schema_directed_transcoding ... ok +test test_schema_from_ir_transcoding ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_ts_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_ts_codegen-4e67290c9758f4d9) + +running 9 tests +test test_ts_backend_from_str_loose ... ok +test test_ts_identifier_sanitization ... ok +test test_ts_recursive_cycle_zod_lazy ... ok +test test_ts_discriminated_union_choice ... ok +test test_ts_interface_and_enum_codegen ... ok +test test_ts_valibot_schema_generation ... ok +test test_ts_typebox_schema_generation ... ok +test test_ts_zod_schema_generation ... ok +test mixed_content_inheritance_compiles_with_widened_items ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s + + Running tests/test_ubl_csharp.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_ubl_csharp-b04bc8d2d5f891c2) + +running 2 tests +test unprefixed_xsd_builtin_simple_content_base_uses_default_namespace ... ok +test multi_namespace_roots_and_inherited_simple_content_compile_and_round_trip ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.97s + + Running tests/test_unbounded_choice.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_unbounded_choice-7672e62aa5ecca1a) + +running 1 test +go: creating new go.mod: module testmod +go: to add module requirements and sums: + go mod tidy +=== RUN TestUnboundedChoiceOrder +--- PASS: TestUnboundedChoiceOrder (0.00s) +PASS +ok testmod 0.002s +test test_unbounded_choice_ir_and_all_targets ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s + + Running tests/test_upa.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_upa-a20019d257c7eac5) + +running 6 tests +test local_form_and_in_scope_qnames_distinguish_namespaces ... ok +test model_groups_derivation_and_substitution_members_are_checked ... ok +test imported_groups_and_chameleon_wildcards_keep_source_namespaces ... ok +test all_groups_and_wildcard_namespaces_are_checked ... ok +test optional_siblings_and_choice_lookahead_violate_upa ... ok +test occurrence_ranges_keep_particle_identity_and_count_boundaries ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_value_constraints.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_value_constraints-73eb81a96de588c1) + +running 2 tests +test fixed_constraints_cover_input_and_output_in_value_space ... ok +test repeated_particle_cardinality_belongs_to_the_group ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_xsi_type.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_xsi_type-2c07a0776bd0ec60) + +running 11 tests +test abstract_type_without_derivations_errors ... ok +test plain_type_attribute_is_not_mistaken_for_dispatch ... ok +test from_ir_flattens_base_fields_and_registers_variants ... ok +test abstract_type_requires_concrete_selector ... ok +test iterparse_dispatches_each_streamed_item ... ok +test nil_abstract_complex_type_skips_concrete_dispatch ... ok +test root_xsi_type_dispatch_including_empty_element ... ok +test variant_serialization_requires_namespaces ... ok +test nested_xsi_type_dispatch_and_round_trip ... ok +test unknown_xsi_type_on_abstract_type_errors ... ok +test xsi_type_resolves_namespace_inherited_from_parent ... ok + +test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml-4ccc220bbd6a27a0) + +running 2 tests +test tests::test_c_abi_nested_list_batch_roundtrip ... ok +test tests::test_c_abi_namespaced_roundtrip ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml_cli-dabf613ae4318f1b) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/main.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml-cec02944de7101b9) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_cli.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_cli-714ccf0c30d96734) + +running 47 tests +test fish_completion_filters_values_when_available ... ok +test manifest_generation_does_not_ignore_cli_overrides ... ok +Loading manifest: /tmp/.tmp0HGjUl/polyxml.toml +Compiling schema: /tmp/.tmp0HGjUl/model.xsd + Namespace: urn:app + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Emitting target [csharp] into /tmp/.tmp0HGjUl/cs +Emitting target [ts] into /tmp/.tmp0HGjUl/ts +Emitting target [go] into /tmp/.tmp0HGjUl/go +Emitting target [rust] into /tmp/.tmp0HGjUl/rs +Build finished successfully. +test test_cli_build_polyxml_manifest_with_new_features ... ok +Parsing schema: /tmp/.tmpFAAgCE/customer.xsd + Namespace: urn:crm + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_csharp_source_gen_and_record_struct ... ok +test test_cli_cpp_modules_and_glaze ... ok +test test_cli_generate_custom_header_and_generated_tags ... ok +test jackson3_cli_and_manifest_emit_equivalent_models ... ok +test test_cli_generate_dry_run ... ok +test imported_substitution_helpers_do_not_require_spurious_module_owners ... ok +test test_cli_generate_help ... ok +Parsing schema: /tmp/.tmpybnChH/service.xsd + Namespace: urn:service + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test python_features_respect_manifest_false_values_and_backend ... ok +test test_cli_generate_multi_lang ... ok +Parsing schema: /tmp/.tmpybnChH/service.xsd +test test_cli_generate_python_backends ... ok +test retained_imported_ordered_helpers_belong_to_the_unique_namespace_module ... ok + Namespace: urn:service + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_go_easyjson_and_sonic_backend ... ok +Loading manifest: /tmp/.tmpbyI5tv/polyxml.toml +Compiling schema: /tmp/.tmpbyI5tv/schema.xsd +test test_cli_help ... ok +test test_cli_generate_rust_zero_copy_and_owned ... ok + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Emitting target [rust] into /tmp/.tmpbyI5tv/rs +Emitting target [go] into /tmp/.tmpbyI5tv/go +Emitting target [csharp] into /tmp/.tmpbyI5tv/cs +Build finished successfully. +test test_cli_manifest_custom_header_workspace_and_target_override ... ok +test test_cli_python_aot_generation ... ok +Parsing schema: /tmp/.tmpsorofI/event.xsd +go: creating new go.mod: module crm +go: to add module requirements and sums: + go mod tidy + Namespace: urn:events + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_multiple_root_element_selection ... ok +test test_cli_rust_phf_feature ... ok +test completion_candidates_follow_target_validation ... ok +Parsing schema: /tmp/.tmpk4zbCp/event.xsd + Namespace: urn:events + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_rust_rkyv_feature ... ok +test test_cli_python_aot_rejects_dataclass_style_and_slots ... ok +test test_cli_transcode_bidirectional ... ok +test invalid_schema_grammar_and_types_fail_before_generation ... ok +Parsing schema: /tmp/.tmpesliRY/item.xsd + Namespace: urn:store + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +Parsing schema: /tmp/.tmpesliRY/item.xsd +test test_cli_validate_valid_and_invalid ... ok + Namespace: urn:store + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_typescript_valibot_and_typebox_backend ... ok +test bash_completion_filters_values_in_the_shell ... ok +test unified_help_shows_generation_options ... ok +test test_cli_root_element_selection ... ok +test test_polyxml_toml_manifest_build ... ok +test test_root_selection_keeps_imported_module_types ... ok +test test_java_csharp_model_style_options_and_manifest ... ok +test unified_manifest_forms_generate_identical_output_and_validate_early ... ok +test zsh_completion_filters_values_when_available ... ok +test unsupported_xsd_alternatives_fail_explicitly ... ok +test validate_and_generate_reject_upa_violations ... ok +test unified_options_fail_before_schema_io_including_dry_run ... ok +test unified_supported_backends_and_styles_validate ... ok +=== RUN TestAccountE2E +--- PASS: TestAccountE2E (0.00s) +PASS +ok crm 0.003s +test test_cli_go_generation ... ok +E2E C++20 driver passed! +test test_cli_cpp_generation ... ok +test test_cli_java_generation ... ok +test test_cli_shared_modules_deduplication ... ok + Determining projects to restore... +test test_cli_rust_split_units_and_chunking ... ok + Restored /tmp/.tmpDrTV5j/cli_csharp_app/CrmCliApp.csproj (in 202 ms). +test test_cli_typescript_generation ... ok + CrmCliApp -> /tmp/.tmpDrTV5j/cli_csharp_app/bin/Debug/net8.0/CrmCliApp.dll + +Build succeeded. + 0 Warning(s) + 0 Error(s) + +Time Elapsed 00:00:01.32 +E2E C# CLI test passed successfully! +test test_cli_csharp_generation ... ok + +test result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.16s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml_js-878a75d7b7901cc9) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/_polyxml-a668b0910babaf29) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml_wasm-d510c7f48918b595) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests polyxml + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests polyxml_cli + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests polyxml_wasm + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +==> [4/6] Compiling Python PyO3 extension (maturin develop)... +🍹 Building a mixed python/rust project +🐍 Found CPython 3.14 at /home/bailey/github/polyxml-mixed-index/.venv/bin/python +🔗 Found pyo3 bindings with abi3-py3.12 support +📡 Using build options features from pyproject.toml +Using Python 3.14.4 environment at: /home/bailey/github/polyxml-mixed-index/.venv +Checked 6 packages in 0.61ms + Compiling pyo3-ffi v0.29.2 + Compiling pyo3 v0.29.2 + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling polyxml-python v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-python) + Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.40s +📦 Built wheel for abi3 Python ≥ 3.12 to /tmp/.tmpWqpCqR/polyxml-0.34.6-cp312-abi3-linux_x86_64.whl +✏️ Setting installed package as editable +🛠 Installed polyxml-0.34.6 +==> [5/6] Running Python Ruff checks... +All checks passed! +10 files already formatted +==> [6/6] Running Python tests with 100% statement & branch coverage... +........................................................................ [ 64%] +........................................ [100%] +================================ tests coverage ================================ +_______________ coverage: platform linux, python 3.14.4-final-0 ________________ + +Name Stmts Miss Branch BrPart Cover Missing +--------------------------------------------------- +TOTAL 181 0 58 0 100% + +3 files skipped due to complete coverage. +Required test coverage of 100% reached. Total coverage: 100.00% +112 passed in 0.49s +✨ All PolyXML dual-language quality gates passed! diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-index-gate.log b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-index-gate.log new file mode 100644 index 0000000..3eafa67 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-index-gate.log @@ -0,0 +1,937 @@ +memcap: <=7668 MiB (60% of 12781 MiB available) [systemd MemoryMax, swap off] +==> [1/6] Running Rust format check (cargo fmt)... +==> [2/6] Running Rust Clippy (cargo clippy -D warnings)... + Compiling syn v3.0.5 + Checking serde_core v1.0.229 + Checking memchr v2.8.3 + Compiling serde_derive v1.0.229 + Checking serde v1.0.229 + Compiling syn v2.0.119 + Checking lexical-util v1.0.7 + Checking siphasher v1.0.3 + Checking phf_shared v0.14.0 + Checking zmij v1.0.23 + Checking aho-corasick v1.1.5 + Checking regex-syntax v0.8.11 + Checking fastrand v2.5.0 + Checking itoa v1.0.18 + Checking serde_json v1.0.151 + Checking regex-automata v0.4.18 + Checking lexical-parse-integer v1.0.6 + Checking lexical-write-integer v1.0.6 + Checking lexical-write-float v1.0.6 + Checking lexical-parse-float v1.0.6 + Checking regex v1.13.1 + Checking phf_generator v0.14.0 + Compiling thiserror-impl v2.0.21 + Checking memo-map v0.3.4 + Checking minijinja v2.24.0 + Checking thiserror v2.0.21 + Checking phf_codegen v0.14.0 + Checking lexical-core v1.0.6 + Checking quick-xml v0.42.0 + Checking smallvec v1.16.2 + Checking heck v0.5.0 + Checking once_cell v1.21.4 + Checking polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Checking cfg-if v1.0.4 + Checking libc v0.2.189 + Checking utf8parse v0.2.2 + Checking anstyle-parse v1.0.0 + Checking colorchoice v1.0.5 + Checking anstyle-query v1.1.5 + Checking anstyle v1.0.14 + Checking is_terminal_polyfill v1.70.2 + Checking anstream v1.0.0 + Checking strsim v0.11.1 + Checking bitflags v2.13.2 + Checking clap_lex v1.1.0 + Checking clap_builder v4.6.7 + Compiling clap_derive v4.6.7 + Checking clap v4.6.7 + Compiling zerocopy-derive v0.8.57 + Checking linux-raw-sys v0.12.1 + Checking rustix v1.1.5 + Checking zerocopy v0.8.57 + Checking getrandom v0.4.3 + Checking tempfile v3.27.0 + Checking half v2.7.1 + Checking either v1.18.0 + Checking ciborium-io v0.2.2 + Checking ciborium-ll v0.2.2 + Checking itertools v0.13.0 + Checking cast v0.3.0 + Checking same-file v1.0.6 + Checking walkdir v2.5.0 + Checking criterion-plot v0.8.2 + Checking num-traits v0.2.19 + Checking alloca v0.4.0 + Compiling phf_macros v0.14.0 + Checking ciborium v0.2.2 + Checking page_size v0.6.0 + Checking tinytemplate v1.2.1 + Checking oorandom v11.1.5 + Checking yansi v1.0.1 + Checking diff v0.1.13 + Checking anes v0.1.6 + Checking criterion v0.8.2 + Checking pretty_assertions v1.4.1 + Checking phf v0.14.0 + Compiling target-lexicon v0.13.5 + Compiling wasm-bindgen-shared v0.2.129 + Compiling pyo3-build-config v0.29.2 + Checking winnow v1.0.4 + Compiling rustversion v1.0.23 + Checking toml_parser v1.1.3+spec-1.1.0 + Compiling pyo3-ffi v0.29.2 + Checking serde_spanned v1.1.1 + Checking toml_datetime v1.1.1+spec-1.1.0 + Checking toml_writer v1.1.2+spec-1.1.0 + Checking toml v1.1.6+spec-1.1.0 + Compiling unicode-segmentation v1.13.3 + Compiling bumpalo v3.20.3 + Checking glob v0.3.4 + Compiling wasm-bindgen-macro-support v0.2.129 + Compiling convert_case v0.6.0 + Compiling wasm-bindgen v0.2.129 + Compiling pyo3 v0.29.2 + Compiling pyo3-macros-backend v0.29.2 + Compiling napi-build v2.5.0 + Compiling semver v1.0.28 + Checking unicode-ident v1.0.24 + Compiling napi-derive-backend v1.0.75 + Compiling polyxml-js v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-js) + Compiling pyo3-macros v0.29.2 + Compiling wasm-bindgen-macro v0.2.129 + Checking polyxml-cli v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-cli) + Compiling ctor v0.2.9 + Checking napi-sys v2.4.0 + Compiling napi-derive v2.16.13 + Checking napi v2.16.17 + Checking polyxml-wasm v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-wasm) + Checking polyxml-python v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-python) + Checking polyxml-c v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-c) + Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.52s +==> [3/6] Running Rust workspace tests (cargo test)... + Compiling unicode-ident v1.0.24 + Compiling proc-macro2 v1.0.107 + Compiling quote v1.0.47 + Compiling syn v3.0.5 + Compiling serde_derive v1.0.229 + Compiling serde v1.0.229 + Compiling syn v2.0.119 + Compiling once_cell v1.21.4 + Compiling thiserror-impl v2.0.21 + Compiling minijinja v2.24.0 + Compiling thiserror v2.0.21 + Compiling quick-xml v0.42.0 + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling utf8parse v0.2.2 + Compiling anstyle-parse v1.0.0 + Compiling is_terminal_polyfill v1.70.2 + Compiling colorchoice v1.0.5 + Compiling anstyle-query v1.1.5 + Compiling anstream v1.0.0 + Compiling strsim v0.11.1 + Compiling clap_builder v4.6.7 + Compiling clap_derive v4.6.7 + Compiling clap v4.6.7 + Compiling zerocopy-derive v0.8.57 + Compiling zerocopy v0.8.57 + Compiling tempfile v3.27.0 + Compiling half v2.7.1 + Compiling ciborium-ll v0.2.2 + Compiling phf_macros v0.14.0 + Compiling ciborium v0.2.2 + Compiling tinytemplate v1.2.1 + Compiling criterion v0.8.2 + Compiling phf v0.14.0 + Compiling winnow v1.0.4 + Compiling toml_parser v1.1.3+spec-1.1.0 + Compiling serde_spanned v1.1.1 + Compiling toml_datetime v1.1.1+spec-1.1.0 + Compiling toml_writer v1.1.2+spec-1.1.0 + Compiling toml v1.1.6+spec-1.1.0 + Compiling wasm-bindgen-shared v0.2.129 + Compiling glob v0.3.4 + Compiling wasm-bindgen-macro-support v0.2.129 + Compiling aho-corasick v1.1.5 + Compiling regex-automata v0.4.18 + Compiling wasm-bindgen-macro v0.2.129 + Compiling polyxml-cli v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-cli) + Compiling wasm-bindgen v0.2.129 + Compiling regex v1.13.1 + Compiling pyo3-macros-backend v0.29.2 + Compiling napi-derive-backend v1.0.75 + Compiling polyxml-js v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-js) + Compiling pyo3-macros v0.29.2 + Compiling pyo3-ffi v0.29.2 + Compiling ctor v0.2.9 + Compiling napi-sys v2.4.0 + Compiling napi v2.16.17 + Compiling pyo3 v0.29.2 + Compiling napi-derive v2.16.13 + Compiling polyxml-wasm v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-wasm) + Compiling polyxml-python v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-python) + Compiling polyxml-c v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-c) + Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 05s + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml-675b717e531d04ed) + +running 16 tests +test integer::tests::comparison_uses_sign_and_magnitude ... ok +test ir::chunker::tests::test_topological_scc_chunking_dag_invariants ... ok +test ir::root_selection_tests::inherited_base_does_not_select_sibling_types ... ok +test ir::root_selection_tests::rejects_missing_and_ambiguous_roots ... ok +test ir::root_selection_tests::keeps_references_descendants_and_substitutions ... ok +test json::tests::test_json_deserialization_accepts_python_field_names ... ok +test json::tests::test_json_roundtrip_primitives ... ok +test tests::test_nested_elements_and_lists ... ok +test tests::test_streaming_xml_item_stream ... ok +test tests::test_deserialization_does_not_confuse_xmlns_with_attributes ... ok +test ir::root_selection_tests::field_reference_keeps_substitution_group_members ... ok +test tests::test_roundtrip_serialization_deserialization ... ok +test tests::test_namespaced_serialization ... ok +test pattern::tests::bounded_cache_evicts_and_retains_invalid_results ... ok +test pattern::tests::cache_matches_uncached_regex_under_churn_and_concurrency ... ok +test pattern::tests::cyclic_working_set_above_capacity_keeps_reusing_entries ... ok + +test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s + + Running tests/test_adversarial_identifiers.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_adversarial_identifiers-34056256ccaa17cb) + +running 7 tests +test test_rust_adversarial_compilation ... ok +test test_python_adversarial_compilation ... ok +test test_go_adversarial_compilation ... ok +test test_cpp_adversarial_compilation ... ok +test test_java_adversarial_compilation ... ok +test test_typescript_adversarial_compilation ... ok +test test_csharp_adversarial_compilation ... ok + +test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.26s + + Running tests/test_any_attribute.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_any_attribute-d5795d9c5e0fdefd) + +running 1 test +test test_any_attribute_schema_parser_and_runtime_roundtrip ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_any_element.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_any_element-1fb225d6616938e8) + +running 2 tests +test test_any_element_go_codegen ... ok +test test_any_element_schema_parser_and_runtime_roundtrip ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_conformance.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_conformance-0b37810d65fedfce) + +running 4 tests +test test_ubl_invoice_conformance ... ok +test test_soap_envelope_conformance ... ok +test test_atom_feed_conformance ... ok +test test_streaming_catalog_conformance ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s + + Running tests/test_core.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_core-f4cc1079f88df2bc) + +running 9 tests +test integer_mappings_keep_fixed_width_builtins ... ok +test test_gregorian_partial_date_lexical_validation ... ok +test test_malformed_xml_syntax_error ... ok +test test_error_handling_invalid_scalars ... ok +test test_all_scalar_types ... ok +test test_roundtrip_serialization_with_indentation ... ok +test test_xsi_nil_handling ... ok +test unbounded_integers_round_trip_and_compare_exact_bounds ... ok +test test_xsd_gregorian_fields_round_trip_and_reject_invalid_dates ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_cpp_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_cpp_codegen-a4cd5571504c64d5) + +running 14 tests +test simple_aliases_follow_their_base_types ... ok +test test_cpp_cmake_modules_file_set ... ok +test test_cpp_cmake_and_meson_generation ... ok +test test_cpp_glaze_backend_meta_generation ... ok +test test_cpp_mode_and_backend_from_str_loose ... ok +test test_cpp_sanitization ... ok +test mixed_content_self_cycle_compiles ... ok +test mixed_content_mutual_cycle_compiles ... ok +Inheritance test passed. +test test_cpp_inheritance_codegen ... ok +Choice pattern matching passed. +test test_cpp_choice_variant_compilation ... ok +All C++20 tests passed successfully. +test test_cpp_struct_and_enum_codegen_compilation ... ok +Recursive tree unique_ptr passed. +test test_cpp_recursive_cycle_unique_ptr ... ok +test test_cpp_modules_compilation ... ok +ISO 20022 pacs.008 C++20 test passed. +test test_cpp_from_xsd_schema ... ok + +test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.89s + + Running tests/test_csharp_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_csharp_codegen-cf32febf6e7f0777) + +running 20 tests +test choice_variants_avoid_record_member_names ... ok +test emits_unrestricted_simple_types_and_validates_empty_records ... ok +test test_csharp_record_kind_from_str_loose ... ok +test test_csharp_any_attribute_codegen ... ok +test test_csharp_date_or_datetime_lexical_union ... ok +test test_csharp_sanitization ... ok +test test_csharp_sequence_nested_inside_choice_codegen ... ok +test test_csharp_source_gen_context ... ok + Determining projects to restore... + Restored /tmp/.tmpOFDxn1/PaymentsApp.csproj (in 194 ms). + PaymentsApp -> /tmp/.tmpOFDxn1/bin/Debug/net8.0/PaymentsApp.dll + +Build succeeded. + 0 Warning(s) + 0 Error(s) + +Time Elapsed 00:00:01.20 +Choice pattern matching and XML serialization passed! +test test_csharp_choice_polymorphic_hierarchy ... ok +test unbounded_integer_xml_preserves_digits ... ok + Determining projects to restore... + Restored /tmp/.tmpTpbbyr/CrmApp.csproj (in 165 ms). + CrmApp -> /tmp/.tmpTpbbyr/bin/Debug/net8.0/CrmApp.dll + +Build succeeded. + 0 Warning(s) + 0 Error(s) + +Time Elapsed 00:00:01.05 +Customer C# tests passed cleanly! +test test_csharp_records_and_enums_generation ... ok + Determining projects to restore... + Restored /tmp/.tmpGigH2L/TreeApp.csproj (in 166 ms). + TreeApp -> /tmp/.tmpGigH2L/bin/Debug/net8.0/TreeApp.dll + +Build succeeded. + 0 Warning(s) + 0 Error(s) + +Time Elapsed 00:00:01.02 +Recursive tree C# tests passed cleanly! +test test_csharp_recursive_cycle ... ok +test test_csharp_mutable_inheritance_roundtrip ... ok +test test_csharp_simple_content_class_validator_and_unsealed_records ... ok +test test_csharp_mutable_wrappers_and_choices_without_validation ... ok +test element_defaults_preserve_absence_and_empty_presence ... ok +test fixed_values_are_enforced_on_read_and_write ... ok +test lexical_union_attributes_round_trip ... ok +test nillable_enum_collection_round_trips ... ok +test particle_wire_structure_round_trips ... ok + +test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 50.46s + + Running tests/test_go_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_go_codegen-005c45ed4341be87) + +running 25 tests +test root_alias_names_are_unique_after_go_normalization ... ok +test referenced_element_uses_declared_type_after_includes ... ok +test test_go_any_attribute_codegen ... ok +test test_go_backend_from_str_loose ... ok +go: creating new go.mod: module payments +go: to add module requirements and sums: + go mod tidy +test imported_ordered_types_do_not_add_unused_bytes_import ... ok +test test_go_date_or_datetime_lexical_union ... ok +test test_go_easyjson_backend ... ok +test test_go_enum_only_schema_omits_unused_xml_import ... ok +test duplicate_choice_names_reject_invalid_branch_shapes ... ok +go: creating new go.mod: module tree +go: to add module requirements and sums: + go mod tidy +test roots_and_union_attributes_round_trip ... ok +test test_go_sanitization ... ok +test test_go_sonic_backend ... ok +go: creating new go.mod: module crm +go: to add module requirements and sums: + go mod tidy +=== RUN TestChoiceMutualExclusivity + payments_test.go:44: Correctly rejected concurrent choice branches: choice ContactChoice mutual exclusivity violation: multiple branches populated (2) +--- PASS: TestChoiceMutualExclusivity (0.00s) +PASS +ok payments 0.007s +test nested_lexical_unions_compile_and_round_trip_in_go ... ok +test test_go_choice_mutual_exclusivity ... ok +test repeated_sequence_groups_enforce_bounds_and_order ... ok +test abstract_substitution_heads_are_rejected ... ok +test repeated_choice_branch_rejects_mixed_and_empty_selections ... ok +test temporal_scalars_preserve_xsd_lexical_values ... ok +test test_go_abstract_xsi_type_dispatch ... ok +test separate_choices_enforce_each_group ... ok +test test_go_namespaced_element_ref_matching ... ok +=== RUN TestRecursiveTree +--- PASS: TestRecursiveTree (0.00s) +PASS +ok tree 0.002s +test test_go_recursive_cycle_pointers ... ok +=== RUN TestCustomerRoundtrip +--- PASS: TestCustomerRoundtrip (0.00s) +PASS +ok crm 0.002s +test test_go_struct_and_enum_generation ... ok +test unbounded_integer_xml_preserves_digits ... ok +test ordered_particles_and_choice_branches_round_trip ... ok + +test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.04s + + Running tests/test_java_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_java_codegen-a6078e165fc64681) + +running 17 tests +test test_java_identifier_sanitization ... ok +test test_java_jackson_backend_simple_type_annotations ... ok +test test_java_jackson_backend_enum_annotations ... ok +test test_java_jackson_backend_struct_annotations ... ok +test test_java_jackson_backend_from_str_loose ... ok +test test_java_jackson_backend_union_annotations ... ok +test test_direct_codec_rejects_wildcards_and_name_collisions ... ok +test test_java_bean_validation_annotations_are_opt_in ... ok +test jackson3_preserves_core_annotations_and_maps_record_text ... ok +test test_java_plain_record_inlines_base_fields ... ok +test test_java_module_container_class ... ok +test test_java_records_and_enums_generation ... ok +test test_java_sealed_interface_choice ... ok +test test_java_plain_record_extension_javac_execute ... ok +test test_java_record_builder_and_nested_codec_execute ... ok +test test_java_mutable_builders_and_direct_codecs_execute ... ok +test test_java_direct_nil_lists_choices_and_namespaces ... ok + +test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.44s + + Running tests/test_json.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_json-74440efee0e911e7) + +running 4 tests +test test_polyvalue_direct_json_methods ... ok +test test_json_primitives_and_alias_modes ... ok +test test_json_scalar_coercion ... ok +test test_json_nested_objects_and_lists ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_lexical_lists.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_lexical_lists-0f6750d9c4bf9a3c) + +running 2 tests +test named_list_items_enforce_facets_and_enumerations ... ok +test typed_lexical_lists_round_trip_across_codecs ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.27s + + Running tests/test_lexical_union_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_lexical_union_codegen-3c208893561d2732) + +running 2 tests +test lexical_union_xml_selects_first_valid_member_and_round_trips ... ok +test lexical_unions_are_typed_in_all_targets ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_mixed_branch_lookup.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_mixed_branch_lookup-b361da17b3391045) + +running 1 test +test large_mixed_tables_keep_first_match_metadata_edits_records_and_nil ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running tests/test_mixed_content.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_mixed_content-1a697ad935ae2797) + +running 5 tests +test mixed_items_field_avoids_existing_attribute_name ... ok +test parser_builds_ordered_mixed_content_union ... ok +test mixed_content_preserves_nested_child_order ... ok +test mixed_content_preserves_text_and_child_order ... ok +test generated_models_keep_typed_content_items_in_all_targets ... ok + +test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_mixed_nil.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_mixed_nil-9410990f6ba737b9) + +running 2 tests +test nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings ... ok +test nil_instance_prefix_does_not_rebind_the_element_namespace ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_pattern_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_pattern_codegen-5eee5f9fe2ed3d1a) + +running 9 tests +test generated_typescript_pattern_validation_all_backends ... ok +test pattern_restrictions_preserve_or_groups_and_inherited_and_steps ... ok +test gregorian_primitives_emit_validated_types_across_targets ... ok +test generated_python_pattern_validation ... ok +test generated_go_pattern_validation_and_xml_roundtrip ... ok +test generated_java_pattern_validation_and_direct_codecs ... ok +test generated_cpp_pattern_validation ... ok +test generated_csharp_pattern_validation ... ok +test generated_rust_pattern_validation_and_xml_roundtrip ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 24.57s + + Running tests/test_python_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_python_codegen-cc734e908fb39fb6) + +running 16 tests +test test_identifier_sanitization ... ok +test multiline_xsd_documentation_stays_inside_python_comments ... ok +test test_python_abstract_meta_emission ... ok +test test_python_any_attribute_codegen ... ok +test test_python_choice_union_codegen ... ok +test test_python_codecs_generation ... ok +test test_python_any_element_codegen ... ok +test test_python_generated_tag_and_custom_header ... ok +test test_python_aot_codegen ... ok +test test_python_dataclass_codegen ... ok +test test_python_pydantic_codegen_with_facets ... ok +test test_python_recursive_type_codegen ... ok +test test_python_derived_meta_inheritance ... ok +test test_python_simplecontent_default_factory ... ok +test test_python_sequence_nested_inside_choice_codegen ... ok +test quoted_docstrings_preserve_text_and_remain_valid_python ... ok + +test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s + + Running tests/test_qualified_attributes.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_qualified_attributes-f8397a31cf1ecf15) + +running 5 tests +test global_attribute_references_round_trip_by_namespace ... ok +test imported_inline_global_attribute_enum_round_trips ... ok +test inherited_attribute_and_distinct_element_keep_separate_property_names ... ok +test derived_validators_preserve_base_constraints ... ok +test lexical_dependencies_compile_and_round_trip_without_implicit_imports ... ok + +test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.30s + + Running tests/test_runtime_fast_paths.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_runtime_fast_paths-7bf9091b7252b7db) + +running 6 tests +test repeated_nested_records_validate_their_own_lexical_lists ... ok +test repeated_lexical_lists_keep_whitespace_validation ... ok +test lexical_list_formatting_preserves_escaping_empty_lists_and_long_numbers ... ok +test indexed_scalar_state_preserves_enum_pattern_and_split_text ... ok +test cached_patterns_keep_raw_restriction_and_trimmed_pattern_semantics ... ok +test unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_rust_codecs.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_rust_codecs-9692e165bd5e14bf) + +running 4 tests +test test_empty_element_codec ... ok +test test_facet_validation_min_max_length ... ok +test test_order_choice_roundtrip ... ok +test test_recursive_boxing_roundtrip ... ok + +test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_rust_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_rust_codegen-8bce8b4b67c7eca3) + +running 26 tests +test multiline_docs_and_raw_field_names_are_valid_source ... ok +test test_rust_choice_union_codegen ... ok +test test_rust_attribute_codec_loop_syntax ... ok +test test_rust_codecs_codegen ... ok +test test_rust_identifier_sanitization ... ok +test test_rust_extension_base_cycle_cut ... ok +test test_rust_owned_codegen ... ok +test test_rust_phf_dispatch_uniquifies_like_field_metas ... ok +test test_rust_phf_dispatch_union_groups_branch_tags ... ok +test test_rust_recursive_cycle_boxing ... ok +test test_rust_extension_codecs_decode_and_encode_base_fields ... ok +test test_rust_rkyv_derives ... ok +test test_rust_extension_inlines_base_fields ... ok +test test_rust_enum_and_methods ... ok +test test_rust_digit_prefixed_module_sanitization ... ok +test test_rust_simple_type_cycle_resilience ... ok +test test_rust_simple_content_extension_shadow_rule ... ok +test test_rust_read_element_text_accumulates_refs_and_cdata ... ok +test test_rust_simple_content_text_codec ... ok +test test_rust_phf_dispatch_emission ... ok +test test_rust_topological_scc_chunking ... ok +test test_rust_zero_copy_codegen ... ok +test duplicate_wire_names_keep_distinct_json_values ... ok +test binary_lexical_values_compile_and_round_trip_in_owned_and_borrowed_modes ... ok +test empty_modules_compile_without_unused_reexports ... ok +test named_choice_wrappers_round_trip_without_unreachable_dispatch ... ok + +test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 58.75s + + Running tests/test_schema_audit.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_schema_audit-24992dfb5b4a626c) + +running 13 tests +test duplicate_enumeration_values_are_deduped ... ok +test distinct_values_with_colliding_variant_names_stay_unique ... ok +test derived_simple_type_inherits_base_patterns ... ok +test quick_xml_serde_skips_unknown_elements ... ok +test nested_inline_complex_type_is_extracted_not_leaked ... ok +test named_group_reference_fields_are_parsed ... ok +test simple_content_extension_emits_value_field ... ok +test generated_rust_has_no_deny_unknown_fields ... ok +test rust_flat_output_has_no_colliding_type_names ... ok +test all_languages_disambiguate_flat_collision ... ok +test restricted_simple_types_emit_named_aliases ... ok +test chameleon_include_adopts_including_namespace_per_includer ... ok +test diamond_includes_do_not_duplicate_upa_source_documents ... ok + +test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running tests/test_schema_ir.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_schema_ir-f793c1b9895343c7) + +running 20 tests +test global_attribute_reference_uses_declared_type ... ok +test missing_included_schema_is_an_error ... ok +test test_list_fields_do_not_trigger_spurious_cycles ... ok +test test_language_context_adapter ... ok +test schema_errors_preserve_forward_imports_and_annotation_payloads ... ok +test derived_complex_type_keeps_base_and_bounded_choice ... ok +test consumed_particles_do_not_swallow_following_declarations ... ok +test inline_list_item_types_preserve_enum_and_union_declarations ... ok +test consumed_child_subtrees_do_not_swallow_following_types ... ok +test test_tarjan_mutual_recursive_cycle_detection_and_boxing ... ok +test test_tarjan_self_recursive_cycle_detection_and_boxing ... ok +test schema_for_schemas_declared_types_are_not_unknown_builtins ... ok +test test_substitution_groups ... ok +test test_parse_lexical_union_member_types_and_inline_members ... ok +test test_minijinja_template_engine_and_filters ... ok +test xml_prefix_is_available_without_explicit_declaration ... ok +test test_parse_complex_type_and_facets ... ok +test imported_inline_global_attribute_types_are_resolved ... ok +test test_sequence_nested_inside_choice_preserved_in_ir ... ok +test test_parse_choice_as_union ... ok + +test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_security.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_security-c3afa670f1d6c619) + +running 6 tests +test test_malformed_unclosed_cdata_rejection ... ok +test test_cdata_section_handling ... ok +test test_numeric_character_references ... ok +test test_xml_entity_roundtrip_escaping ... ok +test unsupported_general_entities_are_rejected ... ok +test test_max_depth_recursion_limit ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_temporal_union.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_temporal_union-e25d1f9b83e2fdc4) + +running 2 tests +test go_temporal_union_preserves_branches_and_lexicals ... ok +test csharp_temporal_union_preserves_branches_and_lexicals ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.06s + + Running tests/test_transcoder.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_transcoder-6854114408316a2e) + +running 6 tests +test test_schemaless_pretty_transcoding ... ok +test test_schemaless_preserves_refs_cdata_and_attr_entities ... ok +test test_schemaless_xml_to_json_and_back ... ok +test test_transcoder_errors ... ok +test test_schema_directed_transcoding ... ok +test test_schema_from_ir_transcoding ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_ts_codegen.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_ts_codegen-4e67290c9758f4d9) + +running 9 tests +test test_ts_backend_from_str_loose ... ok +test test_ts_identifier_sanitization ... ok +test test_ts_recursive_cycle_zod_lazy ... ok +test test_ts_typebox_schema_generation ... ok +test test_ts_interface_and_enum_codegen ... ok +test test_ts_zod_schema_generation ... ok +test test_ts_discriminated_union_choice ... ok +test test_ts_valibot_schema_generation ... ok +test mixed_content_inheritance_compiles_with_widened_items ... ok + +test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s + + Running tests/test_ubl_csharp.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_ubl_csharp-b04bc8d2d5f891c2) + +running 2 tests +test unprefixed_xsd_builtin_simple_content_base_uses_default_namespace ... ok +test multi_namespace_roots_and_inherited_simple_content_compile_and_round_trip ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.97s + + Running tests/test_unbounded_choice.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_unbounded_choice-7672e62aa5ecca1a) + +running 1 test +go: creating new go.mod: module testmod +go: to add module requirements and sums: + go mod tidy +=== RUN TestUnboundedChoiceOrder +--- PASS: TestUnboundedChoiceOrder (0.00s) +PASS +ok testmod 0.002s +test test_unbounded_choice_ir_and_all_targets ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s + + Running tests/test_upa.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_upa-a20019d257c7eac5) + +running 6 tests +test local_form_and_in_scope_qnames_distinguish_namespaces ... ok +test imported_groups_and_chameleon_wildcards_keep_source_namespaces ... ok +test model_groups_derivation_and_substitution_members_are_checked ... ok +test optional_siblings_and_choice_lookahead_violate_upa ... ok +test all_groups_and_wildcard_namespaces_are_checked ... ok +test occurrence_ranges_keep_particle_identity_and_count_boundaries ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_value_constraints.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_value_constraints-73eb81a96de588c1) + +running 2 tests +test fixed_constraints_cover_input_and_output_in_value_space ... ok +test repeated_particle_cardinality_belongs_to_the_group ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_xsi_type.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_xsi_type-2c07a0776bd0ec60) + +running 11 tests +test abstract_type_without_derivations_errors ... ok +test plain_type_attribute_is_not_mistaken_for_dispatch ... ok +test nil_abstract_complex_type_skips_concrete_dispatch ... ok +test abstract_type_requires_concrete_selector ... ok +test iterparse_dispatches_each_streamed_item ... ok +test from_ir_flattens_base_fields_and_registers_variants ... ok +test unknown_xsi_type_on_abstract_type_errors ... ok +test root_xsi_type_dispatch_including_empty_element ... ok +test nested_xsi_type_dispatch_and_round_trip ... ok +test variant_serialization_requires_namespaces ... ok +test xsi_type_resolves_namespace_inherited_from_parent ... ok + +test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml-4ccc220bbd6a27a0) + +running 2 tests +test tests::test_c_abi_nested_list_batch_roundtrip ... ok +test tests::test_c_abi_namespaced_roundtrip ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml_cli-dabf613ae4318f1b) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/main.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml-cec02944de7101b9) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_cli.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_cli-714ccf0c30d96734) + +running 47 tests +test fish_completion_filters_values_when_available ... ok +test manifest_generation_does_not_ignore_cli_overrides ... ok +Loading manifest: /tmp/.tmp4p2v6N/polyxml.toml +Compiling schema: /tmp/.tmp4p2v6N/model.xsd + Namespace: urn:app + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Emitting target [csharp] into /tmp/.tmp4p2v6N/cs +Emitting target [ts] into /tmp/.tmp4p2v6N/ts +Emitting target [go] into /tmp/.tmp4p2v6N/go +Emitting target [rust] into /tmp/.tmp4p2v6N/rs +Build finished successfully. +test test_cli_build_polyxml_manifest_with_new_features ... ok +Parsing schema: /tmp/.tmporjtsf/customer.xsd + Namespace: urn:crm + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_csharp_source_gen_and_record_struct ... ok +test test_cli_cpp_modules_and_glaze ... ok +test test_cli_generate_custom_header_and_generated_tags ... ok +test test_cli_generate_help ... ok +test imported_substitution_helpers_do_not_require_spurious_module_owners ... ok +test test_cli_generate_dry_run ... ok +test jackson3_cli_and_manifest_emit_equivalent_models ... ok +test python_features_respect_manifest_false_values_and_backend ... ok +test test_cli_generate_multi_lang ... ok +test test_cli_help ... ok +Parsing schema: /tmp/.tmpSF1nxR/service.xsd + Namespace: urn:service + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +Loading manifest: /tmp/.tmpgoU8zK/polyxml.toml +Compiling schema: /tmp/.tmpgoU8zK/schema.xsd + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Emitting target [rust] into /tmp/.tmpgoU8zK/rs +Emitting target [go] into /tmp/.tmpgoU8zK/go +Emitting target [csharp] into /tmp/.tmpgoU8zK/cs +Build finished successfully. +Parsing schema: /tmp/.tmpSF1nxR/service.xsd +test test_cli_manifest_custom_header_workspace_and_target_override ... ok +test test_cli_generate_python_backends ... ok + Namespace: urn:service + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_go_easyjson_and_sonic_backend ... ok +test retained_imported_ordered_helpers_belong_to_the_unique_namespace_module ... ok +test test_cli_generate_rust_zero_copy_and_owned ... ok +Parsing schema: /tmp/.tmpQMspKd/event.xsd +test test_cli_python_aot_generation ... ok + Namespace: urn:events + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_rust_phf_feature ... ok +Parsing schema: /tmp/.tmp8R9qz1/event.xsd + Namespace: urn:events + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +go: creating new go.mod: module crm +go: to add module requirements and sums: + go mod tidy +test test_cli_rust_rkyv_feature ... ok +test invalid_schema_grammar_and_types_fail_before_generation ... ok +test test_cli_python_aot_rejects_dataclass_style_and_slots ... ok +test test_cli_multiple_root_element_selection ... ok +Parsing schema: /tmp/.tmpd9ldmb/item.xsd + Namespace: urn:store + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_transcode_bidirectional ... ok +test completion_candidates_follow_target_validation ... ok +Parsing schema: /tmp/.tmpd9ldmb/item.xsd + Namespace: urn:store + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 0 +Code generation complete. +test test_cli_typescript_valibot_and_typebox_backend ... ok +test test_cli_validate_valid_and_invalid ... ok +test test_polyxml_toml_manifest_build ... ok +test test_root_selection_keeps_imported_module_types ... ok +test test_cli_root_element_selection ... ok +test bash_completion_filters_values_in_the_shell ... ok +test unified_help_shows_generation_options ... ok +test test_java_csharp_model_style_options_and_manifest ... ok +test unsupported_xsd_alternatives_fail_explicitly ... ok +test zsh_completion_filters_values_when_available ... ok +test validate_and_generate_reject_upa_violations ... ok +test unified_manifest_forms_generate_identical_output_and_validate_early ... ok +test unified_options_fail_before_schema_io_including_dry_run ... ok +test unified_supported_backends_and_styles_validate ... ok +=== RUN TestAccountE2E +--- PASS: TestAccountE2E (0.00s) +PASS +ok crm 0.005s +test test_cli_go_generation ... ok +test test_cli_java_generation ... ok +E2E C++20 driver passed! +test test_cli_cpp_generation ... ok +test test_cli_shared_modules_deduplication ... ok + Determining projects to restore... + Restored /tmp/.tmpx2PK6F/cli_csharp_app/CrmCliApp.csproj (in 212 ms). +test test_cli_typescript_generation ... ok + CrmCliApp -> /tmp/.tmpx2PK6F/cli_csharp_app/bin/Debug/net8.0/CrmCliApp.dll + +Build succeeded. + 0 Warning(s) + 0 Error(s) + +Time Elapsed 00:00:01.44 +E2E C# CLI test passed successfully! +test test_cli_csharp_generation ... ok +test test_cli_rust_split_units_and_chunking ... ok + +test result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.51s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml_js-878a75d7b7901cc9) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/_polyxml-a668b0910babaf29) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running unittests src/lib.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/polyxml_wasm-d510c7f48918b595) + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests polyxml + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests polyxml_cli + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Doc-tests polyxml_wasm + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +==> [4/6] Compiling Python PyO3 extension (maturin develop)... +🍹 Building a mixed python/rust project +🐍 Found CPython 3.14 at /home/bailey/github/polyxml-mixed-index/.venv/bin/python +🔗 Found pyo3 bindings with abi3-py3.12 support +📡 Using build options features from pyproject.toml +Using Python 3.14.4 environment at: /home/bailey/github/polyxml-mixed-index/.venv +Checked 6 packages in 30ms + Compiling serde_core v1.0.229 + Compiling serde v1.0.229 + Compiling pyo3-ffi v0.29.2 + Compiling syn v2.0.119 + Compiling fastrand v2.5.0 + Compiling phf_generator v0.14.0 + Compiling pyo3-macros-backend v0.29.2 + Compiling minijinja v2.24.0 + Compiling serde_json v1.0.151 + Compiling pyo3 v0.29.2 + Compiling pyo3-macros v0.29.2 + Compiling phf_codegen v0.14.0 + Compiling quick-xml v0.42.0 + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling polyxml-python v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-python) + Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.59s +📦 Built wheel for abi3 Python ≥ 3.12 to /tmp/.tmpTYptf9/polyxml-0.34.6-cp312-abi3-linux_x86_64.whl +✏️ Setting installed package as editable +🛠 Installed polyxml-0.34.6 +==> [5/6] Running Python Ruff checks... +All checks passed! +10 files already formatted +==> [6/6] Running Python tests with 100% statement & branch coverage... +........................................................................ [ 64%] +........................................ [100%] +================================ tests coverage ================================ +_______________ coverage: platform linux, python 3.14.4-final-0 ________________ + +Name Stmts Miss Branch BrPart Cover Missing +--------------------------------------------------- +TOTAL 181 0 58 0 100% + +3 files skipped due to complete coverage. +Required test coverage of 100% reached. Total coverage: 100.00% +112 passed in 0.60s +✨ All PolyXML dual-language quality gates passed! diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-index-tests.log b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-index-tests.log new file mode 100644 index 0000000..f8248ab --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-index-tests.log @@ -0,0 +1,112 @@ +memcap: <=7732 MiB (60% of 12887 MiB available) [systemd MemoryMax, swap off] + Compiling proc-macro2 v1.0.107 + Compiling quote v1.0.47 + Compiling unicode-ident v1.0.24 + Compiling syn v3.0.5 + Compiling serde_core v1.0.229 + Compiling syn v2.0.119 + Compiling serde v1.0.229 + Compiling memchr v2.8.3 + Compiling siphasher v1.0.3 + Compiling serde_derive v1.0.229 + Compiling cfg-if v1.0.4 + Compiling zmij v1.0.23 + Compiling zerocopy v0.8.57 + Compiling libc v0.2.189 + Compiling lexical-util v1.0.7 + Compiling zerocopy-derive v0.8.57 + Compiling serde_json v1.0.151 + Compiling shlex v2.0.1 + Compiling find-msvc-tools v0.1.12 + Compiling cc v1.4.5 + Compiling phf_shared v0.14.0 + Compiling aho-corasick v1.1.5 + Compiling regex-syntax v0.8.11 + Compiling fastrand v2.5.0 + Compiling autocfg v1.5.1 + Compiling itoa v1.0.18 + Compiling num-traits v0.2.19 + Compiling regex-automata v0.4.18 + Compiling half v2.7.1 + Compiling alloca v0.4.0 + Compiling lexical-write-integer v1.0.6 + Compiling lexical-parse-integer v1.0.6 + Compiling either v1.18.0 + Compiling getrandom v0.4.3 + Compiling clap_lex v1.1.0 + Compiling rustix v1.1.5 + Compiling anstyle v1.0.14 + Compiling thiserror v2.0.21 + Compiling ciborium-io v0.2.2 + Compiling ciborium-ll v0.2.2 + Compiling phf_generator v0.14.0 + Compiling clap_builder v4.6.7 + Compiling itertools v0.13.0 + Compiling lexical-parse-float v1.0.6 + Compiling lexical-write-float v1.0.6 + Compiling regex v1.13.1 + Compiling thiserror-impl v2.0.21 + Compiling same-file v1.0.6 + Compiling memo-map v0.3.4 + Compiling linux-raw-sys v0.12.1 + Compiling bitflags v2.13.2 + Compiling cast v0.3.0 + Compiling criterion-plot v0.8.2 + Compiling minijinja v2.24.0 + Compiling walkdir v2.5.0 + Compiling phf_codegen v0.14.0 + Compiling lexical-core v1.0.6 + Compiling clap v4.6.7 + Compiling phf_macros v0.14.0 + Compiling ciborium v0.2.2 + Compiling tinytemplate v1.2.1 + Compiling page_size v0.6.0 + Compiling quick-xml v0.42.0 + Compiling oorandom v11.1.5 + Compiling heck v0.5.0 + Compiling smallvec v1.16.2 + Compiling diff v0.1.13 + Compiling yansi v1.0.1 + Compiling anes v0.1.6 + Compiling once_cell v1.21.4 + Compiling tempfile v3.27.0 + Compiling criterion v0.8.2 + Compiling pretty_assertions v1.4.1 + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-index/crates/polyxml-core) + Compiling phf v0.14.0 + Finished `test` profile [unoptimized + debuginfo] target(s) in 39.72s + Running tests/test_mixed_branch_lookup.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_mixed_branch_lookup-ec9a2799ab26799e) + +running 1 test +test large_mixed_tables_keep_first_match_metadata_edits_records_and_nil ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s + + Running tests/test_mixed_nil.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_mixed_nil-1aec7ae934470d6f) + +running 2 tests +test nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings ... ok +test nil_instance_prefix_does_not_rebind_the_element_namespace ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_runtime_fast_paths.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_runtime_fast_paths-cb1357dd8af777c0) + +running 6 tests +test repeated_nested_records_validate_their_own_lexical_lists ... ok +test repeated_lexical_lists_keep_whitespace_validation ... ok +test lexical_list_formatting_preserves_escaping_empty_lists_and_long_numbers ... ok +test indexed_scalar_state_preserves_enum_pattern_and_split_text ... ok +test cached_patterns_keep_raw_restriction_and_trimmed_pattern_semantics ... ok +test unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_value_constraints.rs (/home/bailey/github/PolyXML/target/followup-mixed-index-verification/debug/deps/test_value_constraints-22fd91427282898a) + +running 2 tests +test fixed_constraints_cover_input_and_output_in_value_space ... ok +test repeated_particle_cardinality_belongs_to_the_group ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/affinity-probe.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/affinity-probe.json new file mode 100644 index 0000000..8deae48 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/affinity-probe.json @@ -0,0 +1,9 @@ +[ + { + "pid": 499097, + "executable": "/home/bailey/github/PolyXML/benchmarks/rust-xml-regression/target/core-baseline/target/release/deps/xml-ca09edc26c8ac4cc", + "cpu_affinity": [ + 4 + ] + } +] diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-0.txt new file mode 100644 index 0000000..bf8df30 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-0.txt @@ -0,0 +1,11 @@ +memcap: <=7747 MiB (60% of 12912 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0004 s (45k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [107.51 µs 108.05 µs 108.67 µs] + thrpt: [367.73 MiB/s 369.85 MiB/s 371.70 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 6 (6.00%) high mild + 8 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-1.txt new file mode 100644 index 0000000..3b64bee --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-1.txt @@ -0,0 +1,11 @@ +memcap: <=7751 MiB (60% of 12919 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0062 s (43k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [113.76 µs 114.57 µs 115.58 µs] + thrpt: [345.75 MiB/s 348.80 MiB/s 351.27 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 2 (2.00%) high mild + 8 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-2.txt new file mode 100644 index 0000000..9aeab8e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-2.txt @@ -0,0 +1,11 @@ +memcap: <=7754 MiB (60% of 12924 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0029 s (42k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [117.61 µs 118.46 µs 119.48 µs] + thrpt: [334.46 MiB/s 337.35 MiB/s 339.78 MiB/s] +Found 19 outliers among 100 measurements (19.00%) + 16 (16.00%) high mild + 3 (3.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-build.txt new file mode 100644 index 0000000..6747286 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7745 MiB (60% of 12909 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-nil/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.75s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/criterion-SHA256SUMS new file mode 100644 index 0000000..1b18ece --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/criterion-SHA256SUMS @@ -0,0 +1,48 @@ +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/base/benchmark.json +1d148dd65df96674165968431e08407f8d37f225a886c3e611104b57a8763687 baseline-0/mixed_write/scalar/1000/base/estimates.json +b861ac1801eadbc176dcaa3f6c4d8794b0bf96b612df6daabf428d02f5952b03 baseline-0/mixed_write/scalar/1000/base/sample.json +49ebc05ef4adf47eea03e04cb4636a1047a8b7b45f3cb600c5a9fe8d10cb30be baseline-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/new/benchmark.json +1d148dd65df96674165968431e08407f8d37f225a886c3e611104b57a8763687 baseline-0/mixed_write/scalar/1000/new/estimates.json +b861ac1801eadbc176dcaa3f6c4d8794b0bf96b612df6daabf428d02f5952b03 baseline-0/mixed_write/scalar/1000/new/sample.json +49ebc05ef4adf47eea03e04cb4636a1047a8b7b45f3cb600c5a9fe8d10cb30be baseline-0/mixed_write/scalar/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/base/benchmark.json +756dd536c10e2826f10e57a05be6e035fa514575227171ae2723447de997d977 baseline-1/mixed_write/scalar/1000/base/estimates.json +911c011f8a752b588a3bd899d12d603c0f46ccc7578dfa413916a1a779205e5c baseline-1/mixed_write/scalar/1000/base/sample.json +887143d206ace75e01a7eaf518f9b0475f78f15b7f1df5b471ec172080dc35ee baseline-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/new/benchmark.json +756dd536c10e2826f10e57a05be6e035fa514575227171ae2723447de997d977 baseline-1/mixed_write/scalar/1000/new/estimates.json +911c011f8a752b588a3bd899d12d603c0f46ccc7578dfa413916a1a779205e5c baseline-1/mixed_write/scalar/1000/new/sample.json +887143d206ace75e01a7eaf518f9b0475f78f15b7f1df5b471ec172080dc35ee baseline-1/mixed_write/scalar/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-2/mixed_write/scalar/1000/base/benchmark.json +ec75702c4437276037bdafa9efe271d450dc31dd6df4b67431c648a0c004bb3c baseline-2/mixed_write/scalar/1000/base/estimates.json +2ab4d2a73ec7393a9dbb9e4bb1dcd8afeb31b12c5751a1b206e305860439c990 baseline-2/mixed_write/scalar/1000/base/sample.json +a6cd8f6dd918402c42a6654b6091b0d1ae26c3ec3c6190b46c938e4a9fa16841 baseline-2/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-2/mixed_write/scalar/1000/new/benchmark.json +ec75702c4437276037bdafa9efe271d450dc31dd6df4b67431c648a0c004bb3c baseline-2/mixed_write/scalar/1000/new/estimates.json +2ab4d2a73ec7393a9dbb9e4bb1dcd8afeb31b12c5751a1b206e305860439c990 baseline-2/mixed_write/scalar/1000/new/sample.json +a6cd8f6dd918402c42a6654b6091b0d1ae26c3ec3c6190b46c938e4a9fa16841 baseline-2/mixed_write/scalar/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/base/benchmark.json +3b78a2bdf3b9d88711baa41fc12911912a538decb37cd036ef41d1114ff46145 current-0/mixed_write/scalar/1000/base/estimates.json +a01a252bfdb0f5799625077e3e383d7843947a86781bc962ed2d24987ea8113f current-0/mixed_write/scalar/1000/base/sample.json +518def47b2673fabea403a1e5a2c98848290e89e96f7af5f8d2e3726700e3922 current-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/new/benchmark.json +3b78a2bdf3b9d88711baa41fc12911912a538decb37cd036ef41d1114ff46145 current-0/mixed_write/scalar/1000/new/estimates.json +a01a252bfdb0f5799625077e3e383d7843947a86781bc962ed2d24987ea8113f current-0/mixed_write/scalar/1000/new/sample.json +518def47b2673fabea403a1e5a2c98848290e89e96f7af5f8d2e3726700e3922 current-0/mixed_write/scalar/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/base/benchmark.json +835ec309dbdf8f3763923887753e62e9b4734a2e07e88360873a8b653c053a21 current-1/mixed_write/scalar/1000/base/estimates.json +eef944e7cab03e8598966df88db5a524d826ee450f6389e08aaabb4e57791c6f current-1/mixed_write/scalar/1000/base/sample.json +6b0ef5ef3fe6250c725e0b493fb73251efb844dfba8e58d956556941f6bb94db current-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/new/benchmark.json +835ec309dbdf8f3763923887753e62e9b4734a2e07e88360873a8b653c053a21 current-1/mixed_write/scalar/1000/new/estimates.json +eef944e7cab03e8598966df88db5a524d826ee450f6389e08aaabb4e57791c6f current-1/mixed_write/scalar/1000/new/sample.json +6b0ef5ef3fe6250c725e0b493fb73251efb844dfba8e58d956556941f6bb94db current-1/mixed_write/scalar/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-2/mixed_write/scalar/1000/base/benchmark.json +c28f1116a17e8a5088519024c85afd2aabaac94accc37bab62793fa9bfa605bf current-2/mixed_write/scalar/1000/base/estimates.json +a1dfe9e880c8e2c7800be6a4e8e88b459cb6aee630874551e2cd64f23a12ab5d current-2/mixed_write/scalar/1000/base/sample.json +69d70f25fb244677ccc1568a863417253ffa9e99593556af8f250cea85811808 current-2/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-2/mixed_write/scalar/1000/new/benchmark.json +c28f1116a17e8a5088519024c85afd2aabaac94accc37bab62793fa9bfa605bf current-2/mixed_write/scalar/1000/new/estimates.json +a1dfe9e880c8e2c7800be6a4e8e88b459cb6aee630874551e2cd64f23a12ab5d current-2/mixed_write/scalar/1000/new/sample.json +69d70f25fb244677ccc1568a863417253ffa9e99593556af8f250cea85811808 current-2/mixed_write/scalar/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/criterion-results.tar.gz new file mode 100644 index 0000000..32887eb Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-0.txt new file mode 100644 index 0000000..b9fd82f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-0.txt @@ -0,0 +1,11 @@ +memcap: <=7748 MiB (60% of 12914 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0076 s (40k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [125.63 µs 126.79 µs 128.34 µs] + thrpt: [311.37 MiB/s 315.18 MiB/s 318.09 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 5 (5.00%) high mild + 9 (9.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-1.txt new file mode 100644 index 0000000..901590a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-1.txt @@ -0,0 +1,11 @@ +memcap: <=7745 MiB (60% of 12909 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0019 s (41k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [112.03 µs 112.78 µs 113.88 µs] + thrpt: [350.92 MiB/s 354.34 MiB/s 356.70 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 2 (2.00%) high mild + 6 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-2.txt new file mode 100644 index 0000000..647e8e7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-2.txt @@ -0,0 +1,11 @@ +memcap: <=7754 MiB (60% of 12923 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0090 s (40k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [119.88 µs 121.04 µs 122.53 µs] + thrpt: [326.14 MiB/s 330.17 MiB/s 333.34 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 2 (2.00%) high mild + 12 (12.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-build.txt new file mode 100644 index 0000000..78d395e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7695 MiB (60% of 12825 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-nil/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.76s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/harness.rs new file mode 100644 index 0000000..7d0413e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/harness.rs @@ -0,0 +1,120 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["mixed_read", "mixed_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for kind in ["text", "scalar", "enum", "pattern", "nested"] { + let (schema, xml) = fixture(kind, 1000); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function(BenchmarkId::new(kind, 1000), |b| { + if operation == "mixed_read" { + b.iter(|| { + black_box(deserialize(black_box(&xml), Arc::clone(&schema)).unwrap()) + }); + } else { + b.iter(|| { + black_box(serialize("Root", black_box(&value), &schema, None).unwrap()) + }); + } + }); + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/metadata.json new file mode 100644 index 0000000..5bcbe4c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "121ac4b888fd434060d13fc886835a2fd46d684c" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 100, + "warmup_seconds": 3.0, + "measurement_seconds": 5.0, + "rounds": 3, + "filter": "^mixed_write/scalar/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/summary.json new file mode 100644 index 0000000..eb51a64 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-pinned-scalar/summary.json @@ -0,0 +1,73 @@ +{ + "mixed_write/scalar/1000": { + "baseline_ns": 114569.80495370374, + "candidate_ns": 121035.86733333334, + "delta_percent": 5.643775323037747, + "speedup": 0.9465773037192188, + "process_deltas_percent": [ + 17.3442544750267, + -1.5625920105875157, + 2.176957357798881 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 107511.805599224, + "upper_bound": 108672.1389927938 + }, + "point_estimate": 108049.56159645232, + "standard_error": 297.2142283502884 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 113764.96839351855, + "upper_bound": 115580.65366203708 + }, + "point_estimate": 114569.80495370374, + "standard_error": 466.8652801752209 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 117612.36668810103, + "upper_bound": 119482.53963641827 + }, + "point_estimate": 118457.10663461541, + "standard_error": 479.0390825704119 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 125629.1308211587, + "upper_bound": 128341.5999811083 + }, + "point_estimate": 126789.95251889172, + "standard_error": 700.5806940257612 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 112030.5436383495, + "upper_bound": 113876.03261165047 + }, + "point_estimate": 112779.54633495148, + "standard_error": 483.774781015983 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 119882.12730555561, + "upper_bound": 122531.24086172842 + }, + "point_estimate": 121035.86733333334, + "standard_error": 683.0970450152082 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline-0.txt new file mode 100644 index 0000000..dfd8f3f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline-0.txt @@ -0,0 +1,47 @@ +memcap: <=7693 MiB (60% of 12822 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0033 s (13k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [146.05 µs 148.18 µs 150.98 µs] + thrpt: [182.57 MiB/s 186.02 MiB/s 188.73 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0039 s (21k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [95.096 µs 95.834 µs 96.703 µs] + thrpt: [413.24 MiB/s 416.99 MiB/s 420.23 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 6 (12.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0016 s (25k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [81.139 µs 82.089 µs 83.161 µs] + thrpt: [229.51 MiB/s 232.50 MiB/s 235.23 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0060 s (14k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.42 µs 146.00 µs 147.85 µs] + thrpt: [122.64 MiB/s 124.19 MiB/s 125.55 MiB/s] +Found 10 outliers among 50 measurements (20.00%) + 4 (8.00%) high mild + 6 (12.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0004 s (20k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [99.516 µs 101.40 µs 103.73 µs] + thrpt: [348.47 MiB/s 356.49 MiB/s 363.23 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline-1.txt new file mode 100644 index 0000000..8b2fe37 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline-1.txt @@ -0,0 +1,47 @@ +memcap: <=7741 MiB (60% of 12902 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0060 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [145.00 µs 145.90 µs 146.85 µs] + thrpt: [187.71 MiB/s 188.92 MiB/s 190.10 MiB/s] +Found 1 outliers among 50 measurements (2.00%) + 1 (2.00%) high mild +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0034 s (19k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [105.25 µs 105.75 µs 106.34 µs] + thrpt: [375.81 MiB/s 377.88 MiB/s 379.70 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 3 (6.00%) high mild + 1 (2.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0009 s (25k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [81.160 µs 82.560 µs 84.284 µs] + thrpt: [226.45 MiB/s 231.18 MiB/s 235.16 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0004 s (14k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [142.93 µs 143.59 µs 144.44 µs] + thrpt: [125.53 MiB/s 126.28 MiB/s 126.86 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 5 (10.00%) high mild + 1 (2.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0014 s (21k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [96.256 µs 96.652 µs 97.120 µs] + thrpt: [372.19 MiB/s 373.99 MiB/s 375.53 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline-build.txt new file mode 100644 index 0000000..c03d3ad --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7731 MiB (60% of 12885 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-nil/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.87s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/criterion-SHA256SUMS new file mode 100644 index 0000000..f31332f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/criterion-SHA256SUMS @@ -0,0 +1,160 @@ +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/base/benchmark.json +697425216408a85e9366238fda09ade9c0414c1f0da5000886759918427626d2 baseline-0/mixed_write/enum/1000/base/estimates.json +50e80dd88b18f8df864e611e7bdcd180da5b8fc8c980fcd5ec87d162f0d6e6fe baseline-0/mixed_write/enum/1000/base/sample.json +5e4ea46ad3b4bb815e04eefb080a829be66c7853237fcbede283407a5a3297cc baseline-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/new/benchmark.json +697425216408a85e9366238fda09ade9c0414c1f0da5000886759918427626d2 baseline-0/mixed_write/enum/1000/new/estimates.json +50e80dd88b18f8df864e611e7bdcd180da5b8fc8c980fcd5ec87d162f0d6e6fe baseline-0/mixed_write/enum/1000/new/sample.json +5e4ea46ad3b4bb815e04eefb080a829be66c7853237fcbede283407a5a3297cc baseline-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/base/benchmark.json +402e679721d69d582e33d97d048801cae12da84cf549631dacae71f3229aadbd baseline-0/mixed_write/nested/1000/base/estimates.json +41dea07237dab251d98dd3709b03c864bb880ed14d253d8244cf90aed40c9ba3 baseline-0/mixed_write/nested/1000/base/sample.json +a2512b779c8d9b2ef40be4715cb9f00981ee1e99c2228a08e3b9eb5b5be5e10f baseline-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/new/benchmark.json +402e679721d69d582e33d97d048801cae12da84cf549631dacae71f3229aadbd baseline-0/mixed_write/nested/1000/new/estimates.json +41dea07237dab251d98dd3709b03c864bb880ed14d253d8244cf90aed40c9ba3 baseline-0/mixed_write/nested/1000/new/sample.json +a2512b779c8d9b2ef40be4715cb9f00981ee1e99c2228a08e3b9eb5b5be5e10f baseline-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/base/benchmark.json +95b7b29a80ae2ae3679d013ae32aa2b579a208d98814dd9cb376b158fe5b13d9 baseline-0/mixed_write/pattern/1000/base/estimates.json +e2138b69497bbefe0dd62d6e8288601880c88966d46b96c9c4d93910cd308ec8 baseline-0/mixed_write/pattern/1000/base/sample.json +80fcd30f77fb01ad95214b2b934e68d0449fbdd5642cc5ee57ac3f0ef46daaf5 baseline-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/new/benchmark.json +95b7b29a80ae2ae3679d013ae32aa2b579a208d98814dd9cb376b158fe5b13d9 baseline-0/mixed_write/pattern/1000/new/estimates.json +e2138b69497bbefe0dd62d6e8288601880c88966d46b96c9c4d93910cd308ec8 baseline-0/mixed_write/pattern/1000/new/sample.json +80fcd30f77fb01ad95214b2b934e68d0449fbdd5642cc5ee57ac3f0ef46daaf5 baseline-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/base/benchmark.json +c1a0b8735669506338866c400a7e4562a682f58882ba585fe653ab5534f01e69 baseline-0/mixed_write/scalar/1000/base/estimates.json +f2a6bab75b514bd0c825f16deb3035e5cabc02b95c3add83e570a1f242e3dac0 baseline-0/mixed_write/scalar/1000/base/sample.json +ebf6f014a5d63e630f7d57a6e8445f6f78e33b8561f3f8438f7057c67bc8d1bd baseline-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/new/benchmark.json +c1a0b8735669506338866c400a7e4562a682f58882ba585fe653ab5534f01e69 baseline-0/mixed_write/scalar/1000/new/estimates.json +f2a6bab75b514bd0c825f16deb3035e5cabc02b95c3add83e570a1f242e3dac0 baseline-0/mixed_write/scalar/1000/new/sample.json +ebf6f014a5d63e630f7d57a6e8445f6f78e33b8561f3f8438f7057c67bc8d1bd baseline-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/base/benchmark.json +ea46a55c2a834498cb3161e053966b7980ce7e34f9833794b6258ffdc6cf5012 baseline-0/mixed_write/text/1000/base/estimates.json +f26fc9aba08adabeb7144607b81998656bcd38c348ea9b0863834917030461b0 baseline-0/mixed_write/text/1000/base/sample.json +51a23d1f5fdab32094c050870005deba1ed2c6c610f4d0aa9b1d15c3096681b9 baseline-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/new/benchmark.json +ea46a55c2a834498cb3161e053966b7980ce7e34f9833794b6258ffdc6cf5012 baseline-0/mixed_write/text/1000/new/estimates.json +f26fc9aba08adabeb7144607b81998656bcd38c348ea9b0863834917030461b0 baseline-0/mixed_write/text/1000/new/sample.json +51a23d1f5fdab32094c050870005deba1ed2c6c610f4d0aa9b1d15c3096681b9 baseline-0/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/base/benchmark.json +94a2b15322f40c8677180aa298f7e6da307d8f5341f55aac26e66db9ba8256c5 baseline-1/mixed_write/enum/1000/base/estimates.json +605b8f62c8148c2aab81890b7870aa7da9e158355261878b3ba28251e73ca2bf baseline-1/mixed_write/enum/1000/base/sample.json +c21d8fc67232fcc2faec66b1f7274d1e31337c17ada4f5667b7fbffb9960707f baseline-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/new/benchmark.json +94a2b15322f40c8677180aa298f7e6da307d8f5341f55aac26e66db9ba8256c5 baseline-1/mixed_write/enum/1000/new/estimates.json +605b8f62c8148c2aab81890b7870aa7da9e158355261878b3ba28251e73ca2bf baseline-1/mixed_write/enum/1000/new/sample.json +c21d8fc67232fcc2faec66b1f7274d1e31337c17ada4f5667b7fbffb9960707f baseline-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/base/benchmark.json +ee45aabb118965113e093c3475b67819130b89ec7f2b97e4abd5b27f02b48ad7 baseline-1/mixed_write/nested/1000/base/estimates.json +96973b63c3dd5c7e8e6a155dc10c8f230152d96226f73109fd48d5cda068f53d baseline-1/mixed_write/nested/1000/base/sample.json +45cb3fd2f8ad02e903eca6be9a997c6b7049360140be57a70d16e68001bcd9bb baseline-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/new/benchmark.json +ee45aabb118965113e093c3475b67819130b89ec7f2b97e4abd5b27f02b48ad7 baseline-1/mixed_write/nested/1000/new/estimates.json +96973b63c3dd5c7e8e6a155dc10c8f230152d96226f73109fd48d5cda068f53d baseline-1/mixed_write/nested/1000/new/sample.json +45cb3fd2f8ad02e903eca6be9a997c6b7049360140be57a70d16e68001bcd9bb baseline-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/base/benchmark.json +a52358b5c180daf01451b8cf069025581bc0e01abba1921be6cbfded6b72d511 baseline-1/mixed_write/pattern/1000/base/estimates.json +da6c26736313c58a0b176005ed4ee0d78629e7d601f13fe3722f2342e2e20a65 baseline-1/mixed_write/pattern/1000/base/sample.json +13d6344f58310b0f6c9c9c91fbb4aac5f690cb55f625eaa7e3293ee0f16ea5ff baseline-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/new/benchmark.json +a52358b5c180daf01451b8cf069025581bc0e01abba1921be6cbfded6b72d511 baseline-1/mixed_write/pattern/1000/new/estimates.json +da6c26736313c58a0b176005ed4ee0d78629e7d601f13fe3722f2342e2e20a65 baseline-1/mixed_write/pattern/1000/new/sample.json +13d6344f58310b0f6c9c9c91fbb4aac5f690cb55f625eaa7e3293ee0f16ea5ff baseline-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/base/benchmark.json +1d5a4d98769bf1cc42cadcaaeb16390cdffcdb4312395c72ca2957432e5fb8ac baseline-1/mixed_write/scalar/1000/base/estimates.json +44f30e4e06feb9a981621b3e89b91f44af2eb685fd5823e687852af9101f1db0 baseline-1/mixed_write/scalar/1000/base/sample.json +cf0225567be403ac615e4665a5d410720a183ddb3432ca407860d20adaafe068 baseline-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/new/benchmark.json +1d5a4d98769bf1cc42cadcaaeb16390cdffcdb4312395c72ca2957432e5fb8ac baseline-1/mixed_write/scalar/1000/new/estimates.json +44f30e4e06feb9a981621b3e89b91f44af2eb685fd5823e687852af9101f1db0 baseline-1/mixed_write/scalar/1000/new/sample.json +cf0225567be403ac615e4665a5d410720a183ddb3432ca407860d20adaafe068 baseline-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/base/benchmark.json +c2d86de1f70a141f79d776e2fda45e7513eb274ef03cf5792b86ebf905d540d1 baseline-1/mixed_write/text/1000/base/estimates.json +f448afc0db90510dee9940f45b72332e8f18254064fc05d3c3146f91c926d514 baseline-1/mixed_write/text/1000/base/sample.json +7a15ed5f5173851176acfcdda70b0d5c7544995e338cd803518d3b2856a500d5 baseline-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/new/benchmark.json +c2d86de1f70a141f79d776e2fda45e7513eb274ef03cf5792b86ebf905d540d1 baseline-1/mixed_write/text/1000/new/estimates.json +f448afc0db90510dee9940f45b72332e8f18254064fc05d3c3146f91c926d514 baseline-1/mixed_write/text/1000/new/sample.json +7a15ed5f5173851176acfcdda70b0d5c7544995e338cd803518d3b2856a500d5 baseline-1/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/base/benchmark.json +d38fe8b3a336fe1e0a76a00064c052c2a94cbcb515ae1eccacccfaaf48cd2924 current-0/mixed_write/enum/1000/base/estimates.json +8bb4f6f9b9a4dd98d332d36af80a58a24cc20cf062fd958d8d0d4addd86c276b current-0/mixed_write/enum/1000/base/sample.json +b5c86ce60b21edf6bdf810c8b7338d5d4fbb280b4b54155e38d7c19e0d00dcc4 current-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/new/benchmark.json +d38fe8b3a336fe1e0a76a00064c052c2a94cbcb515ae1eccacccfaaf48cd2924 current-0/mixed_write/enum/1000/new/estimates.json +8bb4f6f9b9a4dd98d332d36af80a58a24cc20cf062fd958d8d0d4addd86c276b current-0/mixed_write/enum/1000/new/sample.json +b5c86ce60b21edf6bdf810c8b7338d5d4fbb280b4b54155e38d7c19e0d00dcc4 current-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/base/benchmark.json +b812a11653cc374f6394d1273b564c2c982ee27a3dd8ce0ba42bd9639972d798 current-0/mixed_write/nested/1000/base/estimates.json +f76a29d457f699eb70e41a227abe795eaf2c625f187c9ef7e7d31a5355a462de current-0/mixed_write/nested/1000/base/sample.json +cb716fde32fc04226aa7949290562011e8520c3dad8e4114e4153dd134919e3e current-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/new/benchmark.json +b812a11653cc374f6394d1273b564c2c982ee27a3dd8ce0ba42bd9639972d798 current-0/mixed_write/nested/1000/new/estimates.json +f76a29d457f699eb70e41a227abe795eaf2c625f187c9ef7e7d31a5355a462de current-0/mixed_write/nested/1000/new/sample.json +cb716fde32fc04226aa7949290562011e8520c3dad8e4114e4153dd134919e3e current-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/base/benchmark.json +3d2813c2202ddb459a104ef1ccb6b8297f96a69820a34bd5db51b542b3c05c4d current-0/mixed_write/pattern/1000/base/estimates.json +cc2d4135cd5f07f40cb3b1ccb2f505135018acfaf0284a8e8dbf98cd25fe0ec3 current-0/mixed_write/pattern/1000/base/sample.json +f91b3495a6f90726488418f1b96b48c87cea7e2cc93bdfe5e67982f380bc5d4d current-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/new/benchmark.json +3d2813c2202ddb459a104ef1ccb6b8297f96a69820a34bd5db51b542b3c05c4d current-0/mixed_write/pattern/1000/new/estimates.json +cc2d4135cd5f07f40cb3b1ccb2f505135018acfaf0284a8e8dbf98cd25fe0ec3 current-0/mixed_write/pattern/1000/new/sample.json +f91b3495a6f90726488418f1b96b48c87cea7e2cc93bdfe5e67982f380bc5d4d current-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/base/benchmark.json +3241d966580ff29cb2247186017382a7bfdfc8c69ee6aae6c64a36321bc6baa0 current-0/mixed_write/scalar/1000/base/estimates.json +944a0dd6740dbe0737312489ec2b6b50e95608a87f60e3d6f98c9d4cecdcd708 current-0/mixed_write/scalar/1000/base/sample.json +da18ab51af90c93a9b364e15b68f3926ef51a5aa76a87b898659bd119a8528ef current-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/new/benchmark.json +3241d966580ff29cb2247186017382a7bfdfc8c69ee6aae6c64a36321bc6baa0 current-0/mixed_write/scalar/1000/new/estimates.json +944a0dd6740dbe0737312489ec2b6b50e95608a87f60e3d6f98c9d4cecdcd708 current-0/mixed_write/scalar/1000/new/sample.json +da18ab51af90c93a9b364e15b68f3926ef51a5aa76a87b898659bd119a8528ef current-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/base/benchmark.json +f391b42397831ddb4426f7bb032221c68f23cf9b7e6535f6bfd6b19c36586d4a current-0/mixed_write/text/1000/base/estimates.json +0dd28e3161ece612443babc0dde2f4f404f7f3dfb3952207effd5e3970c577fd current-0/mixed_write/text/1000/base/sample.json +d959637286bfbe1ff420ee4578260ba40930a497918f8acb3f070125cf548ef0 current-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/new/benchmark.json +f391b42397831ddb4426f7bb032221c68f23cf9b7e6535f6bfd6b19c36586d4a current-0/mixed_write/text/1000/new/estimates.json +0dd28e3161ece612443babc0dde2f4f404f7f3dfb3952207effd5e3970c577fd current-0/mixed_write/text/1000/new/sample.json +d959637286bfbe1ff420ee4578260ba40930a497918f8acb3f070125cf548ef0 current-0/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/base/benchmark.json +1bc7d6222d9625e4049bcb8912c2927c74fd3dd47a75253fed36671aecfebbfd current-1/mixed_write/enum/1000/base/estimates.json +88d174893761a1ad9d5b082ceb2dcb744fe6414dc5f1cfe1c4c20f4e95a25d83 current-1/mixed_write/enum/1000/base/sample.json +474d6370126f670cd06770239ecdd21d8e40d91b131dd45327551ac2d8755239 current-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/new/benchmark.json +1bc7d6222d9625e4049bcb8912c2927c74fd3dd47a75253fed36671aecfebbfd current-1/mixed_write/enum/1000/new/estimates.json +88d174893761a1ad9d5b082ceb2dcb744fe6414dc5f1cfe1c4c20f4e95a25d83 current-1/mixed_write/enum/1000/new/sample.json +474d6370126f670cd06770239ecdd21d8e40d91b131dd45327551ac2d8755239 current-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/base/benchmark.json +4ec233245d3bbece088ea9b77f9656a238f50be989408a1202ca2ddcf65f080a current-1/mixed_write/nested/1000/base/estimates.json +4d903ede8dae9068ac212dfa60326335f8bcdff31a44dcfbad12c88bef515ea5 current-1/mixed_write/nested/1000/base/sample.json +123482d56aaad7957d0ec5ea26804f28fd100bdf9139b696c704c2c4d3149dfb current-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/new/benchmark.json +4ec233245d3bbece088ea9b77f9656a238f50be989408a1202ca2ddcf65f080a current-1/mixed_write/nested/1000/new/estimates.json +4d903ede8dae9068ac212dfa60326335f8bcdff31a44dcfbad12c88bef515ea5 current-1/mixed_write/nested/1000/new/sample.json +123482d56aaad7957d0ec5ea26804f28fd100bdf9139b696c704c2c4d3149dfb current-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/base/benchmark.json +3751d387fced86bdac4c7f9526e7bddf3e6c55574622fb3f12d4afe86194af6c current-1/mixed_write/pattern/1000/base/estimates.json +5867b64a4448224e224cadfec056464eac06a0f1a299555dcfbce52dffbdc509 current-1/mixed_write/pattern/1000/base/sample.json +f75f8aad60e824fff273fd23a4e08557f61dccf81b9d940d5e3f9aa59e0d0f26 current-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/new/benchmark.json +3751d387fced86bdac4c7f9526e7bddf3e6c55574622fb3f12d4afe86194af6c current-1/mixed_write/pattern/1000/new/estimates.json +5867b64a4448224e224cadfec056464eac06a0f1a299555dcfbce52dffbdc509 current-1/mixed_write/pattern/1000/new/sample.json +f75f8aad60e824fff273fd23a4e08557f61dccf81b9d940d5e3f9aa59e0d0f26 current-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/base/benchmark.json +abce8c3d1325ccce2cf93c94be210a9184b9f3239b5d746610ba3553d37c51bc current-1/mixed_write/scalar/1000/base/estimates.json +cb4ca11746ed91c631dddddaa1f99f76be4af8acb11329586088f1a4fe9522fb current-1/mixed_write/scalar/1000/base/sample.json +422f94717beb8daeaaed3aa72fd77d81b75ac84e30283af45cdb0355eb2d1663 current-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/new/benchmark.json +abce8c3d1325ccce2cf93c94be210a9184b9f3239b5d746610ba3553d37c51bc current-1/mixed_write/scalar/1000/new/estimates.json +cb4ca11746ed91c631dddddaa1f99f76be4af8acb11329586088f1a4fe9522fb current-1/mixed_write/scalar/1000/new/sample.json +422f94717beb8daeaaed3aa72fd77d81b75ac84e30283af45cdb0355eb2d1663 current-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/base/benchmark.json +09240cb61a1ccf3bac796991257202864080ed1fd94eb7319c93bb2746db4acc current-1/mixed_write/text/1000/base/estimates.json +2bf78e67e22cb865240b88883a22f005a92a7997da6aef3cdbe6962badaabe5c current-1/mixed_write/text/1000/base/sample.json +74e11ceb4990ba7ba09f99db960c95daeb3ab1381e48ee937172eabbe693b139 current-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/new/benchmark.json +09240cb61a1ccf3bac796991257202864080ed1fd94eb7319c93bb2746db4acc current-1/mixed_write/text/1000/new/estimates.json +2bf78e67e22cb865240b88883a22f005a92a7997da6aef3cdbe6962badaabe5c current-1/mixed_write/text/1000/new/sample.json +74e11ceb4990ba7ba09f99db960c95daeb3ab1381e48ee937172eabbe693b139 current-1/mixed_write/text/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/criterion-results.tar.gz new file mode 100644 index 0000000..8c3c557 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current-0.txt new file mode 100644 index 0000000..52773e8 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current-0.txt @@ -0,0 +1,47 @@ +memcap: <=7739 MiB (60% of 12898 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0039 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [140.34 µs 141.21 µs 142.18 µs] + thrpt: [193.87 MiB/s 195.20 MiB/s 196.41 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 4 (8.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0012 s (17k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [115.52 µs 116.38 µs 117.41 µs] + thrpt: [340.36 MiB/s 343.38 MiB/s 345.92 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0017 s (23k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [84.267 µs 85.147 µs 86.261 µs] + thrpt: [221.26 MiB/s 224.15 MiB/s 226.49 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 5 (10.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0025 s (14k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [147.99 µs 149.42 µs 151.20 µs] + thrpt: [119.92 MiB/s 121.35 MiB/s 122.52 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 4 (8.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0035 s (19k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [102.26 µs 102.78 µs 103.39 µs] + thrpt: [349.62 MiB/s 351.68 MiB/s 353.47 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current-1.txt new file mode 100644 index 0000000..ebf1be5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current-1.txt @@ -0,0 +1,47 @@ +memcap: <=7741 MiB (60% of 12902 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0073 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [141.45 µs 142.33 µs 143.36 µs] + thrpt: [192.27 MiB/s 193.66 MiB/s 194.87 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 2 (4.00%) high mild + 6 (12.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0026 s (16k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [119.48 µs 120.26 µs 121.29 µs] + thrpt: [329.47 MiB/s 332.30 MiB/s 334.45 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0020 s (24k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [84.597 µs 85.876 µs 87.787 µs] + thrpt: [217.41 MiB/s 222.25 MiB/s 225.61 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0008 s (13k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [147.30 µs 148.19 µs 149.34 µs] + thrpt: [121.42 MiB/s 122.36 MiB/s 123.09 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0013 s (19k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [101.74 µs 102.57 µs 103.78 µs] + thrpt: [348.29 MiB/s 352.41 MiB/s 355.29 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current-build.txt new file mode 100644 index 0000000..ecdc3c3 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current-build.txt @@ -0,0 +1,4 @@ +memcap: <=7717 MiB (60% of 12863 MiB available) [systemd MemoryMax, swap off] + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-nil/crates/polyxml-core) + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-nil/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 27.02s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/harness.rs new file mode 100644 index 0000000..7d0413e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/harness.rs @@ -0,0 +1,120 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["mixed_read", "mixed_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for kind in ["text", "scalar", "enum", "pattern", "nested"] { + let (schema, xml) = fixture(kind, 1000); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function(BenchmarkId::new(kind, 1000), |b| { + if operation == "mixed_read" { + b.iter(|| { + black_box(deserialize(black_box(&xml), Arc::clone(&schema)).unwrap()) + }); + } else { + b.iter(|| { + black_box(serialize("Root", black_box(&value), &schema, None).unwrap()) + }); + } + }); + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/metadata.json new file mode 100644 index 0000000..cf14a1a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "121ac4b888fd434060d13fc886835a2fd46d684c" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^mixed_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/summary.json new file mode 100644 index 0000000..fdc0e3e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-cold-screen/summary.json @@ -0,0 +1,262 @@ +{ + "mixed_write/enum/1000": { + "baseline_ns": 82324.30772316181, + "candidate_ns": 85511.4220036346, + "delta_percent": 3.8714133997826528, + "speedup": 0.962728788671795, + "process_deltas_percent": [ + 3.7252229809041193, + 4.0167703843650315 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 81138.796152834, + "upper_bound": 83160.82836032388 + }, + "point_estimate": 82088.9706882591, + "standard_error": 516.7389230720354 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 81159.57947681451, + "upper_bound": 84284.20538608868 + }, + "point_estimate": 82559.64475806452, + "standard_error": 802.3016924406211 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 84267.18686247332, + "upper_bound": 86260.6841513859 + }, + "point_estimate": 85146.96788912578, + "standard_error": 513.7170639697724 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 84596.78713291136, + "upper_bound": 87787.4828154008 + }, + "point_estimate": 85875.87611814342, + "standard_error": 839.1597824237916 + } + ] + } + }, + "mixed_write/nested/1000": { + "baseline_ns": 99024.08783654678, + "candidate_ns": 102678.1218898424, + "delta_percent": 3.6900456577061425, + "speedup": 0.9644127299366089, + "process_deltas_percent": [ + 1.369407306149184, + 6.124605552492635 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99516.40623950613, + "upper_bound": 103731.2066790124 + }, + "point_estimate": 101396.43412345677, + "standard_error": 1082.587637821148 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 96256.00109564165, + "upper_bound": 97119.50542615012 + }, + "point_estimate": 96651.74154963679, + "standard_error": 221.16482393547386 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 102262.3175919689, + "upper_bound": 103390.2336761658 + }, + "point_estimate": 102784.96430051813, + "standard_error": 288.06059258644456 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 101740.32558463539, + "upper_bound": 103783.52049479166 + }, + "point_estimate": 102571.27947916667, + "standard_error": 534.2047548329198 + } + ] + } + }, + "mixed_write/pattern/1000": { + "baseline_ns": 144793.78810131678, + "candidate_ns": 148807.03695527598, + "delta_percent": 2.7716996057531196, + "speedup": 0.9730305169965491, + "process_deltas_percent": [ + 2.3448680959197166, + 3.205694016313343 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144424.0691942446, + "upper_bound": 147845.9972122302 + }, + "point_estimate": 145998.6118705036, + "standard_error": 879.0869488174081 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142932.04763176895, + "upper_bound": 144439.58590433214 + }, + "point_estimate": 143588.96433212992, + "standard_error": 388.8955618958993 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 147991.39466666663, + "upper_bound": 151201.28762962957 + }, + "point_estimate": 149422.0867407407, + "standard_error": 824.3501176689654 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 147302.81826603774, + "upper_bound": 149339.4611283019 + }, + "point_estimate": 148191.9871698113, + "standard_error": 522.8049841050928 + } + ] + } + }, + "mixed_write/scalar/1000": { + "baseline_ns": 100793.7799250979, + "candidate_ns": 118317.64756835799, + "delta_percent": 17.38586215963174, + "speedup": 0.8518913450072131, + "process_deltas_percent": [ + 21.437237669184483, + 13.714505851019654 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 95095.721075, + "upper_bound": 96702.54856428572 + }, + "point_estimate": 95833.93247619047, + "standard_error": 412.4958091721238 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 105245.31862732097, + "upper_bound": 106335.09169230773 + }, + "point_estimate": 105753.62737400533, + "standard_error": 278.34840236457836 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 115523.09909011624, + "upper_bound": 117410.05964680236 + }, + "point_estimate": 116378.08034883719, + "standard_error": 484.90364660593474 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 119484.51301818187, + "upper_bound": 121291.63984848485 + }, + "point_estimate": 120257.21478787881, + "standard_error": 467.43336701640135 + } + ] + } + }, + "mixed_write/text/1000": { + "baseline_ns": 147040.41802773063, + "candidate_ns": 141772.15208553936, + "delta_percent": -3.5828692633325554, + "speedup": 1.0371600900789926, + "process_deltas_percent": [ + -4.702060344495418, + -2.4462030023114756 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 146051.42024060147, + "upper_bound": 150981.0667857143 + }, + "point_estimate": 148179.47842105269, + "standard_error": 1279.237379845318 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 145000.27641039426, + "upper_bound": 146845.4696577061 + }, + "point_estimate": 145901.35763440857, + "standard_error": 470.57875180833526 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 140336.32124456522, + "upper_bound": 142180.34248188403 + }, + "point_estimate": 141211.98992753623, + "standard_error": 470.67758932123223 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 141447.78706088563, + "upper_bound": 143364.63179335796 + }, + "point_estimate": 142332.31424354247, + "standard_error": 493.5956573028295 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-0.txt new file mode 100644 index 0000000..f2cca8f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-0.txt @@ -0,0 +1,94 @@ +memcap: <=7679 MiB (60% of 12798 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 3.0000 s +Benchmarking mixed_read/text/1000: Collecting 100 samples in estimated 5.0519 s (6100 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [787.44 µs 792.44 µs 798.56 µs] + thrpt: [34.517 MiB/s 34.784 MiB/s 35.005 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 5 (5.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 100 samples in estimated 5.0125 s (13k iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [389.84 µs 391.64 µs 393.70 µs] + thrpt: [101.50 MiB/s 102.04 MiB/s 102.51 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 7 (7.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_read/enum/1000: Collecting 100 samples in estimated 5.0180 s (15k iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [322.39 µs 323.89 µs 325.55 µs] + thrpt: [58.627 MiB/s 58.927 MiB/s 59.201 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 7 (7.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 100 samples in estimated 5.0171 s (12k iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [403.70 µs 405.44 µs 407.41 µs] + thrpt: [44.506 MiB/s 44.722 MiB/s 44.915 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 3 (3.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_read/nested/1000: Collecting 100 samples in estimated 5.0363 s (8000 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [632.70 µs 640.64 µs 650.75 µs] + thrpt: [55.547 MiB/s 56.423 MiB/s 57.131 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 6 (6.00%) high mild + 4 (4.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0088 s (34k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [144.92 µs 145.88 µs 147.06 µs] + thrpt: [187.43 MiB/s 188.95 MiB/s 190.20 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 5 (5.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0084 s (47k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [105.90 µs 106.78 µs 107.91 µs] + thrpt: [370.33 MiB/s 374.25 MiB/s 377.35 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 6 (6.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0028 s (62k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.231 µs 81.092 µs 82.252 µs] + thrpt: [232.04 MiB/s 235.36 MiB/s 237.89 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 6 (6.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0018 s (31k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [164.38 µs 165.69 µs 167.39 µs] + thrpt: [108.32 MiB/s 109.44 MiB/s 110.31 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 4 (4.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0070 s (50k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [98.713 µs 99.189 µs 99.731 µs] + thrpt: [362.45 MiB/s 364.43 MiB/s 366.19 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 7 (7.00%) high mild + 3 (3.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-1.txt new file mode 100644 index 0000000..9aae272 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-1.txt @@ -0,0 +1,94 @@ +memcap: <=7738 MiB (60% of 12897 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 3.0000 s +Benchmarking mixed_read/text/1000: Collecting 100 samples in estimated 5.0381 s (6800 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [719.14 µs 722.87 µs 727.34 µs] + thrpt: [37.897 MiB/s 38.131 MiB/s 38.329 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 1 (1.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 100 samples in estimated 5.0313 s (13k iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [390.84 µs 393.28 µs 396.14 µs] + thrpt: [100.88 MiB/s 101.61 MiB/s 102.25 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 3 (3.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_read/enum/1000: Collecting 100 samples in estimated 5.0040 s (15k iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [323.03 µs 324.99 µs 327.47 µs] + thrpt: [58.283 MiB/s 58.728 MiB/s 59.084 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 4 (4.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 100 samples in estimated 5.0334 s (12k iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [405.48 µs 407.84 µs 410.82 µs] + thrpt: [44.137 MiB/s 44.459 MiB/s 44.718 MiB/s] +Found 6 outliers among 100 measurements (6.00%) + 3 (3.00%) high mild + 3 (3.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_read/nested/1000: Collecting 100 samples in estimated 5.0377 s (8000 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [628.97 µs 634.19 µs 640.91 µs] + thrpt: [56.400 MiB/s 56.998 MiB/s 57.470 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 6 (6.00%) high mild + 6 (6.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0125 s (34k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [144.41 µs 144.97 µs 145.61 µs] + thrpt: [189.30 MiB/s 190.13 MiB/s 190.88 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 8 (8.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0004 s (51k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [97.024 µs 97.474 µs 97.994 µs] + thrpt: [407.80 MiB/s 409.97 MiB/s 411.87 MiB/s] +Found 7 outliers among 100 measurements (7.00%) + 3 (3.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0007 s (62k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.466 µs 80.982 µs 81.564 µs] + thrpt: [234.00 MiB/s 235.68 MiB/s 237.19 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 5 (5.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0099 s (34k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [143.57 µs 144.47 µs 145.61 µs] + thrpt: [124.53 MiB/s 125.51 MiB/s 126.29 MiB/s] +Found 15 outliers among 100 measurements (15.00%) + 5 (5.00%) high mild + 10 (10.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0069 s (51k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [98.527 µs 99.166 µs 99.925 µs] + thrpt: [361.74 MiB/s 364.51 MiB/s 366.87 MiB/s] +Found 18 outliers among 100 measurements (18.00%) + 10 (10.00%) high mild + 8 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-2.txt new file mode 100644 index 0000000..96113be --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-2.txt @@ -0,0 +1,93 @@ +memcap: <=7740 MiB (60% of 12901 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 3.0000 s +Benchmarking mixed_read/text/1000: Collecting 100 samples in estimated 5.0262 s (6200 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [786.64 µs 788.82 µs 791.18 µs] + thrpt: [34.839 MiB/s 34.943 MiB/s 35.040 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 7 (7.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 100 samples in estimated 5.0036 s (12k iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [399.36 µs 401.53 µs 404.28 µs] + thrpt: [98.847 MiB/s 99.524 MiB/s 100.06 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 1 (1.00%) high mild + 8 (8.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_read/enum/1000: Collecting 100 samples in estimated 5.0225 s (15k iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [323.21 µs 324.56 µs 326.05 µs] + thrpt: [58.536 MiB/s 58.806 MiB/s 59.052 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 8 (8.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 100 samples in estimated 5.0092 s (12k iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [406.92 µs 409.33 µs 412.49 µs] + thrpt: [43.957 MiB/s 44.297 MiB/s 44.560 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 2 (2.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_read/nested/1000: Collecting 100 samples in estimated 5.0626 s (7800 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [645.85 µs 648.96 µs 652.45 µs] + thrpt: [55.402 MiB/s 55.700 MiB/s 55.968 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 2 (2.00%) high mild + 11 (11.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0143 s (34k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [145.91 µs 146.73 µs 147.66 µs] + thrpt: [186.68 MiB/s 187.85 MiB/s 188.91 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 4 (4.00%) high mild + 10 (10.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0019 s (52k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [96.508 µs 97.128 µs 97.851 µs] + thrpt: [408.40 MiB/s 411.44 MiB/s 414.08 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 11 (11.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0034 s (62k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [81.210 µs 81.756 µs 82.449 µs] + thrpt: [231.49 MiB/s 233.45 MiB/s 235.02 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 2 (2.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0003 s (34k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [143.57 µs 144.29 µs 145.15 µs] + thrpt: [124.92 MiB/s 125.67 MiB/s 126.29 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 2 (2.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0069 s (51k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [98.257 µs 98.971 µs 99.808 µs] + thrpt: [362.17 MiB/s 365.23 MiB/s 367.88 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 3 (3.00%) high mild + 9 (9.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-build.txt new file mode 100644 index 0000000..4c97fd8 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7730 MiB (60% of 12884 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-nil/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.86s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/criterion-SHA256SUMS new file mode 100644 index 0000000..fe1b58a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/criterion-SHA256SUMS @@ -0,0 +1,480 @@ +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-0/mixed_read/enum/1000/base/benchmark.json +1f64faeabcaae7de7e783368293204dbf3e1d18f5722e4d6c74e31c3ff43b982 baseline-0/mixed_read/enum/1000/base/estimates.json +04dbdbe10389f7544361ebb7a3a4c939d8854585d08177c1a1dc7b6d77a6476b baseline-0/mixed_read/enum/1000/base/sample.json +57e70c2870712f738edf3a7e42b72ec1a0fc68db77eb55f868daba4c00d18433 baseline-0/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-0/mixed_read/enum/1000/new/benchmark.json +1f64faeabcaae7de7e783368293204dbf3e1d18f5722e4d6c74e31c3ff43b982 baseline-0/mixed_read/enum/1000/new/estimates.json +04dbdbe10389f7544361ebb7a3a4c939d8854585d08177c1a1dc7b6d77a6476b baseline-0/mixed_read/enum/1000/new/sample.json +57e70c2870712f738edf3a7e42b72ec1a0fc68db77eb55f868daba4c00d18433 baseline-0/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-0/mixed_read/nested/1000/base/benchmark.json +fc0ead3839ffa430089003f84af58ac9121d3ce9252b84be17ff2eb446c9ca81 baseline-0/mixed_read/nested/1000/base/estimates.json +967dc687b91f35965e8f1e485d268ba47bfc4bf4149ff45fa51b7a9c3b87f983 baseline-0/mixed_read/nested/1000/base/sample.json +78cb1b716956fd8c43f476b4c4b7ebe9719446fdfaf7ee3d3c938045fd6cadd3 baseline-0/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-0/mixed_read/nested/1000/new/benchmark.json +fc0ead3839ffa430089003f84af58ac9121d3ce9252b84be17ff2eb446c9ca81 baseline-0/mixed_read/nested/1000/new/estimates.json +967dc687b91f35965e8f1e485d268ba47bfc4bf4149ff45fa51b7a9c3b87f983 baseline-0/mixed_read/nested/1000/new/sample.json +78cb1b716956fd8c43f476b4c4b7ebe9719446fdfaf7ee3d3c938045fd6cadd3 baseline-0/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-0/mixed_read/pattern/1000/base/benchmark.json +90f87bba34756eb95862f96ef177d4c9e87b70492ce206c441e0c243b3b87ba3 baseline-0/mixed_read/pattern/1000/base/estimates.json +8ce2e4f23a6cac1a8400b23c0db29d1b8ce3ebb92e55cdea2c1eb5f00268bd6c baseline-0/mixed_read/pattern/1000/base/sample.json +ec9e27e4f05e0b7cec481717c2c1d4c7dcef4b96ede855b0d408e687a1b4eeaf baseline-0/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-0/mixed_read/pattern/1000/new/benchmark.json +90f87bba34756eb95862f96ef177d4c9e87b70492ce206c441e0c243b3b87ba3 baseline-0/mixed_read/pattern/1000/new/estimates.json +8ce2e4f23a6cac1a8400b23c0db29d1b8ce3ebb92e55cdea2c1eb5f00268bd6c baseline-0/mixed_read/pattern/1000/new/sample.json +ec9e27e4f05e0b7cec481717c2c1d4c7dcef4b96ede855b0d408e687a1b4eeaf baseline-0/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-0/mixed_read/scalar/1000/base/benchmark.json +9b3b2293ed1d50a827ecc808c09c037c9ad5ed5f4e559afcc136c0de507365e8 baseline-0/mixed_read/scalar/1000/base/estimates.json +cd14fb35cf7732b7bdebee3360bfcb84a772f04b3f6f578230c595ddeaec61bb baseline-0/mixed_read/scalar/1000/base/sample.json +1283d4074e11fc442d57197c872902a3a085d144e8d89aa7cc6bf42f1076509c baseline-0/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-0/mixed_read/scalar/1000/new/benchmark.json +9b3b2293ed1d50a827ecc808c09c037c9ad5ed5f4e559afcc136c0de507365e8 baseline-0/mixed_read/scalar/1000/new/estimates.json +cd14fb35cf7732b7bdebee3360bfcb84a772f04b3f6f578230c595ddeaec61bb baseline-0/mixed_read/scalar/1000/new/sample.json +1283d4074e11fc442d57197c872902a3a085d144e8d89aa7cc6bf42f1076509c baseline-0/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-0/mixed_read/text/1000/base/benchmark.json +6c1b0eb9e8e78f4d945e266b4a6221fd5ca730ea9c2c82377866d44c601ba0b9 baseline-0/mixed_read/text/1000/base/estimates.json +8c63b74167e4feb6f86dfeb649a111e2a513aa2dd95398fac551dfa0ecdac819 baseline-0/mixed_read/text/1000/base/sample.json +a4e3cdb01c327e9118ca68cd0bdf5a982bab93408e56d9b672f7c9b3c6a212cf baseline-0/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-0/mixed_read/text/1000/new/benchmark.json +6c1b0eb9e8e78f4d945e266b4a6221fd5ca730ea9c2c82377866d44c601ba0b9 baseline-0/mixed_read/text/1000/new/estimates.json +8c63b74167e4feb6f86dfeb649a111e2a513aa2dd95398fac551dfa0ecdac819 baseline-0/mixed_read/text/1000/new/sample.json +a4e3cdb01c327e9118ca68cd0bdf5a982bab93408e56d9b672f7c9b3c6a212cf baseline-0/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/base/benchmark.json +434b5ae3157b0aaa2b9ef676c12f712dc3850bd38d64e5e02897934ff95bab9d baseline-0/mixed_write/enum/1000/base/estimates.json +6b843ec86372b49960c07f86d6c74cad08145e44a8eb972a5d84971c87d056b7 baseline-0/mixed_write/enum/1000/base/sample.json +65fe237c4b726b26cdfab3c5ffcad4c4a1fc6bc35afb589e29a2666d3d21cb0e baseline-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/new/benchmark.json +434b5ae3157b0aaa2b9ef676c12f712dc3850bd38d64e5e02897934ff95bab9d baseline-0/mixed_write/enum/1000/new/estimates.json +6b843ec86372b49960c07f86d6c74cad08145e44a8eb972a5d84971c87d056b7 baseline-0/mixed_write/enum/1000/new/sample.json +65fe237c4b726b26cdfab3c5ffcad4c4a1fc6bc35afb589e29a2666d3d21cb0e baseline-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/base/benchmark.json +bdab0888122186e09ab36a37b6376ab7b547554e25427e912b7d3b7865b26541 baseline-0/mixed_write/nested/1000/base/estimates.json +0cce57a6820d9cfe8ac1b3f282b9a6aa54070269790a2ee9478172fbac0a4033 baseline-0/mixed_write/nested/1000/base/sample.json +dd1c194d69a4bac372ea54b2b6d9f383a06a92f3e84aebe1bff04090ba0f8d38 baseline-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/new/benchmark.json +bdab0888122186e09ab36a37b6376ab7b547554e25427e912b7d3b7865b26541 baseline-0/mixed_write/nested/1000/new/estimates.json +0cce57a6820d9cfe8ac1b3f282b9a6aa54070269790a2ee9478172fbac0a4033 baseline-0/mixed_write/nested/1000/new/sample.json +dd1c194d69a4bac372ea54b2b6d9f383a06a92f3e84aebe1bff04090ba0f8d38 baseline-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/base/benchmark.json +3c6545d6f1f85aa99f8675ac1c3aad27dcd7934cdba209e879296954b696de54 baseline-0/mixed_write/pattern/1000/base/estimates.json +ce6e816a8f5f0815ee7033101ec956a155583983ee52ae3d2cbb134fa16f6723 baseline-0/mixed_write/pattern/1000/base/sample.json +9780c18c71f47250421f4c2679e4173287571aca353bdf2a8feb43d618e869b4 baseline-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/new/benchmark.json +3c6545d6f1f85aa99f8675ac1c3aad27dcd7934cdba209e879296954b696de54 baseline-0/mixed_write/pattern/1000/new/estimates.json +ce6e816a8f5f0815ee7033101ec956a155583983ee52ae3d2cbb134fa16f6723 baseline-0/mixed_write/pattern/1000/new/sample.json +9780c18c71f47250421f4c2679e4173287571aca353bdf2a8feb43d618e869b4 baseline-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/base/benchmark.json +71e87c4d7e73643ba204d3a4be29df841873f39f07f755e915aa6c4276bfd5bc baseline-0/mixed_write/scalar/1000/base/estimates.json +051d903c4ed02ce975aeedcf2b23ffd05f34601b711a1cd86a8a37a7c4dcbcfe baseline-0/mixed_write/scalar/1000/base/sample.json +2fcfaed734c46578bd642d7a2d6b193e161ccadda35a3b5ff77818aab4eccb70 baseline-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/new/benchmark.json +71e87c4d7e73643ba204d3a4be29df841873f39f07f755e915aa6c4276bfd5bc baseline-0/mixed_write/scalar/1000/new/estimates.json +051d903c4ed02ce975aeedcf2b23ffd05f34601b711a1cd86a8a37a7c4dcbcfe baseline-0/mixed_write/scalar/1000/new/sample.json +2fcfaed734c46578bd642d7a2d6b193e161ccadda35a3b5ff77818aab4eccb70 baseline-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/base/benchmark.json +447a719376f3652bcde19924f89bd95606b97661808eb76ea30485967643f65f baseline-0/mixed_write/text/1000/base/estimates.json +67458da3994d7e04c9d28eab837566a2efc798bdacd6075d3d0bd022f379bfdd baseline-0/mixed_write/text/1000/base/sample.json +248e02a8a021b968a054c4ac03bc03cf2d36d5ce1bdab95b8ec9346403aa865b baseline-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/new/benchmark.json +447a719376f3652bcde19924f89bd95606b97661808eb76ea30485967643f65f baseline-0/mixed_write/text/1000/new/estimates.json +67458da3994d7e04c9d28eab837566a2efc798bdacd6075d3d0bd022f379bfdd baseline-0/mixed_write/text/1000/new/sample.json +248e02a8a021b968a054c4ac03bc03cf2d36d5ce1bdab95b8ec9346403aa865b baseline-0/mixed_write/text/1000/new/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-1/mixed_read/enum/1000/base/benchmark.json +5f48a56a42dee6797a88aaa40134c92eb8ba78ff848bd1f2572812fb6104f408 baseline-1/mixed_read/enum/1000/base/estimates.json +97153a967cdcac5faefb42a01ae252760257c244de0d3c9518c61a251f69c80f baseline-1/mixed_read/enum/1000/base/sample.json +f8027247e217e4c25bdbc936203366c2a207afa50c18df763c1401dcd183f686 baseline-1/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-1/mixed_read/enum/1000/new/benchmark.json +5f48a56a42dee6797a88aaa40134c92eb8ba78ff848bd1f2572812fb6104f408 baseline-1/mixed_read/enum/1000/new/estimates.json +97153a967cdcac5faefb42a01ae252760257c244de0d3c9518c61a251f69c80f baseline-1/mixed_read/enum/1000/new/sample.json +f8027247e217e4c25bdbc936203366c2a207afa50c18df763c1401dcd183f686 baseline-1/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-1/mixed_read/nested/1000/base/benchmark.json +6e6bc0fe58e184619253d55d5bb3ea82197407bdeb7dd41b405ac30d5d16f38e baseline-1/mixed_read/nested/1000/base/estimates.json +0223292717fabf5089bc8fe4978baf032bde18fd754455ac8134647325e8c508 baseline-1/mixed_read/nested/1000/base/sample.json +994e796d038f7518247d212339ac74b52f835d13c31bee7af7dae264e28d6280 baseline-1/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-1/mixed_read/nested/1000/new/benchmark.json +6e6bc0fe58e184619253d55d5bb3ea82197407bdeb7dd41b405ac30d5d16f38e baseline-1/mixed_read/nested/1000/new/estimates.json +0223292717fabf5089bc8fe4978baf032bde18fd754455ac8134647325e8c508 baseline-1/mixed_read/nested/1000/new/sample.json +994e796d038f7518247d212339ac74b52f835d13c31bee7af7dae264e28d6280 baseline-1/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-1/mixed_read/pattern/1000/base/benchmark.json +9d5a9d024b78c22d257a50ef0d6e811186f241a793a2e2cddbf65d68b8a2c115 baseline-1/mixed_read/pattern/1000/base/estimates.json +c7c4195143409ba64d070be8a2d9f9957d484f230f91d1c6f9a38eef4f53dc61 baseline-1/mixed_read/pattern/1000/base/sample.json +beb4c6f0aca5614a9daf133623dfb9b195c054f1dca488b5689080b65b284601 baseline-1/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-1/mixed_read/pattern/1000/new/benchmark.json +9d5a9d024b78c22d257a50ef0d6e811186f241a793a2e2cddbf65d68b8a2c115 baseline-1/mixed_read/pattern/1000/new/estimates.json +c7c4195143409ba64d070be8a2d9f9957d484f230f91d1c6f9a38eef4f53dc61 baseline-1/mixed_read/pattern/1000/new/sample.json +beb4c6f0aca5614a9daf133623dfb9b195c054f1dca488b5689080b65b284601 baseline-1/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-1/mixed_read/scalar/1000/base/benchmark.json +2af9d66507bacd655855d27d8c04731c2a35f63c9a61fe9d1bc845695c5a5d7b baseline-1/mixed_read/scalar/1000/base/estimates.json +be5ba1de26a198549bc62116bbc7b16259473eeb58e2b685f6a801e8ddfe97bd baseline-1/mixed_read/scalar/1000/base/sample.json +230669ea6f028274e0c4002a70457aec27b549f7fd6d7268130beac9599d7380 baseline-1/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-1/mixed_read/scalar/1000/new/benchmark.json +2af9d66507bacd655855d27d8c04731c2a35f63c9a61fe9d1bc845695c5a5d7b baseline-1/mixed_read/scalar/1000/new/estimates.json +be5ba1de26a198549bc62116bbc7b16259473eeb58e2b685f6a801e8ddfe97bd baseline-1/mixed_read/scalar/1000/new/sample.json +230669ea6f028274e0c4002a70457aec27b549f7fd6d7268130beac9599d7380 baseline-1/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-1/mixed_read/text/1000/base/benchmark.json +8b7ec10ed4137baf8607266432bc2d08780fed5fed9458f37dc828b19847c357 baseline-1/mixed_read/text/1000/base/estimates.json +c3f6cadf2a858bf6288a3d084d25b16dedd9f0dbff40731a4c7c9adacf4a09f0 baseline-1/mixed_read/text/1000/base/sample.json +5072a9dbe56f142d485e94e36215f946cd78447bd10dab18d8730f7c78d0354a baseline-1/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-1/mixed_read/text/1000/new/benchmark.json +8b7ec10ed4137baf8607266432bc2d08780fed5fed9458f37dc828b19847c357 baseline-1/mixed_read/text/1000/new/estimates.json +c3f6cadf2a858bf6288a3d084d25b16dedd9f0dbff40731a4c7c9adacf4a09f0 baseline-1/mixed_read/text/1000/new/sample.json +5072a9dbe56f142d485e94e36215f946cd78447bd10dab18d8730f7c78d0354a baseline-1/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/base/benchmark.json +38ee888efb9b51c447f7d3848a270e55560b148ab0d41d018ad3dc4f656942f4 baseline-1/mixed_write/enum/1000/base/estimates.json +02f551f5c297a51bc31b09c0a7d5a9493b1f6e497486b89bb4a9db38f94b4a85 baseline-1/mixed_write/enum/1000/base/sample.json +d01cf134da9873c00cb9a6e5c6f3a45a3279f2662e7d962038edf8ec42969325 baseline-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/new/benchmark.json +38ee888efb9b51c447f7d3848a270e55560b148ab0d41d018ad3dc4f656942f4 baseline-1/mixed_write/enum/1000/new/estimates.json +02f551f5c297a51bc31b09c0a7d5a9493b1f6e497486b89bb4a9db38f94b4a85 baseline-1/mixed_write/enum/1000/new/sample.json +d01cf134da9873c00cb9a6e5c6f3a45a3279f2662e7d962038edf8ec42969325 baseline-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/base/benchmark.json +ffe501db7edbedc4a3e1b3c8d0bfc5ef2e8203f32963fd42c120363505d60b18 baseline-1/mixed_write/nested/1000/base/estimates.json +34320780a237eb1b17d592854b77cfd2885f2705af228c1835b7a71964a28ff1 baseline-1/mixed_write/nested/1000/base/sample.json +56f588e44f5a4e67f44c43bff62c8d63e8c25f055e44d4921fe2fa1134fc2ea3 baseline-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/new/benchmark.json +ffe501db7edbedc4a3e1b3c8d0bfc5ef2e8203f32963fd42c120363505d60b18 baseline-1/mixed_write/nested/1000/new/estimates.json +34320780a237eb1b17d592854b77cfd2885f2705af228c1835b7a71964a28ff1 baseline-1/mixed_write/nested/1000/new/sample.json +56f588e44f5a4e67f44c43bff62c8d63e8c25f055e44d4921fe2fa1134fc2ea3 baseline-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/base/benchmark.json +0aa636e8897e07622b9440c2a164ace9c48349530103dd12ad1c5a386f5ee963 baseline-1/mixed_write/pattern/1000/base/estimates.json +8a2cd59a804746d4fae085a514b4f95a388b7fa37a2a061d163e1618073cdba0 baseline-1/mixed_write/pattern/1000/base/sample.json +5535034fe9788cc7a54dd7abe2ef9731a419d1b858e198af8894b49ae8e1e54a baseline-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/new/benchmark.json +0aa636e8897e07622b9440c2a164ace9c48349530103dd12ad1c5a386f5ee963 baseline-1/mixed_write/pattern/1000/new/estimates.json +8a2cd59a804746d4fae085a514b4f95a388b7fa37a2a061d163e1618073cdba0 baseline-1/mixed_write/pattern/1000/new/sample.json +5535034fe9788cc7a54dd7abe2ef9731a419d1b858e198af8894b49ae8e1e54a baseline-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/base/benchmark.json +5111d4762ba8f3e2a7fe8822fa197e62d5941c2bb1427283ed45fe731668a766 baseline-1/mixed_write/scalar/1000/base/estimates.json +a8ca69385d1b83c858b5f67b41ba421f6cde29ef8e1b58ef8695c28cbeb2ac81 baseline-1/mixed_write/scalar/1000/base/sample.json +a87ad59ce1860e3101524e5d01746707cc25b7572a13ef37bfd36ae0e672a2f8 baseline-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/new/benchmark.json +5111d4762ba8f3e2a7fe8822fa197e62d5941c2bb1427283ed45fe731668a766 baseline-1/mixed_write/scalar/1000/new/estimates.json +a8ca69385d1b83c858b5f67b41ba421f6cde29ef8e1b58ef8695c28cbeb2ac81 baseline-1/mixed_write/scalar/1000/new/sample.json +a87ad59ce1860e3101524e5d01746707cc25b7572a13ef37bfd36ae0e672a2f8 baseline-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/base/benchmark.json +263eea07cc752fb418a760276ee6cbd2ee820062d7c81e5cc67bdc9347f6caef baseline-1/mixed_write/text/1000/base/estimates.json +25bfb3a9053c52417c12dd4aeaa71a2e31103d3446521abd8c09b202da2b7a90 baseline-1/mixed_write/text/1000/base/sample.json +fb2bf3443f5bdb34de85fda8fff9d2ec1502591f29ed5ddf028f086ab770832a baseline-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/new/benchmark.json +263eea07cc752fb418a760276ee6cbd2ee820062d7c81e5cc67bdc9347f6caef baseline-1/mixed_write/text/1000/new/estimates.json +25bfb3a9053c52417c12dd4aeaa71a2e31103d3446521abd8c09b202da2b7a90 baseline-1/mixed_write/text/1000/new/sample.json +fb2bf3443f5bdb34de85fda8fff9d2ec1502591f29ed5ddf028f086ab770832a baseline-1/mixed_write/text/1000/new/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-2/mixed_read/enum/1000/base/benchmark.json +4a80fe02d01beec265e0cd932fd50e98e963be5347815fce4accb136895515f3 baseline-2/mixed_read/enum/1000/base/estimates.json +6bccc31da2d0e63d4dec6aee565639773abcffcb9ad0df3958d381f8973d1734 baseline-2/mixed_read/enum/1000/base/sample.json +db0b66d707896913ff148b7921b53524ae87fb644c8e19fcbeb61782868e80ec baseline-2/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-2/mixed_read/enum/1000/new/benchmark.json +4a80fe02d01beec265e0cd932fd50e98e963be5347815fce4accb136895515f3 baseline-2/mixed_read/enum/1000/new/estimates.json +6bccc31da2d0e63d4dec6aee565639773abcffcb9ad0df3958d381f8973d1734 baseline-2/mixed_read/enum/1000/new/sample.json +db0b66d707896913ff148b7921b53524ae87fb644c8e19fcbeb61782868e80ec baseline-2/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-2/mixed_read/nested/1000/base/benchmark.json +27dd02545a7422fce248a343e49d65c6ae588a479a5f2d9947966fcd8d0d11a3 baseline-2/mixed_read/nested/1000/base/estimates.json +c4651abe8fed5c65363d7f18645e3ab969c58e081a3644a3dad23dab84c0df3b baseline-2/mixed_read/nested/1000/base/sample.json +3f3d31d0f33537005990277548aa17735f8afb09aadd1398af443ddb3ba47141 baseline-2/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-2/mixed_read/nested/1000/new/benchmark.json +27dd02545a7422fce248a343e49d65c6ae588a479a5f2d9947966fcd8d0d11a3 baseline-2/mixed_read/nested/1000/new/estimates.json +c4651abe8fed5c65363d7f18645e3ab969c58e081a3644a3dad23dab84c0df3b baseline-2/mixed_read/nested/1000/new/sample.json +3f3d31d0f33537005990277548aa17735f8afb09aadd1398af443ddb3ba47141 baseline-2/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-2/mixed_read/pattern/1000/base/benchmark.json +35e812ecd6a928ce83553371e3658e89e8c14ea747bd741674de8d73e2162ca7 baseline-2/mixed_read/pattern/1000/base/estimates.json +1d0bf8dfe69f338028d9691a47333d740beb8a23adecac4407cf943a2f935f6a baseline-2/mixed_read/pattern/1000/base/sample.json +9c8a096fcad6ce1b8c9dd69acb25196b5bb76b40455c7e77298ab57c15ca2c0a baseline-2/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-2/mixed_read/pattern/1000/new/benchmark.json +35e812ecd6a928ce83553371e3658e89e8c14ea747bd741674de8d73e2162ca7 baseline-2/mixed_read/pattern/1000/new/estimates.json +1d0bf8dfe69f338028d9691a47333d740beb8a23adecac4407cf943a2f935f6a baseline-2/mixed_read/pattern/1000/new/sample.json +9c8a096fcad6ce1b8c9dd69acb25196b5bb76b40455c7e77298ab57c15ca2c0a baseline-2/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-2/mixed_read/scalar/1000/base/benchmark.json +ee1c9959204f8f666a6e14923b0017e7e8653a2d7a15c8944570cc1246112d25 baseline-2/mixed_read/scalar/1000/base/estimates.json +d93c506c113caaa4b3d4868755d4de6210bda7f76d68f50569357c8712cb1a35 baseline-2/mixed_read/scalar/1000/base/sample.json +9c7f211a6758b5babafc80ddf01a3f1fb80b9ea5ef20019fd00cc65eade0d05f baseline-2/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-2/mixed_read/scalar/1000/new/benchmark.json +ee1c9959204f8f666a6e14923b0017e7e8653a2d7a15c8944570cc1246112d25 baseline-2/mixed_read/scalar/1000/new/estimates.json +d93c506c113caaa4b3d4868755d4de6210bda7f76d68f50569357c8712cb1a35 baseline-2/mixed_read/scalar/1000/new/sample.json +9c7f211a6758b5babafc80ddf01a3f1fb80b9ea5ef20019fd00cc65eade0d05f baseline-2/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-2/mixed_read/text/1000/base/benchmark.json +07029f2ba35c7fc2478ac3ed38fa8dc5489723d348bb8ae6c617e1d5d04f7945 baseline-2/mixed_read/text/1000/base/estimates.json +9d4ca397e57be9ef81ee3d1169960efa3ac68b7aa20d88dd62036cd9f929b892 baseline-2/mixed_read/text/1000/base/sample.json +3a33c991ae957505ede4aebead949423ef20e8b503cd0cf930f5fe126a2acab8 baseline-2/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-2/mixed_read/text/1000/new/benchmark.json +07029f2ba35c7fc2478ac3ed38fa8dc5489723d348bb8ae6c617e1d5d04f7945 baseline-2/mixed_read/text/1000/new/estimates.json +9d4ca397e57be9ef81ee3d1169960efa3ac68b7aa20d88dd62036cd9f929b892 baseline-2/mixed_read/text/1000/new/sample.json +3a33c991ae957505ede4aebead949423ef20e8b503cd0cf930f5fe126a2acab8 baseline-2/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-2/mixed_write/enum/1000/base/benchmark.json +6d4eae41284854a8e85e25ab873eb7699ce83f36530446dc699f2bdea775359a baseline-2/mixed_write/enum/1000/base/estimates.json +1e4a52dc30b897d7119110adad4666fb0a64030645804afbf4babeec9ae4b621 baseline-2/mixed_write/enum/1000/base/sample.json +82153f17a23e8a617f11da2a0cad09180d878188c5dbafb8add5d44f9726eed8 baseline-2/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-2/mixed_write/enum/1000/new/benchmark.json +6d4eae41284854a8e85e25ab873eb7699ce83f36530446dc699f2bdea775359a baseline-2/mixed_write/enum/1000/new/estimates.json +1e4a52dc30b897d7119110adad4666fb0a64030645804afbf4babeec9ae4b621 baseline-2/mixed_write/enum/1000/new/sample.json +82153f17a23e8a617f11da2a0cad09180d878188c5dbafb8add5d44f9726eed8 baseline-2/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-2/mixed_write/nested/1000/base/benchmark.json +4058d18de6f5ef1896cad9c95f36ae7b466033cf542c2bec3e5f5ed11b5f16b2 baseline-2/mixed_write/nested/1000/base/estimates.json +90ffe1bb1f5bcb8fe5abdf9cc18e81ea23b2ec2e8b89f2421bca498a60b8a572 baseline-2/mixed_write/nested/1000/base/sample.json +cb3fda294cdb21710a7a3cf7377f226b5afae7731b95f70badb85189f44686b4 baseline-2/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-2/mixed_write/nested/1000/new/benchmark.json +4058d18de6f5ef1896cad9c95f36ae7b466033cf542c2bec3e5f5ed11b5f16b2 baseline-2/mixed_write/nested/1000/new/estimates.json +90ffe1bb1f5bcb8fe5abdf9cc18e81ea23b2ec2e8b89f2421bca498a60b8a572 baseline-2/mixed_write/nested/1000/new/sample.json +cb3fda294cdb21710a7a3cf7377f226b5afae7731b95f70badb85189f44686b4 baseline-2/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-2/mixed_write/pattern/1000/base/benchmark.json +23d531c73a9c37d9910f418c24224cc2816fe531bbb17462ebfdc0502145d0d8 baseline-2/mixed_write/pattern/1000/base/estimates.json +47563a42c3dffd8f0cb37f7246e2cae0f5f5e3a8114356d38ab7776284cd0124 baseline-2/mixed_write/pattern/1000/base/sample.json +34eb379bc286a7f4985f3505490f598a0bf75c1a903619c0bf0ad8a113bb246a baseline-2/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-2/mixed_write/pattern/1000/new/benchmark.json +23d531c73a9c37d9910f418c24224cc2816fe531bbb17462ebfdc0502145d0d8 baseline-2/mixed_write/pattern/1000/new/estimates.json +47563a42c3dffd8f0cb37f7246e2cae0f5f5e3a8114356d38ab7776284cd0124 baseline-2/mixed_write/pattern/1000/new/sample.json +34eb379bc286a7f4985f3505490f598a0bf75c1a903619c0bf0ad8a113bb246a baseline-2/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-2/mixed_write/scalar/1000/base/benchmark.json +5808e142b9a153e58f0a60da901ac66c3f24778a65d2ca3995c162ef5badd3a6 baseline-2/mixed_write/scalar/1000/base/estimates.json +47f9109626adcd28d1d613bd877f6b4d48ee90b302f1ffe310ee8168282209e9 baseline-2/mixed_write/scalar/1000/base/sample.json +c656f514fbffb102a6d2c180b249cab3338806b00a0bed8f1d94ab6d51564e15 baseline-2/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-2/mixed_write/scalar/1000/new/benchmark.json +5808e142b9a153e58f0a60da901ac66c3f24778a65d2ca3995c162ef5badd3a6 baseline-2/mixed_write/scalar/1000/new/estimates.json +47f9109626adcd28d1d613bd877f6b4d48ee90b302f1ffe310ee8168282209e9 baseline-2/mixed_write/scalar/1000/new/sample.json +c656f514fbffb102a6d2c180b249cab3338806b00a0bed8f1d94ab6d51564e15 baseline-2/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-2/mixed_write/text/1000/base/benchmark.json +a420e22bff6076fd48d4914186cd69340ceb7e738ac06852b583accf33c41662 baseline-2/mixed_write/text/1000/base/estimates.json +a8dc471105021bfe7030a4820cc944a27743501d5a151ac98547b333c07299b6 baseline-2/mixed_write/text/1000/base/sample.json +a3bdd1c244c4ff8d3af57c62fb57db02ff5630a3bc610e137ee6590614047905 baseline-2/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-2/mixed_write/text/1000/new/benchmark.json +a420e22bff6076fd48d4914186cd69340ceb7e738ac06852b583accf33c41662 baseline-2/mixed_write/text/1000/new/estimates.json +a8dc471105021bfe7030a4820cc944a27743501d5a151ac98547b333c07299b6 baseline-2/mixed_write/text/1000/new/sample.json +a3bdd1c244c4ff8d3af57c62fb57db02ff5630a3bc610e137ee6590614047905 baseline-2/mixed_write/text/1000/new/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-0/mixed_read/enum/1000/base/benchmark.json +70b9aa3083d04b3fa136473ae7a38b4143107b969931ba68cac213c75e3409a7 current-0/mixed_read/enum/1000/base/estimates.json +6d2fc8a511c9ec4ed5e3373b1796e84d12b80fb6b8db8f9f1854060cbebe3c83 current-0/mixed_read/enum/1000/base/sample.json +9d25118bfc7e8bb264d7ed8f8d2c8f69a312f766f66d3ca00c79fba41f5023dd current-0/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-0/mixed_read/enum/1000/new/benchmark.json +70b9aa3083d04b3fa136473ae7a38b4143107b969931ba68cac213c75e3409a7 current-0/mixed_read/enum/1000/new/estimates.json +6d2fc8a511c9ec4ed5e3373b1796e84d12b80fb6b8db8f9f1854060cbebe3c83 current-0/mixed_read/enum/1000/new/sample.json +9d25118bfc7e8bb264d7ed8f8d2c8f69a312f766f66d3ca00c79fba41f5023dd current-0/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-0/mixed_read/nested/1000/base/benchmark.json +489898e68d24f0635d85305fbf108ae83d0bb0643c4e56d2e94d430d927c670a current-0/mixed_read/nested/1000/base/estimates.json +c4ccb463ba68770d0b6bbe5c0dd97d138e0e989c06645f4e6a38e02777549f76 current-0/mixed_read/nested/1000/base/sample.json +ce2c42f8d660c52ae9d4ac216f2354aa39cd9f5acf231096753f364483b8cacc current-0/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-0/mixed_read/nested/1000/new/benchmark.json +489898e68d24f0635d85305fbf108ae83d0bb0643c4e56d2e94d430d927c670a current-0/mixed_read/nested/1000/new/estimates.json +c4ccb463ba68770d0b6bbe5c0dd97d138e0e989c06645f4e6a38e02777549f76 current-0/mixed_read/nested/1000/new/sample.json +ce2c42f8d660c52ae9d4ac216f2354aa39cd9f5acf231096753f364483b8cacc current-0/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-0/mixed_read/pattern/1000/base/benchmark.json +59f6e4147968cbec7c1a1d09153f5f86e1b8b3f5299933010a83678042c572ca current-0/mixed_read/pattern/1000/base/estimates.json +9d0ab3d0ec4428844c054ea09a9ce0d8c07f687135b2f7c0c9e775fa5ecf5330 current-0/mixed_read/pattern/1000/base/sample.json +d1f3e97951a639cbaf6310daaaffc154fb791d40f39a3ea6fba9c394e9892d62 current-0/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-0/mixed_read/pattern/1000/new/benchmark.json +59f6e4147968cbec7c1a1d09153f5f86e1b8b3f5299933010a83678042c572ca current-0/mixed_read/pattern/1000/new/estimates.json +9d0ab3d0ec4428844c054ea09a9ce0d8c07f687135b2f7c0c9e775fa5ecf5330 current-0/mixed_read/pattern/1000/new/sample.json +d1f3e97951a639cbaf6310daaaffc154fb791d40f39a3ea6fba9c394e9892d62 current-0/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-0/mixed_read/scalar/1000/base/benchmark.json +38cad915d48f784281a4942f5e5d61a1211a9ae6c644f08663985953e84a5293 current-0/mixed_read/scalar/1000/base/estimates.json +a712e1e10d48e5c7a1f451916750e5f2088deab3cbe10e05437bc482d742d18f current-0/mixed_read/scalar/1000/base/sample.json +a4894a1d791101e52baccc19f35ed529c2387c02b861f786d61da4a38b72c83c current-0/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-0/mixed_read/scalar/1000/new/benchmark.json +38cad915d48f784281a4942f5e5d61a1211a9ae6c644f08663985953e84a5293 current-0/mixed_read/scalar/1000/new/estimates.json +a712e1e10d48e5c7a1f451916750e5f2088deab3cbe10e05437bc482d742d18f current-0/mixed_read/scalar/1000/new/sample.json +a4894a1d791101e52baccc19f35ed529c2387c02b861f786d61da4a38b72c83c current-0/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-0/mixed_read/text/1000/base/benchmark.json +be2a96dcd6c6f33fd07df7f4c7024c353d5a687ce10791570f6634909f740bed current-0/mixed_read/text/1000/base/estimates.json +3fa2b6395c83a0f740eb6a621a4f5e7522c1d5331757d6e5931c589ee3d03a24 current-0/mixed_read/text/1000/base/sample.json +a66ce948e05dc28f60a81366587eb83f389b72776fa91afb3cae349307a0a72f current-0/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-0/mixed_read/text/1000/new/benchmark.json +be2a96dcd6c6f33fd07df7f4c7024c353d5a687ce10791570f6634909f740bed current-0/mixed_read/text/1000/new/estimates.json +3fa2b6395c83a0f740eb6a621a4f5e7522c1d5331757d6e5931c589ee3d03a24 current-0/mixed_read/text/1000/new/sample.json +a66ce948e05dc28f60a81366587eb83f389b72776fa91afb3cae349307a0a72f current-0/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/base/benchmark.json +076dcd2cdc4826a944f846687849c0d203ce2425b5b2474b0b2fd26885f1b998 current-0/mixed_write/enum/1000/base/estimates.json +5b6691a47201a9a9a9e7b6c60a0131e7ea053ce5f9f3ea91c21ab59724c022d8 current-0/mixed_write/enum/1000/base/sample.json +e052ac905b3b6077e97668ed3353558b417bc7bd28d06a371912873b2e78a422 current-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/new/benchmark.json +076dcd2cdc4826a944f846687849c0d203ce2425b5b2474b0b2fd26885f1b998 current-0/mixed_write/enum/1000/new/estimates.json +5b6691a47201a9a9a9e7b6c60a0131e7ea053ce5f9f3ea91c21ab59724c022d8 current-0/mixed_write/enum/1000/new/sample.json +e052ac905b3b6077e97668ed3353558b417bc7bd28d06a371912873b2e78a422 current-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/base/benchmark.json +7bbe1e80ef5845312c57e01498c96d63947959f582524391cda1c661a07f7f07 current-0/mixed_write/nested/1000/base/estimates.json +f362ec5497b217e11a47188b88a9652125e461300cddd905c37bd84f6a020d64 current-0/mixed_write/nested/1000/base/sample.json +b797cabadd794881f793d9e47f65c96a8b6b38c1b9899f3f93365c45060d29b7 current-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/new/benchmark.json +7bbe1e80ef5845312c57e01498c96d63947959f582524391cda1c661a07f7f07 current-0/mixed_write/nested/1000/new/estimates.json +f362ec5497b217e11a47188b88a9652125e461300cddd905c37bd84f6a020d64 current-0/mixed_write/nested/1000/new/sample.json +b797cabadd794881f793d9e47f65c96a8b6b38c1b9899f3f93365c45060d29b7 current-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/base/benchmark.json +59b52a9885c1418046bd5fefa8a5a8c858008bc519de8334633d112219f15518 current-0/mixed_write/pattern/1000/base/estimates.json +c41ad1b8bfa453b30975604f3ec299c1449f039abbbee14f76e1b83d55be82eb current-0/mixed_write/pattern/1000/base/sample.json +e05c6149d6c1e3390c103647c48c5b9c4c13204fedaaee5fc2119d464389cb3d current-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/new/benchmark.json +59b52a9885c1418046bd5fefa8a5a8c858008bc519de8334633d112219f15518 current-0/mixed_write/pattern/1000/new/estimates.json +c41ad1b8bfa453b30975604f3ec299c1449f039abbbee14f76e1b83d55be82eb current-0/mixed_write/pattern/1000/new/sample.json +e05c6149d6c1e3390c103647c48c5b9c4c13204fedaaee5fc2119d464389cb3d current-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/base/benchmark.json +f96825d4d24472087b2e3ad4cc7bfe34f47d82ac3599ecdcb7abdf5b995e2aca current-0/mixed_write/scalar/1000/base/estimates.json +327130b4ca2e167faa69a85a837852cf62e33955b50f60c9e1f5a89c3182b8ab current-0/mixed_write/scalar/1000/base/sample.json +6b8bb1b7330686bb4787bc76104b990c7cda17184eedea1bd629bcf7b57bf3c5 current-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/new/benchmark.json +f96825d4d24472087b2e3ad4cc7bfe34f47d82ac3599ecdcb7abdf5b995e2aca current-0/mixed_write/scalar/1000/new/estimates.json +327130b4ca2e167faa69a85a837852cf62e33955b50f60c9e1f5a89c3182b8ab current-0/mixed_write/scalar/1000/new/sample.json +6b8bb1b7330686bb4787bc76104b990c7cda17184eedea1bd629bcf7b57bf3c5 current-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/base/benchmark.json +8be13731527bb86c5160cfd415eeaf9762ea19ac11c73a9da3c8b37bbcaa3b84 current-0/mixed_write/text/1000/base/estimates.json +9116f1c736dc95000862c5325166939003d1c5b598d8a55fd03a2a5c26ab9d90 current-0/mixed_write/text/1000/base/sample.json +fc0f83577dfd3fdd1b57e9fdf29dae9478a07da55321a2e471a04a79d25dd218 current-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/new/benchmark.json +8be13731527bb86c5160cfd415eeaf9762ea19ac11c73a9da3c8b37bbcaa3b84 current-0/mixed_write/text/1000/new/estimates.json +9116f1c736dc95000862c5325166939003d1c5b598d8a55fd03a2a5c26ab9d90 current-0/mixed_write/text/1000/new/sample.json +fc0f83577dfd3fdd1b57e9fdf29dae9478a07da55321a2e471a04a79d25dd218 current-0/mixed_write/text/1000/new/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-1/mixed_read/enum/1000/base/benchmark.json +cb1ff7deeb1092e6d5174932d893fdfe44ddd68b448020c73012b39d1f58bbb3 current-1/mixed_read/enum/1000/base/estimates.json +5575025ddad9b3d12709ebd8eafd84f86c76fc3102a15cd4de116b0b214a3d25 current-1/mixed_read/enum/1000/base/sample.json +246ee5878455a8e456addb944010e8583501e73616b063f1ddc96057df28208d current-1/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-1/mixed_read/enum/1000/new/benchmark.json +cb1ff7deeb1092e6d5174932d893fdfe44ddd68b448020c73012b39d1f58bbb3 current-1/mixed_read/enum/1000/new/estimates.json +5575025ddad9b3d12709ebd8eafd84f86c76fc3102a15cd4de116b0b214a3d25 current-1/mixed_read/enum/1000/new/sample.json +246ee5878455a8e456addb944010e8583501e73616b063f1ddc96057df28208d current-1/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-1/mixed_read/nested/1000/base/benchmark.json +6747e0852a3c1ad65b211827a3d8b4b8e98ba5a90d7182bb97af6131412111f6 current-1/mixed_read/nested/1000/base/estimates.json +1d84fa2128675998af45c7097af6e4aef83b8c2fe28eefc5e789d1921a8bca42 current-1/mixed_read/nested/1000/base/sample.json +cf8a48fcee24f35bb301060ad6990443ee85036c6f9919edf046bb582bcdeca0 current-1/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-1/mixed_read/nested/1000/new/benchmark.json +6747e0852a3c1ad65b211827a3d8b4b8e98ba5a90d7182bb97af6131412111f6 current-1/mixed_read/nested/1000/new/estimates.json +1d84fa2128675998af45c7097af6e4aef83b8c2fe28eefc5e789d1921a8bca42 current-1/mixed_read/nested/1000/new/sample.json +cf8a48fcee24f35bb301060ad6990443ee85036c6f9919edf046bb582bcdeca0 current-1/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-1/mixed_read/pattern/1000/base/benchmark.json +ede154b30fb6b4e8b5e35f2136d857e0cc908edcb165424dd8f74ab1cd70b985 current-1/mixed_read/pattern/1000/base/estimates.json +8e941858e448fbe1320bfac07c297a538baa76e8516ae41abc6c052bd22a9321 current-1/mixed_read/pattern/1000/base/sample.json +d791e785d2d702a18bb37e5164cdc6ee23bb95058446f97d48b32ffc88125e3c current-1/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-1/mixed_read/pattern/1000/new/benchmark.json +ede154b30fb6b4e8b5e35f2136d857e0cc908edcb165424dd8f74ab1cd70b985 current-1/mixed_read/pattern/1000/new/estimates.json +8e941858e448fbe1320bfac07c297a538baa76e8516ae41abc6c052bd22a9321 current-1/mixed_read/pattern/1000/new/sample.json +d791e785d2d702a18bb37e5164cdc6ee23bb95058446f97d48b32ffc88125e3c current-1/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-1/mixed_read/scalar/1000/base/benchmark.json +239556d66dd4ff9b99c0e6a56ab444a409602b0aca4d36b8d456d4cfad5e71d7 current-1/mixed_read/scalar/1000/base/estimates.json +df39ed40196ae506b24cfdbb1b555af274e1c9318a54282d0f176379ce8b2d7d current-1/mixed_read/scalar/1000/base/sample.json +18043810f491ac3cb3fad0a1c4a13feae3a6126dc5df9cf4f2a71a18d6fa071f current-1/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-1/mixed_read/scalar/1000/new/benchmark.json +239556d66dd4ff9b99c0e6a56ab444a409602b0aca4d36b8d456d4cfad5e71d7 current-1/mixed_read/scalar/1000/new/estimates.json +df39ed40196ae506b24cfdbb1b555af274e1c9318a54282d0f176379ce8b2d7d current-1/mixed_read/scalar/1000/new/sample.json +18043810f491ac3cb3fad0a1c4a13feae3a6126dc5df9cf4f2a71a18d6fa071f current-1/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-1/mixed_read/text/1000/base/benchmark.json +8667b0e2bebfbb328d0e0beee29543591ac2ab3ce0d37ad0fad0377b2e12e5be current-1/mixed_read/text/1000/base/estimates.json +156ed189be5826d4ea8943370b126178d2dead30f087ed8090a89771d0c8f7d6 current-1/mixed_read/text/1000/base/sample.json +a7ce10528c03fb311b5b72f402ba2ec52c795a8fc5489b4c61bd92880c4249bb current-1/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-1/mixed_read/text/1000/new/benchmark.json +8667b0e2bebfbb328d0e0beee29543591ac2ab3ce0d37ad0fad0377b2e12e5be current-1/mixed_read/text/1000/new/estimates.json +156ed189be5826d4ea8943370b126178d2dead30f087ed8090a89771d0c8f7d6 current-1/mixed_read/text/1000/new/sample.json +a7ce10528c03fb311b5b72f402ba2ec52c795a8fc5489b4c61bd92880c4249bb current-1/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/base/benchmark.json +f150e62b78bc476a580848a0f047d9d64057c50a7f9f69530250203e1f1dab40 current-1/mixed_write/enum/1000/base/estimates.json +8442015653a573a8bbe027e0d1a06d36da4aa9cda36c9d12f3c39bb836c5f1f7 current-1/mixed_write/enum/1000/base/sample.json +18545ee0f17dd7bdf3a52cafbeb91a633ddf14e546d0133ef15796219dad37a4 current-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/new/benchmark.json +f150e62b78bc476a580848a0f047d9d64057c50a7f9f69530250203e1f1dab40 current-1/mixed_write/enum/1000/new/estimates.json +8442015653a573a8bbe027e0d1a06d36da4aa9cda36c9d12f3c39bb836c5f1f7 current-1/mixed_write/enum/1000/new/sample.json +18545ee0f17dd7bdf3a52cafbeb91a633ddf14e546d0133ef15796219dad37a4 current-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/base/benchmark.json +cf3340e9775d917ea90381e58f134b397a610bbc1109b8161dfa3d0e17af8acc current-1/mixed_write/nested/1000/base/estimates.json +28199f49abcc958406c37ae050c7c471fda8aaf6768f8a2b497a57ddad3a3a41 current-1/mixed_write/nested/1000/base/sample.json +98ab3bda2475be1e7b5cfa51f2758895b6f063e2f305821f02da3dda980bbc84 current-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/new/benchmark.json +cf3340e9775d917ea90381e58f134b397a610bbc1109b8161dfa3d0e17af8acc current-1/mixed_write/nested/1000/new/estimates.json +28199f49abcc958406c37ae050c7c471fda8aaf6768f8a2b497a57ddad3a3a41 current-1/mixed_write/nested/1000/new/sample.json +98ab3bda2475be1e7b5cfa51f2758895b6f063e2f305821f02da3dda980bbc84 current-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/base/benchmark.json +87ea7328a3587c70786c8f19e41d0efcf68f709597cae6b7d06267a7a49e871d current-1/mixed_write/pattern/1000/base/estimates.json +23cf8bd5d308f5f54de3a821586b25b3ab26d8176461f8e055f97fd251ac73b6 current-1/mixed_write/pattern/1000/base/sample.json +89342a10746abed4b1eb91934cb9262f993ffd7932812e9ccc71eaf2c8c126a9 current-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/new/benchmark.json +87ea7328a3587c70786c8f19e41d0efcf68f709597cae6b7d06267a7a49e871d current-1/mixed_write/pattern/1000/new/estimates.json +23cf8bd5d308f5f54de3a821586b25b3ab26d8176461f8e055f97fd251ac73b6 current-1/mixed_write/pattern/1000/new/sample.json +89342a10746abed4b1eb91934cb9262f993ffd7932812e9ccc71eaf2c8c126a9 current-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/base/benchmark.json +ba8d442d3af72e5dab0d3424097be66da571d5d58e4e76bf70c04e5ddc2dc26c current-1/mixed_write/scalar/1000/base/estimates.json +c55dc148d2ad34825371632c413b93979db5e5eb1fc0ffef9279717cb1b35bca current-1/mixed_write/scalar/1000/base/sample.json +d090920b0051c77927ddced787010973e6a19d96b02a522445afb3ef69354108 current-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/new/benchmark.json +ba8d442d3af72e5dab0d3424097be66da571d5d58e4e76bf70c04e5ddc2dc26c current-1/mixed_write/scalar/1000/new/estimates.json +c55dc148d2ad34825371632c413b93979db5e5eb1fc0ffef9279717cb1b35bca current-1/mixed_write/scalar/1000/new/sample.json +d090920b0051c77927ddced787010973e6a19d96b02a522445afb3ef69354108 current-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/base/benchmark.json +3c0b240dd3165ea749955cda8799ec1a1a2ce26ec8d801719c74563dccb7736d current-1/mixed_write/text/1000/base/estimates.json +dfcb688487e9c6ad346b103adbde668581a13609b5c17bed8f3db9cc8e76050f current-1/mixed_write/text/1000/base/sample.json +914d47237302e3ddd097f632a3271e06f975f5b14b14319116db52ff130feb81 current-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/new/benchmark.json +3c0b240dd3165ea749955cda8799ec1a1a2ce26ec8d801719c74563dccb7736d current-1/mixed_write/text/1000/new/estimates.json +dfcb688487e9c6ad346b103adbde668581a13609b5c17bed8f3db9cc8e76050f current-1/mixed_write/text/1000/new/sample.json +914d47237302e3ddd097f632a3271e06f975f5b14b14319116db52ff130feb81 current-1/mixed_write/text/1000/new/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-2/mixed_read/enum/1000/base/benchmark.json +4fd7f443f4f7d3ecfca17927953b82add5afab6afb4beb32f5e71e4a333778df current-2/mixed_read/enum/1000/base/estimates.json +3acebb4aa3bd0b802084abdea6f16b30dd181d3aefaf58dbd25c567420b586c0 current-2/mixed_read/enum/1000/base/sample.json +03f345e41a2d6da9f0f12ff8b079150dae05341805500b3a734e99ac7f4c1447 current-2/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-2/mixed_read/enum/1000/new/benchmark.json +4fd7f443f4f7d3ecfca17927953b82add5afab6afb4beb32f5e71e4a333778df current-2/mixed_read/enum/1000/new/estimates.json +3acebb4aa3bd0b802084abdea6f16b30dd181d3aefaf58dbd25c567420b586c0 current-2/mixed_read/enum/1000/new/sample.json +03f345e41a2d6da9f0f12ff8b079150dae05341805500b3a734e99ac7f4c1447 current-2/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-2/mixed_read/nested/1000/base/benchmark.json +b1f74e74457dbf48ec4088b2253528531ed8441bd23501d31deb2c30fe9a8318 current-2/mixed_read/nested/1000/base/estimates.json +a40d4eaa58394a2b15f31acb969cd86105e4358217708b69616cc0b151e68e30 current-2/mixed_read/nested/1000/base/sample.json +eb8a04d4d07f39a67388fdc81c7dc1d6eab37329fb81da171955576cd576a8ce current-2/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-2/mixed_read/nested/1000/new/benchmark.json +b1f74e74457dbf48ec4088b2253528531ed8441bd23501d31deb2c30fe9a8318 current-2/mixed_read/nested/1000/new/estimates.json +a40d4eaa58394a2b15f31acb969cd86105e4358217708b69616cc0b151e68e30 current-2/mixed_read/nested/1000/new/sample.json +eb8a04d4d07f39a67388fdc81c7dc1d6eab37329fb81da171955576cd576a8ce current-2/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-2/mixed_read/pattern/1000/base/benchmark.json +424abc6d38142f9e658c8865a50dcc7596b1ec033be951fb8d1205f5cbdc90fc current-2/mixed_read/pattern/1000/base/estimates.json +e81bfedc2a2932fcf97cb499e630ba5b03f5fb70e5bf49f5910941856b01eed8 current-2/mixed_read/pattern/1000/base/sample.json +ac81ce53ee5c0e13de35c815e75f1550f39b0e5d64723cc727c18b4851e263bd current-2/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-2/mixed_read/pattern/1000/new/benchmark.json +424abc6d38142f9e658c8865a50dcc7596b1ec033be951fb8d1205f5cbdc90fc current-2/mixed_read/pattern/1000/new/estimates.json +e81bfedc2a2932fcf97cb499e630ba5b03f5fb70e5bf49f5910941856b01eed8 current-2/mixed_read/pattern/1000/new/sample.json +ac81ce53ee5c0e13de35c815e75f1550f39b0e5d64723cc727c18b4851e263bd current-2/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-2/mixed_read/scalar/1000/base/benchmark.json +813ef12ecbb8d6a8d978f92ac123b57c55de1d4e5c1eaf0a11c52dcf008f29c2 current-2/mixed_read/scalar/1000/base/estimates.json +bbfa651fd68e46528e36d20a2bade307a99aef5a6e7040826b5f78901485531d current-2/mixed_read/scalar/1000/base/sample.json +00e515ae6b9ebadb8274f83fc3abee3d3de1f7b1d084f723e57e404b7d714681 current-2/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-2/mixed_read/scalar/1000/new/benchmark.json +813ef12ecbb8d6a8d978f92ac123b57c55de1d4e5c1eaf0a11c52dcf008f29c2 current-2/mixed_read/scalar/1000/new/estimates.json +bbfa651fd68e46528e36d20a2bade307a99aef5a6e7040826b5f78901485531d current-2/mixed_read/scalar/1000/new/sample.json +00e515ae6b9ebadb8274f83fc3abee3d3de1f7b1d084f723e57e404b7d714681 current-2/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-2/mixed_read/text/1000/base/benchmark.json +eec4d718d58752cf95bfc0d8b68bbbfb69e0c0fb1fb37d9796a99414065de586 current-2/mixed_read/text/1000/base/estimates.json +aef2dc1d34c7ac3f68df55b09907c7fed98819aa3b7fd1f9dc76a13c1bd61f68 current-2/mixed_read/text/1000/base/sample.json +892b2493dae558038bf43d608163ce4ef8fde2690e0a99c23c09c25fcd27b172 current-2/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-2/mixed_read/text/1000/new/benchmark.json +eec4d718d58752cf95bfc0d8b68bbbfb69e0c0fb1fb37d9796a99414065de586 current-2/mixed_read/text/1000/new/estimates.json +aef2dc1d34c7ac3f68df55b09907c7fed98819aa3b7fd1f9dc76a13c1bd61f68 current-2/mixed_read/text/1000/new/sample.json +892b2493dae558038bf43d608163ce4ef8fde2690e0a99c23c09c25fcd27b172 current-2/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-2/mixed_write/enum/1000/base/benchmark.json +d93f3262849b260ecf9944a26e45d2402fc542246dc9779dc602ca1f8f6bf479 current-2/mixed_write/enum/1000/base/estimates.json +edb1ee3faa36c9438533bc9ab7761b407d6d9dca8cf3909325e5e17466541e77 current-2/mixed_write/enum/1000/base/sample.json +721c66eb8bef7d4c025cd325b93a0ab7a65cdb71e5f3a867d02e5376f1224448 current-2/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-2/mixed_write/enum/1000/new/benchmark.json +d93f3262849b260ecf9944a26e45d2402fc542246dc9779dc602ca1f8f6bf479 current-2/mixed_write/enum/1000/new/estimates.json +edb1ee3faa36c9438533bc9ab7761b407d6d9dca8cf3909325e5e17466541e77 current-2/mixed_write/enum/1000/new/sample.json +721c66eb8bef7d4c025cd325b93a0ab7a65cdb71e5f3a867d02e5376f1224448 current-2/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-2/mixed_write/nested/1000/base/benchmark.json +11e7b1663134a3728a8dc90d548ed4ce73ff73da2bc98b330d82c33cd4b0b41a current-2/mixed_write/nested/1000/base/estimates.json +2fa162eb5c6daf3be969712d1988ec8ea355212e8a8feafec8d20f61b2af69be current-2/mixed_write/nested/1000/base/sample.json +64ffeee7beed6006f775335a1502142a91b91472c6de7cac6893a90e1b3878cc current-2/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-2/mixed_write/nested/1000/new/benchmark.json +11e7b1663134a3728a8dc90d548ed4ce73ff73da2bc98b330d82c33cd4b0b41a current-2/mixed_write/nested/1000/new/estimates.json +2fa162eb5c6daf3be969712d1988ec8ea355212e8a8feafec8d20f61b2af69be current-2/mixed_write/nested/1000/new/sample.json +64ffeee7beed6006f775335a1502142a91b91472c6de7cac6893a90e1b3878cc current-2/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-2/mixed_write/pattern/1000/base/benchmark.json +ec90ed858344d8027cae34ef664bc8d16df7743eb91dd2e46191880302c081e3 current-2/mixed_write/pattern/1000/base/estimates.json +ebb7fd60128e80cf73066717c4ef0486e93b1fcd9b8dc8f41e6e0bc605bd9f83 current-2/mixed_write/pattern/1000/base/sample.json +f1274d1552a8e454f5d654474656a76f851fbd4ec3343b042fcb3390edb1dcd4 current-2/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-2/mixed_write/pattern/1000/new/benchmark.json +ec90ed858344d8027cae34ef664bc8d16df7743eb91dd2e46191880302c081e3 current-2/mixed_write/pattern/1000/new/estimates.json +ebb7fd60128e80cf73066717c4ef0486e93b1fcd9b8dc8f41e6e0bc605bd9f83 current-2/mixed_write/pattern/1000/new/sample.json +f1274d1552a8e454f5d654474656a76f851fbd4ec3343b042fcb3390edb1dcd4 current-2/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-2/mixed_write/scalar/1000/base/benchmark.json +72683ee692d91fcdfa5534b7e5084dc51405fd6568e0892c737485b07218cb6a current-2/mixed_write/scalar/1000/base/estimates.json +0d59ef68c43962988d4f44c55d3a3142473528e34c3d4ae27bc1090b078a8ef2 current-2/mixed_write/scalar/1000/base/sample.json +fac0e79443dc330365c446dc733dfea1f6e1254264b30c4f84eb4c0d088c4048 current-2/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-2/mixed_write/scalar/1000/new/benchmark.json +72683ee692d91fcdfa5534b7e5084dc51405fd6568e0892c737485b07218cb6a current-2/mixed_write/scalar/1000/new/estimates.json +0d59ef68c43962988d4f44c55d3a3142473528e34c3d4ae27bc1090b078a8ef2 current-2/mixed_write/scalar/1000/new/sample.json +fac0e79443dc330365c446dc733dfea1f6e1254264b30c4f84eb4c0d088c4048 current-2/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-2/mixed_write/text/1000/base/benchmark.json +6a4fa4adf0f5bc05bb24d6195463e7331ee142599c44b9d7725f9b0ef378510a current-2/mixed_write/text/1000/base/estimates.json +caebbc9838d0510b1fe1f5ba073cf0809785706ef3321f12baf282c2257859c2 current-2/mixed_write/text/1000/base/sample.json +9d617f851850d12fab916ef813684a20f19f7127292eca6cca94e4398c5ce9b8 current-2/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-2/mixed_write/text/1000/new/benchmark.json +6a4fa4adf0f5bc05bb24d6195463e7331ee142599c44b9d7725f9b0ef378510a current-2/mixed_write/text/1000/new/estimates.json +caebbc9838d0510b1fe1f5ba073cf0809785706ef3321f12baf282c2257859c2 current-2/mixed_write/text/1000/new/sample.json +9d617f851850d12fab916ef813684a20f19f7127292eca6cca94e4398c5ce9b8 current-2/mixed_write/text/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/criterion-results.tar.gz new file mode 100644 index 0000000..a81777a Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-0.txt new file mode 100644 index 0000000..961961e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-0.txt @@ -0,0 +1,94 @@ +memcap: <=7749 MiB (60% of 12915 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 3.0000 s +Benchmarking mixed_read/text/1000: Collecting 100 samples in estimated 5.0766 s (6500 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [775.88 µs 783.34 µs 792.29 µs] + thrpt: [34.790 MiB/s 35.188 MiB/s 35.526 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 3 (3.00%) high mild + 10 (10.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 100 samples in estimated 5.0212 s (13k iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [386.30 µs 388.48 µs 390.96 µs] + thrpt: [102.21 MiB/s 102.87 MiB/s 103.45 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 8 (8.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_read/enum/1000: Collecting 100 samples in estimated 5.0210 s (16k iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [320.14 µs 321.91 µs 324.25 µs] + thrpt: [58.861 MiB/s 59.290 MiB/s 59.618 MiB/s] +Found 15 outliers among 100 measurements (15.00%) + 6 (6.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 100 samples in estimated 5.0202 s (12k iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [401.14 µs 403.05 µs 405.23 µs] + thrpt: [44.745 MiB/s 44.988 MiB/s 45.202 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 5 (5.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_read/nested/1000: Collecting 100 samples in estimated 5.0425 s (7900 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [625.26 µs 628.35 µs 631.86 µs] + thrpt: [57.208 MiB/s 57.527 MiB/s 57.812 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 9 (9.00%) high mild + 4 (4.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0087 s (32k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [145.57 µs 147.16 µs 149.12 µs] + thrpt: [184.84 MiB/s 187.31 MiB/s 189.36 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 5 (5.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0004 s (46k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [108.48 µs 108.90 µs 109.37 µs] + thrpt: [365.38 MiB/s 366.95 MiB/s 368.37 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 6 (6.00%) high mild + 3 (3.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0006 s (63k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [79.160 µs 79.659 µs 80.259 µs] + thrpt: [237.80 MiB/s 239.60 MiB/s 241.10 MiB/s] +Found 16 outliers among 100 measurements (16.00%) + 8 (8.00%) high mild + 8 (8.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0118 s (30k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.17 µs 144.84 µs 145.62 µs] + thrpt: [124.52 MiB/s 125.19 MiB/s 125.77 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 5 (5.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0012 s (50k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [99.094 µs 99.782 µs 100.66 µs] + thrpt: [359.12 MiB/s 362.26 MiB/s 364.78 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 6 (6.00%) high mild + 7 (7.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-1.txt new file mode 100644 index 0000000..150bccc --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-1.txt @@ -0,0 +1,94 @@ +memcap: <=7744 MiB (60% of 12907 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 3.0000 s +Benchmarking mixed_read/text/1000: Collecting 100 samples in estimated 5.0352 s (6400 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [768.00 µs 771.55 µs 775.99 µs] + thrpt: [35.521 MiB/s 35.726 MiB/s 35.891 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 4 (4.00%) high mild + 7 (7.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 100 samples in estimated 5.0014 s (13k iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [385.40 µs 386.82 µs 388.39 µs] + thrpt: [102.89 MiB/s 103.31 MiB/s 103.69 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 3 (3.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_read/enum/1000: Collecting 100 samples in estimated 5.0108 s (16k iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [321.78 µs 323.58 µs 325.73 µs] + thrpt: [58.594 MiB/s 58.984 MiB/s 59.313 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 7 (7.00%) high mild + 4 (4.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 100 samples in estimated 5.0352 s (12k iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [402.27 µs 405.33 µs 408.93 µs] + thrpt: [44.341 MiB/s 44.734 MiB/s 45.074 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 6 (6.00%) high mild + 8 (8.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_read/nested/1000: Collecting 100 samples in estimated 5.0250 s (8000 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [621.34 µs 623.86 µs 626.76 µs] + thrpt: [57.673 MiB/s 57.941 MiB/s 58.176 MiB/s] +Found 10 outliers among 100 measurements (10.00%) + 2 (2.00%) high mild + 8 (8.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0056 s (34k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [143.98 µs 144.80 µs 145.77 µs] + thrpt: [189.09 MiB/s 190.36 MiB/s 191.44 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 4 (4.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0016 s (46k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [108.46 µs 109.42 µs 110.60 µs] + thrpt: [361.32 MiB/s 365.22 MiB/s 368.45 MiB/s] +Found 17 outliers among 100 measurements (17.00%) + 4 (4.00%) high mild + 13 (13.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0058 s (62k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.064 µs 80.582 µs 81.187 µs] + thrpt: [235.09 MiB/s 236.85 MiB/s 238.38 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 4 (4.00%) high mild + 8 (8.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0041 s (30k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [165.21 µs 166.63 µs 168.38 µs] + thrpt: [107.69 MiB/s 108.82 MiB/s 109.75 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 2 (2.00%) high mild + 11 (11.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0004 s (51k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [98.963 µs 99.585 µs 100.56 µs] + thrpt: [359.45 MiB/s 362.98 MiB/s 365.26 MiB/s] +Found 8 outliers among 100 measurements (8.00%) + 5 (5.00%) high mild + 3 (3.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-2.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-2.txt new file mode 100644 index 0000000..684b080 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-2.txt @@ -0,0 +1,94 @@ +memcap: <=7744 MiB (60% of 12906 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 3.0000 s +Benchmarking mixed_read/text/1000: Collecting 100 samples in estimated 5.0108 s (6400 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [779.04 µs 786.03 µs 793.94 µs] + thrpt: [34.718 MiB/s 35.067 MiB/s 35.382 MiB/s] +Found 18 outliers among 100 measurements (18.00%) + 7 (7.00%) high mild + 11 (11.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 100 samples in estimated 5.0320 s (13k iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [383.88 µs 385.44 µs 387.18 µs] + thrpt: [103.21 MiB/s 103.68 MiB/s 104.10 MiB/s] +Found 11 outliers among 100 measurements (11.00%) + 6 (6.00%) high mild + 5 (5.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_read/enum/1000: Collecting 100 samples in estimated 5.0188 s (16k iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [321.31 µs 324.89 µs 329.29 µs] + thrpt: [57.961 MiB/s 58.746 MiB/s 59.401 MiB/s] +Found 17 outliers among 100 measurements (17.00%) + 4 (4.00%) high mild + 13 (13.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 100 samples in estimated 5.0327 s (12k iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [401.23 µs 404.27 µs 408.05 µs] + thrpt: [44.436 MiB/s 44.852 MiB/s 45.191 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 5 (5.00%) high mild + 9 (9.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_read/nested/1000: Collecting 100 samples in estimated 5.0146 s (8000 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [621.04 µs 627.82 µs 637.03 µs] + thrpt: [56.744 MiB/s 57.576 MiB/s 58.204 MiB/s] +Found 14 outliers among 100 measurements (14.00%) + 4 (4.00%) high mild + 10 (10.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 3.0000 s +Benchmarking mixed_write/text/1000: Collecting 100 samples in estimated 5.0058 s (35k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [142.35 µs 143.58 µs 145.32 µs] + thrpt: [189.68 MiB/s 191.97 MiB/s 193.63 MiB/s] +Found 12 outliers among 100 measurements (12.00%) + 6 (6.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 3.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 100 samples in estimated 5.0038 s (49k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [99.812 µs 101.29 µs 103.10 µs] + thrpt: [387.60 MiB/s 394.54 MiB/s 400.37 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 3 (3.00%) high mild + 10 (10.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 3.0000 s +Benchmarking mixed_write/enum/1000: Collecting 100 samples in estimated 5.0053 s (62k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.425 µs 80.829 µs 81.301 µs] + thrpt: [234.76 MiB/s 236.13 MiB/s 237.31 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 3 (3.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 3.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 100 samples in estimated 5.0094 s (30k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [165.33 µs 166.24 µs 167.42 µs] + thrpt: [108.30 MiB/s 109.07 MiB/s 109.67 MiB/s] +Found 9 outliers among 100 measurements (9.00%) + 3 (3.00%) high mild + 6 (6.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 3.0000 s +Benchmarking mixed_write/nested/1000: Collecting 100 samples in estimated 5.0002 s (51k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [98.693 µs 99.638 µs 100.80 µs] + thrpt: [358.60 MiB/s 362.78 MiB/s 366.26 MiB/s] +Found 13 outliers among 100 measurements (13.00%) + 4 (4.00%) high mild + 9 (9.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-build.txt new file mode 100644 index 0000000..4c62aa4 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7676 MiB (60% of 12794 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-nil/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 2.81s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/harness.rs new file mode 100644 index 0000000..7d0413e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/harness.rs @@ -0,0 +1,120 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["mixed_read", "mixed_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for kind in ["text", "scalar", "enum", "pattern", "nested"] { + let (schema, xml) = fixture(kind, 1000); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function(BenchmarkId::new(kind, 1000), |b| { + if operation == "mixed_read" { + b.iter(|| { + black_box(deserialize(black_box(&xml), Arc::clone(&schema)).unwrap()) + }); + } else { + b.iter(|| { + black_box(serialize("Root", black_box(&value), &schema, None).unwrap()) + }); + } + }); + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/metadata.json new file mode 100644 index 0000000..6d1433b --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "f4ad13daf5a5fcfeb33481543dc75b3354be6ee3" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 100, + "warmup_seconds": 3.0, + "measurement_seconds": 5.0, + "rounds": 3, + "filter": "", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/summary.json new file mode 100644 index 0000000..fe50a6e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-final/summary.json @@ -0,0 +1,712 @@ +{ + "mixed_read/enum/1000": { + "baseline_ns": 324559.37824675324, + "candidate_ns": 323577.7, + "delta_percent": -0.30246491475802717, + "speedup": 1.0030338254050055, + "process_deltas_percent": [ + -0.6113358043077777, + -0.4347146927449308, + 0.10209578121695984 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 322392.5766607142, + "upper_bound": 325547.790719156 + }, + "point_estimate": 323889.2021428571, + "standard_error": 806.9047497535354 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 323028.8242173202, + "upper_bound": 327470.702496732 + }, + "point_estimate": 324990.48137254897, + "standard_error": 1138.594787975065 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 323207.29843019467, + "upper_bound": 326054.8475990258 + }, + "point_estimate": 324559.37824675324, + "standard_error": 724.9356324472421 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 320137.44676290324, + "upper_bound": 324253.0582403227 + }, + "point_estimate": 321909.151483871, + "standard_error": 1062.5485390873762 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 321783.61191935494, + "upper_bound": 325731.3048854838 + }, + "point_estimate": 323577.7, + "standard_error": 1011.0354780864645 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 321307.4623685897, + "upper_bound": 329286.10287980776 + }, + "point_estimate": 324890.7396794872, + "standard_error": 2041.8091681089988 + } + ] + } + }, + "mixed_read/nested/1000": { + "baseline_ns": 640644.8453750001, + "candidate_ns": 627817.7265000001, + "delta_percent": -2.002219945669226, + "speedup": 1.0204312785918128, + "process_deltas_percent": [ + -1.9193910865460961, + -1.6279716249607445, + -3.257285265184562 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 632702.8563531253, + "upper_bound": 650745.8757656253 + }, + "point_estimate": 640644.8453750001, + "standard_error": 4643.62834088766 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 628970.94285, + "upper_bound": 640907.5228656251 + }, + "point_estimate": 634187.1745000001, + "standard_error": 3079.1824014634094 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 645852.0429294874, + "upper_bound": 652452.4637371798 + }, + "point_estimate": 648956.0771794873, + "standard_error": 1687.4017586237337 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 625257.0665759492, + "upper_bound": 631858.9343291137 + }, + "point_estimate": 628348.3653164554, + "standard_error": 1682.1541714130203 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 621343.2729968748, + "upper_bound": 626757.2943468749 + }, + "point_estimate": 623862.7872499998, + "standard_error": 1391.7772352962738 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 621038.3354906251, + "upper_bound": 637025.4441124998 + }, + "point_estimate": 627817.7265000001, + "standard_error": 4131.545912075161 + } + ] + } + }, + "mixed_read/pattern/1000": { + "baseline_ns": 407838.3506451613, + "candidate_ns": 404270.6563200001, + "delta_percent": -0.8747814715112989, + "speedup": 1.0088250143051123, + "process_deltas_percent": [ + -0.5904683224567164, + -0.613991480006737, + -1.2357932198923671 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 403700.18839516136, + "upper_bound": 407414.150856855 + }, + "point_estimate": 405439.5341935483, + "standard_error": 949.4446737073405 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 405479.4204012096, + "upper_bound": 410815.9715887096 + }, + "point_estimate": 407838.3506451613, + "standard_error": 1368.0252872241024 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 406918.59577235766, + "upper_bound": 412494.39732520323 + }, + "point_estimate": 409329.11780487804, + "standard_error": 1438.7802413241893 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 401137.48976209655, + "upper_bound": 405232.24266129034 + }, + "point_estimate": 403045.54217741935, + "standard_error": 1048.0329878600428 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 402273.11177800014, + "upper_bound": 408928.16255199985 + }, + "point_estimate": 405334.25792, + "standard_error": 1700.180996281492 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 401234.44422400004, + "upper_bound": 408047.733426 + }, + "point_estimate": 404270.6563200001, + "standard_error": 1747.0318056247986 + } + ] + } + }, + "mixed_read/scalar/1000": { + "baseline_ns": 393279.15240310074, + "candidate_ns": 386817.75938461535, + "delta_percent": -1.6429533523461881, + "speedup": 1.0167039719912674, + "process_deltas_percent": [ + -0.8069809311048171, + -1.6429533523461881, + -4.007224944387911 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 389840.9459023438, + "upper_bound": 393703.1835703125 + }, + "point_estimate": 391639.13921875, + "standard_error": 988.6091885395813 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 390842.19787984504, + "upper_bound": 396143.10109108535 + }, + "point_estimate": 393279.15240310074, + "standard_error": 1357.3523162818717 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 399364.28597782255, + "upper_bound": 404281.117627016 + }, + "point_estimate": 401530.3780645162, + "standard_error": 1264.8675873001018 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 386295.1795678298, + "upper_bound": 390962.17045930243 + }, + "point_estimate": 388478.68604651163, + "standard_error": 1194.904915597632 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 385396.57543846156, + "upper_bound": 388393.00349999993 + }, + "point_estimate": 386817.75938461535, + "standard_error": 767.7571863059787 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 383880.6112385496, + "upper_bound": 387177.86421564885 + }, + "point_estimate": 385440.1525954198, + "standard_error": 840.8940389798248 + } + ] + } + }, + "mixed_read/text/1000": { + "baseline_ns": 788824.7112903227, + "candidate_ns": 783340.1932307688, + "delta_percent": -0.6952771612063979, + "speedup": 1.007001451102533, + "process_deltas_percent": [ + -1.1485033475251205, + 6.733670476781151, + -0.35410798499878604 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 787437.9424549178, + "upper_bound": 798556.3989139345 + }, + "point_estimate": 792441.4093442629, + "standard_error": 2852.2792218374393 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 719140.8040441175, + "upper_bound": 727344.9548786759 + }, + "point_estimate": 722869.4132352939, + "standard_error": 2095.46722653359 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 786639.831564516, + "upper_bound": 791184.9675725808 + }, + "point_estimate": 788824.7112903227, + "standard_error": 1160.792925841805 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 775881.5383692309, + "upper_bound": 792291.6667884614 + }, + "point_estimate": 783340.1932307688, + "standard_error": 4208.612405541434 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 768000.2495390625, + "upper_bound": 775993.7542460938 + }, + "point_estimate": 771545.0575, + "standard_error": 2048.482966930791 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 779036.096359375, + "upper_bound": 793943.1424492188 + }, + "point_estimate": 786031.42, + "standard_error": 3827.8743388524867 + } + ] + } + }, + "mixed_write/enum/1000": { + "baseline_ns": 81091.94959742352, + "candidate_ns": 80582.30828800001, + "delta_percent": -0.6284733712206836, + "speedup": 1.0063244813936336, + "process_deltas_percent": [ + -1.7671496641892714, + -0.49313539920932126, + -1.1348473979673979 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80231.20632326893, + "upper_bound": 82251.50257125605 + }, + "point_estimate": 81091.94959742352, + "standard_error": 521.2715033093197 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80466.07554742765, + "upper_bound": 81564.00454300648 + }, + "point_estimate": 80981.65750803861, + "standard_error": 281.03662024976586 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 81210.42242914652, + "upper_bound": 82448.78287479872 + }, + "point_estimate": 81756.36669887281, + "standard_error": 317.08446250079623 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 79160.25262420127, + "upper_bound": 80258.87414696485 + }, + "point_estimate": 79658.93348242811, + "standard_error": 282.21341393738163 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80063.50249320002, + "upper_bound": 81186.7818168 + }, + "point_estimate": 80582.30828800001, + "standard_error": 287.89230113734357 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80425.30589663467, + "upper_bound": 81301.15353445512 + }, + "point_estimate": 80828.55669871796, + "standard_error": 224.8875885050209 + } + ] + } + }, + "mixed_write/nested/1000": { + "baseline_ns": 99166.17704500978, + "candidate_ns": 99638.13228346461, + "delta_percent": 0.4759235986687482, + "speedup": 0.9952633070528445, + "process_deltas_percent": [ + 0.5973241594439793, + 0.4220247599268534, + 0.6742390059334191 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 98712.55557227721, + "upper_bound": 99730.69753861387 + }, + "point_estimate": 99189.24827722771, + "standard_error": 259.924384334519 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 98527.20020596868, + "upper_bound": 99924.67378326814 + }, + "point_estimate": 99166.17704500978, + "standard_error": 359.09461083379205 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 98256.80182001973, + "upper_bound": 99808.13794723868 + }, + "point_estimate": 98970.83232741621, + "standard_error": 398.06154005670464 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99093.95615269465, + "upper_bound": 100656.02202844316 + }, + "point_estimate": 99781.72962075846, + "standard_error": 401.370770893299 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 98963.39019367586, + "upper_bound": 100561.0817588933 + }, + "point_estimate": 99584.68286561263, + "standard_error": 427.01620703425556 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 98692.88543257877, + "upper_bound": 100802.03908070867 + }, + "point_estimate": 99638.13228346461, + "standard_error": 541.9151453779205 + } + ] + } + }, + "mixed_write/pattern/1000": { + "baseline_ns": 144466.9116715542, + "candidate_ns": 166240.5144666667, + "delta_percent": 15.071688418601227, + "speedup": 0.8690234876560228, + "process_deltas_percent": [ + -12.584185974455785, + 15.339356443164952, + 15.215858831808472 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 164378.74580800656, + "upper_bound": 167392.11892892153 + }, + "point_estimate": 165686.87852941183, + "standard_error": 777.4958606040049 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 143570.69134384152, + "upper_bound": 145607.7814186216 + }, + "point_estimate": 144466.9116715542, + "standard_error": 526.8047398344404 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 143571.0730343567, + "upper_bound": 145147.9584824562 + }, + "point_estimate": 144286.13921052637, + "standard_error": 404.1173016340862 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144169.85199749997, + "upper_bound": 145616.98631333327 + }, + "point_estimate": 144836.5336, + "standard_error": 370.8887159072287 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 165208.8484250842, + "upper_bound": 168379.6855934344 + }, + "point_estimate": 166627.20619528618, + "standard_error": 813.3517593929072 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 165328.28601083346, + "upper_bound": 167423.12909833324 + }, + "point_estimate": 166240.5144666667, + "standard_error": 539.9591840031252 + } + ] + } + }, + "mixed_write/scalar/1000": { + "baseline_ns": 97474.1323772102, + "candidate_ns": 108901.87407894738, + "delta_percent": 11.723871167699684, + "speedup": 0.8950638655359343, + "process_deltas_percent": [ + 1.9899416708625717, + 12.253997018916607, + 4.281324253610386 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 105902.30398101272, + "upper_bound": 107909.48825632907 + }, + "point_estimate": 106777.07261603374, + "standard_error": 514.3330390937997 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97024.16162278983, + "upper_bound": 97994.3131031434 + }, + "point_estimate": 97474.1323772102, + "standard_error": 248.4458502079234 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 96508.10992504835, + "upper_bound": 97850.6070846228 + }, + "point_estimate": 97127.53849129591, + "standard_error": 343.49807048158493 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 108484.16203892548, + "upper_bound": 109370.49390515349 + }, + "point_estimate": 108901.87407894738, + "standard_error": 226.2733391139651 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 108458.85331344898, + "upper_bound": 110598.13479772232 + }, + "point_estimate": 109418.60965292837, + "standard_error": 549.2200680136224 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99812.33847052841, + "upper_bound": 103101.40266260158 + }, + "point_estimate": 101285.88335365853, + "standard_error": 845.5341270506243 + } + ] + } + }, + "mixed_write/text/1000": { + "baseline_ns": 145881.8319186046, + "candidate_ns": 144802.76683139536, + "delta_percent": -0.7396843548080234, + "speedup": 1.0074519645640867, + "process_deltas_percent": [ + 0.8768848722564337, + -0.11857058924475972, + -2.1459057764044553 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144924.24243241284, + "upper_bound": 147060.32017659894 + }, + "point_estimate": 145881.8319186046, + "standard_error": 548.2263090086823 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144407.91982608693, + "upper_bound": 145610.15519782607 + }, + "point_estimate": 144974.6641449276, + "standard_error": 306.3330418947388 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 145913.96640743432, + "upper_bound": 147656.15504883384 + }, + "point_estimate": 146731.27930029147, + "standard_error": 444.2492987792903 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 145566.08684779177, + "upper_bound": 149121.80078785485 + }, + "point_estimate": 147161.04763406943, + "standard_error": 910.764255258407 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 143981.9564113372, + "upper_bound": 145770.96318604655 + }, + "point_estimate": 144802.76683139536, + "standard_error": 457.3996022990908 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142352.6243490028, + "upper_bound": 145320.54256481482 + }, + "point_estimate": 143582.56430199437, + "standard_error": 770.3323210584281 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-Cargo.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-Cargo.lock new file mode 100644 index 0000000..f270549 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-Cargo.lock @@ -0,0 +1,317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "mixed-profile" +version = "0.0.0" +dependencies = [ + "polyxml", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-Cargo.toml b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-Cargo.toml new file mode 100644 index 0000000..e96d2b0 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-Cargo.toml @@ -0,0 +1,9 @@ +[package] +name="mixed-profile" +version="0.0.0" +edition="2021" +[workspace] +[dependencies] +polyxml={path="/home/bailey/github/polyxml-perf-selected/crates/polyxml-core"} +[profile.release] +debug=1 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-build.txt new file mode 100644 index 0000000..cd62479 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-build.txt @@ -0,0 +1,37 @@ +memcap: <=7771 MiB (60% of 12952 MiB available) [systemd MemoryMax, swap off] + Compiling proc-macro2 v1.0.107 + Compiling unicode-ident v1.0.26 + Compiling quote v1.0.47 + Compiling syn v3.0.6 + Compiling serde_core v1.0.229 + Compiling memchr v2.8.3 + Compiling lexical-util v1.0.7 + Compiling serde v1.0.229 + Compiling serde_derive v1.0.229 + Compiling siphasher v1.0.4 + Compiling zmij v1.0.23 + Compiling phf_shared v0.14.0 + Compiling lexical-write-integer v1.0.6 + Compiling lexical-parse-integer v1.0.6 + Compiling aho-corasick v1.1.5 + Compiling thiserror v2.0.21 + Compiling regex-syntax v0.8.11 + Compiling serde_json v1.0.151 + Compiling fastrand v2.5.0 + Compiling phf_generator v0.14.0 + Compiling regex-automata v0.4.18 + Compiling lexical-parse-float v1.0.6 + Compiling lexical-write-float v1.0.6 + Compiling thiserror-impl v2.0.21 + Compiling itoa v1.0.18 + Compiling memo-map v0.3.4 + Compiling minijinja v2.24.0 + Compiling lexical-core v1.0.6 + Compiling regex v1.13.1 + Compiling phf_codegen v0.14.0 + Compiling quick-xml v0.42.0 + Compiling heck v0.5.0 + Compiling smallvec v1.16.2 + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-perf-selected/crates/polyxml-core) + Compiling mixed-profile v0.0.0 (/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline) + Finished `release` profile [optimized + debuginfo] target(s) in 1m 12s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-harness.rs new file mode 100644 index 0000000..0642853 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-harness.rs @@ -0,0 +1,103 @@ +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box,sync::Arc}; +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + + +#[inline(never)] +fn measured_region(schema: &ModelSchema, value: &PolyValue, count: usize) { + for _ in 0..count { black_box(serialize("Root", black_box(value), black_box(schema), None).unwrap()); } +} +fn main() { + let kind=std::env::args().nth(1).unwrap(); + let (schema,xml)=fixture(&kind,1000); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root", &value, &schema,None).unwrap()); } + measured_region(&schema,&value,25); +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-metadata.json new file mode 100644 index 0000000..e05efd6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-metadata.json @@ -0,0 +1,11 @@ +{ + "revision": "1819c91b0808b9242c642d82350d2b657b60108c", + "kind": [ + "scalar", + "pattern" + ], + "items": 1000, + "operations": 25, + "warmup_operations": 3, + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-pattern-annotated.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-pattern-annotated.txt new file mode 100644 index 0000000..2f6addf --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-pattern-annotated.txt @@ -0,0 +1,26 @@ +-------------------------------------------------------------------------------- +Profile data file '/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/evidence/mixed-nil-instructions/baseline-pattern.callgrind' (creator: callgrind-3.26.0) +-------------------------------------------------------------------------------- +I1 cache: +D1 cache: +LL cache: +Timerange: Basic block 0 - 17553374 +Trigger: Program termination +Profiled target: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile pattern (PID 501055, part 1) +Events recorded: Ir +Events shown: Ir +Event sort order: Ir +Thresholds: 95 +Include dirs: +User annotated: +Auto-annotation: off + +-------------------------------------------------------------------------------- +Ir +-------------------------------------------------------------------------------- +. PROGRAM TOTALS (calculated) + +-------------------------------------------------------------------------------- +Ir file:function +-------------------------------------------------------------------------------- + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-pattern-valgrind.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-pattern-valgrind.txt new file mode 100644 index 0000000..bb9d553 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-pattern-valgrind.txt @@ -0,0 +1,12 @@ +==501055== Callgrind, a call-graph generating cache profiler +==501055== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. +==501055== Using Valgrind-3.26.0 and LibVEX; rerun with -h for copyright info +==501055== Command: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile pattern +==501055== Parent PID: 500160 +==501055== +==501055== For interactive control, run 'callgrind_control -h'. +==501055== +==501055== Events : Ir +==501055== Collected : 0 +==501055== +==501055== I refs: 0 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-pattern.callgrind b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-pattern.callgrind new file mode 100644 index 0000000..c986f58 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-pattern.callgrind @@ -0,0 +1,21 @@ +# callgrind format +version: 1 +creator: callgrind-3.26.0 +pid: 501055 +cmd: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile pattern +part: 1 + + +desc: I1 cache: +desc: D1 cache: +desc: LL cache: + +desc: Timerange: Basic block 0 - 17553374 +desc: Trigger: Program termination + +positions: line +events: Ir +summary: 0 + + +totals: 0 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-scalar-annotated.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-scalar-annotated.txt new file mode 100644 index 0000000..b3006fa --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-scalar-annotated.txt @@ -0,0 +1,26 @@ +-------------------------------------------------------------------------------- +Profile data file '/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/evidence/mixed-nil-instructions/baseline-scalar.callgrind' (creator: callgrind-3.26.0) +-------------------------------------------------------------------------------- +I1 cache: +D1 cache: +LL cache: +Timerange: Basic block 0 - 16072065 +Trigger: Program termination +Profiled target: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile scalar (PID 501049, part 1) +Events recorded: Ir +Events shown: Ir +Event sort order: Ir +Thresholds: 95 +Include dirs: +User annotated: +Auto-annotation: off + +-------------------------------------------------------------------------------- +Ir +-------------------------------------------------------------------------------- +. PROGRAM TOTALS (calculated) + +-------------------------------------------------------------------------------- +Ir file:function +-------------------------------------------------------------------------------- + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-scalar-valgrind.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-scalar-valgrind.txt new file mode 100644 index 0000000..0dce19c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-scalar-valgrind.txt @@ -0,0 +1,12 @@ +==501049== Callgrind, a call-graph generating cache profiler +==501049== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. +==501049== Using Valgrind-3.26.0 and LibVEX; rerun with -h for copyright info +==501049== Command: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile scalar +==501049== Parent PID: 500160 +==501049== +==501049== For interactive control, run 'callgrind_control -h'. +==501049== +==501049== Events : Ir +==501049== Collected : 0 +==501049== +==501049== I refs: 0 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-scalar.callgrind b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-scalar.callgrind new file mode 100644 index 0000000..a8dcc2d --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/baseline-scalar.callgrind @@ -0,0 +1,21 @@ +# callgrind format +version: 1 +creator: callgrind-3.26.0 +pid: 501049 +cmd: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile scalar +part: 1 + + +desc: I1 cache: +desc: D1 cache: +desc: LL cache: + +desc: Timerange: Basic block 0 - 16072065 +desc: Trigger: Program termination + +positions: line +events: Ir +summary: 0 + + +totals: 0 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-Cargo.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-Cargo.lock new file mode 100644 index 0000000..f270549 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-Cargo.lock @@ -0,0 +1,317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "mixed-profile" +version = "0.0.0" +dependencies = [ + "polyxml", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-Cargo.toml b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-Cargo.toml new file mode 100644 index 0000000..df7bd50 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-Cargo.toml @@ -0,0 +1,9 @@ +[package] +name="mixed-profile" +version="0.0.0" +edition="2021" +[workspace] +[dependencies] +polyxml={path="/home/bailey/github/polyxml-mixed-nil/crates/polyxml-core"} +[profile.release] +debug=1 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-build.txt new file mode 100644 index 0000000..d1d0015 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-build.txt @@ -0,0 +1,37 @@ +memcap: <=7725 MiB (60% of 12875 MiB available) [systemd MemoryMax, swap off] + Compiling proc-macro2 v1.0.107 + Compiling unicode-ident v1.0.26 + Compiling quote v1.0.47 + Compiling syn v3.0.6 + Compiling serde_core v1.0.229 + Compiling lexical-util v1.0.7 + Compiling memchr v2.8.3 + Compiling serde v1.0.229 + Compiling serde_derive v1.0.229 + Compiling siphasher v1.0.4 + Compiling zmij v1.0.23 + Compiling phf_shared v0.14.0 + Compiling aho-corasick v1.1.5 + Compiling lexical-parse-integer v1.0.6 + Compiling lexical-write-integer v1.0.6 + Compiling serde_json v1.0.151 + Compiling regex-syntax v0.8.11 + Compiling thiserror v2.0.21 + Compiling fastrand v2.5.0 + Compiling phf_generator v0.14.0 + Compiling regex-automata v0.4.18 + Compiling lexical-write-float v1.0.6 + Compiling lexical-parse-float v1.0.6 + Compiling thiserror-impl v2.0.21 + Compiling itoa v1.0.18 + Compiling memo-map v0.3.4 + Compiling minijinja v2.24.0 + Compiling lexical-core v1.0.6 + Compiling regex v1.13.1 + Compiling phf_codegen v0.14.0 + Compiling quick-xml v0.42.0 + Compiling heck v0.5.0 + Compiling smallvec v1.16.2 + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-nil/crates/polyxml-core) + Compiling mixed-profile v0.0.0 (/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current) + Finished `release` profile [optimized + debuginfo] target(s) in 1m 12s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-harness.rs new file mode 100644 index 0000000..0642853 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-harness.rs @@ -0,0 +1,103 @@ +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box,sync::Arc}; +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + + +#[inline(never)] +fn measured_region(schema: &ModelSchema, value: &PolyValue, count: usize) { + for _ in 0..count { black_box(serialize("Root", black_box(value), black_box(schema), None).unwrap()); } +} +fn main() { + let kind=std::env::args().nth(1).unwrap(); + let (schema,xml)=fixture(&kind,1000); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root", &value, &schema,None).unwrap()); } + measured_region(&schema,&value,25); +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-metadata.json new file mode 100644 index 0000000..d9080ee --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-metadata.json @@ -0,0 +1,11 @@ +{ + "revision": "121ac4b888fd434060d13fc886835a2fd46d684c", + "kind": [ + "scalar", + "pattern" + ], + "items": 1000, + "operations": 25, + "warmup_operations": 3, + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-pattern-annotated.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-pattern-annotated.txt new file mode 100644 index 0000000..001c7b1 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-pattern-annotated.txt @@ -0,0 +1,26 @@ +-------------------------------------------------------------------------------- +Profile data file '/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/evidence/mixed-nil-instructions/current-pattern.callgrind' (creator: callgrind-3.26.0) +-------------------------------------------------------------------------------- +I1 cache: +D1 cache: +LL cache: +Timerange: Basic block 0 - 17587694 +Trigger: Program termination +Profiled target: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile pattern (PID 502009, part 1) +Events recorded: Ir +Events shown: Ir +Event sort order: Ir +Thresholds: 95 +Include dirs: +User annotated: +Auto-annotation: off + +-------------------------------------------------------------------------------- +Ir +-------------------------------------------------------------------------------- +. PROGRAM TOTALS (calculated) + +-------------------------------------------------------------------------------- +Ir file:function +-------------------------------------------------------------------------------- + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-pattern-valgrind.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-pattern-valgrind.txt new file mode 100644 index 0000000..b4875d6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-pattern-valgrind.txt @@ -0,0 +1,12 @@ +==502009== Callgrind, a call-graph generating cache profiler +==502009== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. +==502009== Using Valgrind-3.26.0 and LibVEX; rerun with -h for copyright info +==502009== Command: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile pattern +==502009== Parent PID: 501061 +==502009== +==502009== For interactive control, run 'callgrind_control -h'. +==502009== +==502009== Events : Ir +==502009== Collected : 0 +==502009== +==502009== I refs: 0 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-pattern.callgrind b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-pattern.callgrind new file mode 100644 index 0000000..be6a001 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-pattern.callgrind @@ -0,0 +1,21 @@ +# callgrind format +version: 1 +creator: callgrind-3.26.0 +pid: 502009 +cmd: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile pattern +part: 1 + + +desc: I1 cache: +desc: D1 cache: +desc: LL cache: + +desc: Timerange: Basic block 0 - 17587694 +desc: Trigger: Program termination + +positions: line +events: Ir +summary: 0 + + +totals: 0 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-scalar-annotated.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-scalar-annotated.txt new file mode 100644 index 0000000..2092cf0 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-scalar-annotated.txt @@ -0,0 +1,26 @@ +-------------------------------------------------------------------------------- +Profile data file '/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/evidence/mixed-nil-instructions/current-scalar.callgrind' (creator: callgrind-3.26.0) +-------------------------------------------------------------------------------- +I1 cache: +D1 cache: +LL cache: +Timerange: Basic block 0 - 15724753 +Trigger: Program termination +Profiled target: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile scalar (PID 502001, part 1) +Events recorded: Ir +Events shown: Ir +Event sort order: Ir +Thresholds: 95 +Include dirs: +User annotated: +Auto-annotation: off + +-------------------------------------------------------------------------------- +Ir +-------------------------------------------------------------------------------- +. PROGRAM TOTALS (calculated) + +-------------------------------------------------------------------------------- +Ir file:function +-------------------------------------------------------------------------------- + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-scalar-valgrind.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-scalar-valgrind.txt new file mode 100644 index 0000000..300ebcd --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-scalar-valgrind.txt @@ -0,0 +1,12 @@ +==502001== Callgrind, a call-graph generating cache profiler +==502001== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. +==502001== Using Valgrind-3.26.0 and LibVEX; rerun with -h for copyright info +==502001== Command: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile scalar +==502001== Parent PID: 501061 +==502001== +==502001== For interactive control, run 'callgrind_control -h'. +==502001== +==502001== Events : Ir +==502001== Collected : 0 +==502001== +==502001== I refs: 0 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-scalar.callgrind b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-scalar.callgrind new file mode 100644 index 0000000..3c5fc7d --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions-empty-profile/current-scalar.callgrind @@ -0,0 +1,21 @@ +# callgrind format +version: 1 +creator: callgrind-3.26.0 +pid: 502001 +cmd: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile scalar +part: 1 + + +desc: I1 cache: +desc: D1 cache: +desc: LL cache: + +desc: Timerange: Basic block 0 - 15724753 +desc: Trigger: Program termination + +positions: line +events: Ir +summary: 0 + + +totals: 0 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-Cargo.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-Cargo.lock new file mode 100644 index 0000000..f270549 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-Cargo.lock @@ -0,0 +1,317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "mixed-profile" +version = "0.0.0" +dependencies = [ + "polyxml", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-Cargo.toml b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-Cargo.toml new file mode 100644 index 0000000..e96d2b0 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-Cargo.toml @@ -0,0 +1,9 @@ +[package] +name="mixed-profile" +version="0.0.0" +edition="2021" +[workspace] +[dependencies] +polyxml={path="/home/bailey/github/polyxml-perf-selected/crates/polyxml-core"} +[profile.release] +debug=1 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-build.txt new file mode 100644 index 0000000..6ae50d2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7766 MiB (60% of 12943 MiB available) [systemd MemoryMax, swap off] + Compiling mixed-profile v0.0.0 (/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline) + Finished `release` profile [optimized + debuginfo] target(s) in 1.04s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-harness.rs new file mode 100644 index 0000000..4cfe143 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-harness.rs @@ -0,0 +1,104 @@ +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box,sync::Arc}; +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + + +#[inline(never)] +#[no_mangle] +fn measured_region(schema: &ModelSchema, value: &PolyValue, count: usize) { + for _ in 0..count { black_box(serialize("Root", black_box(value), black_box(schema), None).unwrap()); } +} +fn main() { + let kind=std::env::args().nth(1).unwrap(); + let (schema,xml)=fixture(&kind,1000); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root", &value, &schema,None).unwrap()); } + measured_region(&schema,&value,25); +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-metadata.json new file mode 100644 index 0000000..e05efd6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-metadata.json @@ -0,0 +1,11 @@ +{ + "revision": "1819c91b0808b9242c642d82350d2b657b60108c", + "kind": [ + "scalar", + "pattern" + ], + "items": 1000, + "operations": 25, + "warmup_operations": 3, + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-pattern-annotated.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-pattern-annotated.txt new file mode 100644 index 0000000..0f0b7b7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-pattern-annotated.txt @@ -0,0 +1,122 @@ +-------------------------------------------------------------------------------- +Profile data file '/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/evidence/mixed-nil-instructions/baseline-pattern.callgrind' (creator: callgrind-3.26.0) +-------------------------------------------------------------------------------- +I1 cache: +D1 cache: +LL cache: +Timerange: Basic block 0 - 17564422 +Trigger: Program termination +Profiled target: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile pattern (PID 502772, part 1) +Events recorded: Ir +Events shown: Ir +Event sort order: Ir +Thresholds: 95 +Include dirs: +User annotated: +Auto-annotation: off + +-------------------------------------------------------------------------------- +Ir +-------------------------------------------------------------------------------- +61,500,849 (100.0%) PROGRAM TOTALS + +-------------------------------------------------------------------------------- +Ir file:function +-------------------------------------------------------------------------------- +5,075,000 ( 8.25%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs: as core::hash::Hasher>::write [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +3,651,100 ( 5.94%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs:core::str::converts::from_utf8 +3,325,000 ( 5.41%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/converters.rs:::parse_scalar [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +2,507,675 ( 4.08%) ???:0x00000000001972a0 [/usr/lib/x86_64-linux-gnu/libc.so.6] +2,400,000 ( 3.90%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs:::hash_one::<&str> +2,175,000 ( 3.54%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/search.rs:regex_automata::hybrid::search::find_fwd [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +2,027,600 ( 3.30%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs:::write_model::<&mut alloc::vec::Vec> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +2,026,300 ( 3.29%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/writer.rs:>>::write_event:: [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +1,800,000 ( 2.93%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs:::hash_one::<&str> +1,708,475 ( 2.78%) ???:0x0000000000197a00 [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,300,000 ( 2.11%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/converters.rs:::parse_scalar'2 [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +1,200,000 ( 1.95%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:::hash_one::<&str> +1,125,000 ( 1.83%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/dfa.rs:regex_automata::hybrid::search::find_fwd +1,100,000 ( 1.79%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs:quick_xml::escape::_escape::::{closure#0}, &str> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +1,100,000 ( 1.79%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +1,050,350 ( 1.71%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/converts.rs:core::str::converts::from_utf8 [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +1,000,000 ( 1.63%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 950,000 ( 1.54%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 900,050 ( 1.46%) /rust/deps/hashbrown-0.17.1/src/raw.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 825,925 ( 1.34%) ???:free [/usr/lib/x86_64-linux-gnu/libc.so.6] + 825,000 ( 1.34%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/mod.rs:::hash_one::<&str> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 775,000 ( 1.26%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs:::validate_scalar [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 775,000 ( 1.26%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:::try_allocate_in [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 700,000 ( 1.14%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/pattern.rs:polyxml::pattern::matches [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 675,000 ( 1.10%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/id.rs:regex_automata::hybrid::search::find_fwd + 651,125 ( 1.06%) ???:malloc [/usr/lib/x86_64-linux-gnu/libc.so.6] + 650,750 ( 1.06%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs:>>::write_event:: + 650,000 ( 1.06%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs:::format_scalar_to [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 601,400 ( 0.98%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:>>::write_event:: + 525,000 ( 0.85%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:core::ptr::drop_glue:: [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 525,000 ( 0.85%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs:core::str::count::char_count_general_case + 525,000 ( 0.85%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/hash/random.rs:::hash_one::<&str> + 475,400 ( 0.77%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:>>::write_event:: + 475,000 ( 0.77%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 425,250 ( 0.69%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::write_model::<&mut alloc::vec::Vec> + 425,000 ( 0.69%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/meta/strategy.rs:::search_half [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 400,000 ( 0.65%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::parse_scalar + 400,000 ( 0.65%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> + 375,000 ( 0.61%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/meta/regex.rs:::matches + 350,000 ( 0.57%) /rust/deps/hashbrown-0.17.1/src/raw.rs:polyxml::pattern::matches + 300,200 ( 0.49%) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 300,000 ( 0.49%) /rust/deps/hashbrown-0.17.1/src/map.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 300,000 ( 0.49%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs: as core::hash::Hasher>::write + 300,000 ( 0.49%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/index.rs:::parse_scalar + 275,225 ( 0.45%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:>>::write_event:: + 275,000 ( 0.45%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/pool.rs:::matches + 275,000 ( 0.45%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/pattern.rs:::matches [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 275,000 ( 0.45%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::validate_scalar + 250,050 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 250,000 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:::parse_scalar'2 + 250,000 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/adapters/filter.rs:core::str::count::char_count_general_case + 250,000 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:::search_half + 250,000 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/sync/rwlock/futex.rs:polyxml::pattern::matches + 225,300 ( 0.37%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:core::str::converts::from_utf8 + 225,150 ( 0.37%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/convert/mod.rs:>>::write_event:: + 225,000 ( 0.37%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/count.rs:core::str::count::char_count_general_case + 200,200 ( 0.33%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs:__rustc::__rdl_alloc + 200,000 ( 0.33%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/alphabet.rs:regex_automata::hybrid::search::find_fwd + 200,000 ( 0.33%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/search.rs:regex_automata::hybrid::search::find_fwd + 200,000 ( 0.33%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs: as core::hash::Hasher>::write + 200,000 ( 0.33%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ops/index_range.rs:::parse_scalar + 200,000 ( 0.33%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:regex_automata::hybrid::search::find_fwd + 200,000 ( 0.33%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/sync/atomic.rs:polyxml::pattern::matches + 175,000 ( 0.28%) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs:polyxml::pattern::matches + 175,000 ( 0.28%) /rust/deps/hashbrown-0.17.1/src/lib.rs:polyxml::pattern::matches + 175,000 ( 0.28%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:::try_allocate_in + 175,000 ( 0.28%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:::parse_scalar + 150,125 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:>>::write_event:: + 150,075 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.24%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/dfa.rs:::match_pattern [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 150,000 ( 0.24%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/dfa.rs:::search_half + 150,000 ( 0.24%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/search.rs:::matches + 150,000 ( 0.24%) /rust/deps/hashbrown-0.17.1/src/control/tag.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs: as core::hash::Hasher>::write + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs: as core::hash::Hasher>::write + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/index.rs:regex_automata::hybrid::search::find_fwd + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs:::parse_scalar + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs:core::str::count::char_count_general_case + 125,125 ( 0.20%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/events/mod.rs:::write_model::<&mut alloc::vec::Vec> + 125,100 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs:>>::write_event:: + 125,000 ( 0.20%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/nfa/thompson/nfa.rs:::search_half + 125,000 ( 0.20%) /rust/deps/hashbrown-0.17.1/src/map.rs:polyxml::pattern::matches + 125,000 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/sync.rs:::matches + 125,000 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/sync.rs:polyxml::pattern::matches + 125,000 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:::parse_scalar + 125,000 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::search_half + 100,125 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:::write_model::<&mut alloc::vec::Vec> + 100,000 ( 0.16%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs:::write_model::<&mut alloc::vec::Vec> + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:core::ptr::drop_glue:: + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs:::parse_scalar + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cell.rs:::matches + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/traits/accum.rs:core::str::count::char_count_general_case + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:::parse_scalar'2 + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::parse_scalar'2 + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-pattern-valgrind.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-pattern-valgrind.txt new file mode 100644 index 0000000..bc3d386 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-pattern-valgrind.txt @@ -0,0 +1,12 @@ +==502772== Callgrind, a call-graph generating cache profiler +==502772== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. +==502772== Using Valgrind-3.26.0 and LibVEX; rerun with -h for copyright info +==502772== Command: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile pattern +==502772== Parent PID: 502705 +==502772== +==502772== For interactive control, run 'callgrind_control -h'. +==502772== +==502772== Events : Ir +==502772== Collected : 61500849 +==502772== +==502772== I refs: 61,500,849 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-pattern.callgrind b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-pattern.callgrind new file mode 100644 index 0000000..6b945f6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-pattern.callgrind @@ -0,0 +1,2041 @@ +# callgrind format +version: 1 +creator: callgrind-3.26.0 +pid: 502772 +cmd: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile pattern +part: 1 + + +desc: I1 cache: +desc: D1 cache: +desc: LL cache: + +desc: Timerange: Basic block 0 - 17564422 +desc: Trigger: Program termination + +positions: line +events: Ir +summary: 61500849 + + +ob=(2) /usr/lib/x86_64-linux-gnu/libc.so.6 +fl=(2) ??? +fn=(4502) 0x00000000000b2300 +0 1800 +cfn=(4508) 0x00000000000b20e0 +calls=256 0 +0 15550 +0 750 + +fn=(4878) free +0 300 +cfn=(4508) +calls=15114 0 +0 3625 +0 825625 + +fn=(4128) (below main) +cfn=(4162) 0x000000000002a580 +calls=1 0 +0 61500849 + +fn=(4508) +0 16925 +cfn=(4952) 0x00000000000b0f70 +calls=7682 0 +0 1325 +0 925 + +fn=(4488) 0x0000000000197a00 +0 1708475 + +fn=(4232) 0x00000000000b2400 +0 19625 +cfn=(4952) +calls=286 0 +0 1550 +0 1050 + +fn=(5556) 0x00000000001972a0 +0 2507675 + +fn=(4226) malloc +0 400 +cfn=(4232) +calls=15277 0 +0 1925 +0 650725 + +fn=(4460) 0x00000000000b4180 +0 6950 +cfn=(4232) +calls=130 0 +0 20300 +0 1650 +cfn=(4502) +calls=126 0 +0 11600 +0 1075 +cfn=(4952) +calls=123 0 +0 2200 +0 1100 +cob=(3) ??? +cfi=(3) ??? +cfn=(4486) 0x0000000004bd46a0 +calls=130 0 +0 207825 +0 300 +cfn=(4502) +calls=130 0 +0 6500 +0 100 + +fn=(4162) +cob=(6) /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile +cfi=(6) ??? +cfn=(4176) main +calls=1 0 +0 61500849 + +fn=(4458) realloc +0 9300 +cfn=(4460) +calls=277 0 +0 259600 +0 1650 + +fn=(4952) +0 5075 + +ob=(3) +fl=(3) +fn=(4486) +0 100 +cob=(2) +cfi=(2) +cfn=(4488) +calls=177 0 +0 207725 + +ob=(6) +fl=(93) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs +fn=(10020) quick_xml::escape::_escape::::{closure#0}, &str> +201 250000 ++3 25000 +fi=(14) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs +1663 25000 +fi=(79) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs +180 25000 +0 125000 +180 125000 +0 75000 +fi=(14) +1663 300000 +fi=(79) +385 150000 +fi=(14) +1663 150000 +fi=(79) +180 150000 +379 300000 +fe=(93) +109 150000 +0 225000 +218 125000 ++7 100000 ++2 225000 + +fl=(215) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/writer.rs +fn=(9966) >>::write_event:: +262 600400 +fi=(120) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/convert/mod.rs +792 225150 +fe=(215) +264 225150 ++1 100100 ++53 25025 +0 25025 +318 25025 +-31 75000 ++26 25000 +fi=(32) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs +616 25000 +fi=(33) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs +1461 25000 +fi=(10) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs +2689 25000 +fi=(32) +764 25000 +-94 25000 +fi=(33) +2981 49900 +0 25000 +fi=(20) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs +970 25000 +fi=(18) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs +573 75000 +cob=(2) +cfi=(2) +cfn=(4488) +calls=29000 0 +* 375000 +fi=(33) +2986 50000 +fe=(215) +0 125000 +272 100100 +fi=(40) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs +765 50050 +fi=(33) +1461 25025 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(32) +616 25025 +fi=(10) +2689 50050 +fi=(32) +764 25025 +-94 25025 +fi=(33) +2981 50050 +0 25025 +fi=(20) +970 50050 +fi=(18) +573 50050 +cob=(2) +cfi=(2) +cfn=(4488) +calls=29029 0 +* 375375 +fi=(32) ++43 25025 +fi=(33) +2986 50050 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(40) +765 75075 +fi=(18) ++82 100100 +fe=(215) +0 25025 +fi=(32) +616 25025 +fi=(33) +1461 25025 +fi=(10) +2689 25025 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(32) +616 25025 +fi=(10) +2689 50050 +fi=(32) +764 25025 +-94 25025 +fi=(33) +2981 50000 +0 25025 +fi=(20) +970 50050 +fi=(18) +573 50050 +cob=(2) +cfi=(2) +cfn=(4488) +calls=29029 0 +* 375375 +fi=(32) ++43 25025 +fi=(33) +2986 50050 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(18) +847 100100 +fi=(40) +-82 150100 +fe=(215) +308 675450 +fi=(32) +672 300 +cfn=(5320) >::reserve::do_reserve_and_handle:: +calls=58 -14 +* 19050 +fi=(33) +3101 50 +2981 50 +fi=(32) +672 150 +cfn=(5320) +calls=29 -14 +* 23975 +fi=(33) +3101 50 +fi=(32) +672 150 +cfn=(5320) +calls=29 -14 +* 222625 +fi=(33) +3101 25 +2981 25 +0 25 +fi=(32) +672 150 +cfn=(5320) +calls=29 -14 +* 10225 +fi=(33) +3101 75 +0 25 +fi=(32) +672 125 +cfn=(5320) +calls=29 -14 +* 9525 +fi=(33) +3101 75 +fe=(215) + +fl=(79) +fn=(9998) as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> +338 225000 +fi=(14) +1663 25000 +fe=(79) +180 25000 +0 200000 +fi=(14) +1663 75000 +fe=(79) +180 75000 +0 100000 +fi=(49) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs +21 200000 +fi=(32) +611 50000 +fi=(49) +157 150000 +cob=(2) +cfi=(2) +cfn=(5556) +calls=58000 0 +* 1052075 +* 50000 +fe=(79) +344 50000 +0 25000 +344 25000 +185 75000 +349 200000 + +fl=(18) +fn=(10012) core::ptr::drop_glue:: +847 325000 +fi=(32) +425 50000 +631 25000 +425 25000 +fi=(23) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/alloc.rs +175 50000 +fe=(18) +847 200000 +cfi=(6) +cfn=(5188) __rustc::__rust_dealloc +calls=29000 0 +* 875000 + +fl=(82) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/lib.rs +fn=(9906) polyxml::serialize +40 50 +fi=(214) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs +180 125 +cfn=(9908) ::serialize_with_options +calls=29 +3 +* 61495300 +* 25 +fe=(82) +47 75 + +fl=(50) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/const_ptr.rs +fn=(7882) ::count +733 25000 +fi=(142) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/count.rs +28 50000 ++5 25000 +cfi=(14) +cfn=(7886) core::str::count::char_count_general_case +calls=32000 1663 +* 1325000 +fe=(50) + +fl=(29) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/backtrace.rs +fn=(5138) std::sys::backtrace::__rust_begin_short_backtrace:: +fi=(123) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ops/function.rs +cfi=(30) /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/src/main.rs +cfn=(5140) mixed_profile::main +calls=1 98 +250 61500849 +fe=(29) + +fl=(24) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/alloc.rs +fn=(5486) __rustc::__rdl_realloc +484 1200 +fi=(25) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs +70 900 ++1 1200 +cob=(2) +cfi=(2) +cfn=(4458) +calls=284 -71 +* 270550 +fe=(24) + +fn=(5104) __rustc::__rdl_alloc +467 25025 +fi=(25) +30 150150 ++1 50050 +cob=(2) +cfi=(2) +cfn=(4226) +calls=46915 -31 +* 653050 +fe=(24) + +fl=(37) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/converts.rs +fn=(5176) core::str::converts::from_utf8 +89 375125 +fi=(38) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs ++44 225075 ++12 150050 +0 525175 +145 200 ++19 75100 ++1 150200 +fi=(10) +2689 150200 +3875 75100 +fi=(38) +222 75100 ++23 200 +-21 150000 ++17 150000 +0 75000 +241 800000 ++1 400000 +-1 875000 +fe=(37) +94 300100 +-94 75025 +98 300100 + +fl=(135) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/schema.rs +fn=(9930) ::variants +143 350 +fi=(14) +454 50 +fi=(136) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/sync.rs +2454 50 +fi=(13) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/sync/atomic.rs +3994 50 +fi=(138) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/sync/rwlock/futex.rs +54 100 ++45 50 +fi=(13) +4149 50 +fi=(138) +97 50 +fi=(13) +3994 50 +fi=(33) +1865 50 +fi=(10) +3212 350 +fi=(67) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs +478 100 +fi=(32) +-17 100 +fi=(131) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/adapters/take.rs +0 50 +fi=(36) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/slice.rs +440 200 +fi=(13) +4049 50 +fi=(138) +111 50 ++7 200 +fe=(135) ++30 450 + +fn=(9948) ::matches_variant +182 200 +fi=(14) +454 25 +fi=(13) +3994 25 +fi=(138) +54 50 ++45 25 +fi=(13) +4149 25 +fi=(138) +97 25 +fi=(13) +3994 25 +fi=(33) +1865 25 +fi=(14) +1663 50 +fi=(79) +180 25 +0 75 +fi=(13) +4049 25 +fi=(138) +111 25 ++7 100 +fe=(135) ++73 225 + +fl=(32) +fn=(5310) ::finish_grow +544 1200 +fi=(10) +3212 1200 +fi=(67) +478 450 +0 150 +fe=(32) +631 150 +fi=(10) +1401 150 +fi=(23) +228 750 +cfi=(6) +cfn=(5484) __rustc::__rust_realloc +calls=224 0 +* 274000 +fi=(26) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs +965 300 ++1 450 +fe=(32) +0 300 +564 900 + +fn=(7876) ::try_allocate_in +447 225000 +fi=(10) +3212 175000 +fi=(67) +478 50000 +fe=(32) +-17 50000 +0 50000 +cfi=(6) +cfn=(5100) __rustc::__rust_no_alloc_shim_is_unstable_v2 +calls=32000 0 +0 25000 +0 50000 +465 50000 ++13 75000 +0 50000 +483 175000 +fi=(23) +130 25000 +cfi=(6) +cfn=(5102) __rustc::__rust_alloc +calls=32000 0 +* 900000 +fe=(32) +470 50000 + +fn=(5320) +658 600 +512 300 +fi=(10) +938 150 +fi=(67) +478 150 +0 150 +fe=(32) +523 300 +fi=(19) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs +1051 300 +fe=(32) +159 1050 +fi=(19) +1051 450 +fe=(32) +529 600 +cfn=(5310) +calls=200 +15 +* 280000 +fi=(26) +2177 300 ++1 150 +fe=(32) +773 150 ++1 150 +668 600 + +fl=(30) +fn=(10228) measured_region +95 7 +fi=(19) +2144 1 +fi=(34) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/range.rs +1100 1 +0 7 +fi=(19) +2144 25 +fi=(34) +1100 25 +fi=(118) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hint.rs +491 100 +fe=(30) +96 175 +cfi=(82) +cfn=(9906) +calls=25 -56 +* 61495575 +fi=(26) +1230 50 ++1 100 +fi=(32) +425 25 +631 50 +425 25 +fi=(23) +175 50 +cfi=(6) +cfn=(5188) +calls=25 0 +* 4600 +* 25 +fe=(30) +-78 8 + +fn=(5140) +cfn=(10228) +calls=1 95 +103 61500849 + +fl=(25) +fn=(5190) __rustc::__rdl_dealloc +65 25025 +cob=(2) +cfi=(2) +cfn=(4878) +calls=46863 -65 +* 829550 + +fl=(141) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/converters.rs +fn=(7866) ::parse_scalar +28 425000 ++5 425000 +fi=(18) +-33 25000 +fe=(141) +35 200000 +cfn=(7867) ::parse_scalar'2 +calls=32000 -7 +* 5900000 +fi=(26) +2177 25000 +0 200000 +2177 50000 +fe=(141) +0 25000 +209 225000 +0 25000 +35 225000 ++1 75000 +cfi=(37) +cfn=(5176) +calls=32000 +53 +* 1725000 +* 25000 +fi=(26) +-36 75000 +2177 50000 +fe=(141) +37 50000 +fi=(48) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/mod.rs +-37 25000 +fi=(20) +970 25000 +fe=(141) +39 25000 +cfi=(50) +cfn=(7882) +calls=32000 733 +* 1425000 ++2 25000 +fi=(40) +709 125000 +fe=(141) +0 25000 +fi=(40) +709 50000 +fe=(141) +0 25000 +fi=(33) +1865 25000 +fi=(14) +1663 25000 +fi=(79) +180 25000 +0 100000 +fi=(32) +611 25000 +fi=(33) +1865 75000 +fe=(141) +45 25000 +cfi=(143) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/pattern.rs +cfn=(7898) polyxml::pattern::matches +calls=32000 +15 +* 16150000 +* 25000 +fi=(14) +1663 50000 +fi=(79) +180 25000 +fe=(141) +48 25000 ++1 25000 ++1 25000 ++1 25000 +-4 275000 +-47 300000 +fi=(108) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ops/index_range.rs +131 200000 +fi=(45) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/index.rs ++88 300000 +fi=(18) +1755 100000 +fe=(141) +47 200000 +-47 100000 +53 200000 ++23 50000 ++7 150000 +-83 100000 + +fn=(7867) +28 425000 ++5 425000 +fi=(48) +-33 25000 +fe=(141) +132 75000 +cfi=(37) +cfn=(5176) +calls=32000 -43 +* 1725000 +fi=(26) +0 50000 +2177 50000 +fi=(82) +0 25000 +fi=(32) +435 125000 +cfn=(7876) +calls=32000 +12 +* 1950000 +0 25000 +435 75000 ++1 25000 +fi=(36) ++16 50000 +fi=(18) +573 100000 +cob=(2) +cfi=(2) +cfn=(4488) +calls=32000 0 +* 375000 +fe=(141) +133 100000 +0 50000 +209 225000 + +fl=(6) +fn=(5188) +0 25025 +cfi=(25) +cfn=(5190) +calls=46863 65 +0 854575 + +fn=(5484) +0 150 +cfi=(24) +cfn=(5486) +calls=284 484 +0 273850 + +fn=(5102) +0 25025 +cfi=(24) +cfn=(5104) +calls=46916 467 +0 878275 + +fn=(4126) (below main) +cob=(2) +cfi=(2) +cfn=(4128) +calls=1 0 +0 61500849 + +fn=(4176) +cfi=(8) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/rt.rs +cfn=(4178) std::rt::lang_start_internal +calls=1 152 +0 61500849 + +fn=(5100) +0 25025 + +fl=(73) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs +fn=(5362) as core::hash::Hasher>::write +256 150000 ++2 150000 ++4 450000 ++1 100000 +fi=(19) +1090 150000 +fe=(73) +126 100000 +0 300000 +132 150000 ++5 100000 ++2 250000 +265 200000 ++1 100000 ++1 50000 +0 50000 +300 100000 +-22 100000 ++1 300000 ++3 200000 +0 125000 +fi=(18) +573 25000 +fe=(73) +288 25000 +fi=(10) +2652 25000 +fi=(67) +2215 25000 +fi=(10) +2652 25000 +fe=(73) +78 25000 +fi=(67) +2215 25000 +fe=(73) +79 25000 +fi=(67) +2215 25000 +fi=(10) +2652 50000 +fi=(67) +2215 25000 +fe=(73) +79 25000 +fi=(67) +2215 50000 +fe=(73) +78 25000 +290 25000 ++2 25000 +-10 50000 +fi=(18) +573 25000 +fe=(73) +288 25000 +fi=(10) +2652 25000 +fi=(67) +2215 25000 +fi=(10) +2652 25000 +fe=(73) +78 25000 +fi=(67) +2215 25000 +fe=(73) +79 25000 +fi=(67) +2215 25000 +fi=(10) +2652 50000 +fi=(67) +2215 25000 +fe=(73) +79 25000 +fi=(67) +2215 50000 +fe=(73) +78 25000 +290 25000 ++2 25000 +-10 50000 +0 100000 +126 200000 +fi=(18) +573 100000 +fe=(73) +132 200000 +0 100000 +132 150000 ++5 200000 ++2 300000 +298 50000 +0 50000 +300 100000 +-2 50000 +0 50000 +300 100000 + +fl=(72) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/mod.rs +fn=(5544) ::hash_one::<&str> +694 150000 ++5 75000 +fi=(73) +203 150000 +fi=(46) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/hash/random.rs +84 75000 +fi=(73) +204 150000 +fi=(46) +84 450000 +fi=(73) +306 150000 +cfn=(5362) +calls=91043 -50 +* 3375000 +fe=(72) ++57 375000 +cfi=(73) +cfn=(5362) +calls=91043 256 +* 2500000 +fi=(73) +-49 225000 +-2 150000 ++4 150000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(10) +2652 75000 +fi=(73) +78 75000 +fi=(67) +2215 75000 +fi=(73) +79 75000 +fi=(67) +2215 75000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(73) +79 75000 +fi=(67) +2215 150000 +fi=(73) +78 75000 +318 75000 ++2 75000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 150000 +fi=(73) +79 75000 +fi=(10) +2652 75000 +fi=(67) +2215 75000 +fi=(10) +2652 75000 +fi=(73) +79 75000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 75000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 150000 +fi=(73) +79 75000 +fi=(10) +2652 75000 +fi=(67) +2215 75000 +fi=(10) +2652 75000 +fi=(73) +79 75000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 75000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 75000 +fi=(73) +79 75000 +fi=(10) +2652 75000 +fi=(67) +2215 300000 +fi=(73) +323 225000 +fe=(72) +702 225000 + +fl=(214) +fn=(9946) ::write_model::<&mut alloc::vec::Vec> +302 300 ++9 125 +0 25 +324 100 +0 25 +fi=(14) +454 25 +fi=(136) +2454 75 +fe=(214) +325 75 +cfi=(135) +cfn=(9948) +calls=29 182 +* 950 +* 50 +fi=(79) +0 75 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 575 +fi=(40) +634 50 +fe=(214) +353 50 +0 25 +251 350 ++2 50 +-2 75 +353 50 +fi=(26) +0 50 +fi=(14) +1663 25 +fi=(79) +180 25 +0 25 +fi=(40) +634 50 +fe=(214) +361 25 +fi=(23) +0 75 +fe=(214) +409 25 +cfi=(37) +cfn=(5176) +calls=29 89 +* 1750 +fi=(26) +0 50 +2177 50 +fi=(82) +0 25 +fe=(214) +410 50 ++3 75 +fi=(95) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/events/mod.rs +124 100 +0 25 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 500 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(214) +434 125 ++33 50 ++21 200 +cfi=(215) +cfn=(9966) +calls=29 262 +* 2050 +* 25 +0 25 +fi=(26) +965 50 +fi=(82) +0 25 +fe=(214) +492 50 ++30 50 +fi=(33) +1865 25 +fe=(214) +524 25 +fi=(45) +238 50 +fi=(32) +611 25 +fi=(45) +238 50 +fi=(32) +611 25 +fi=(33) +1865 50 +fe=(214) +524 25 +cfn=(9980) ::write_model::<&mut alloc::vec::Vec>::{closure#0} +calls=29 344 +* 675 +* 25 +-1 75 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 100 +fe=(214) +539 100 +cfn=(9984) ::write_model::<&mut alloc::vec::Vec>::{closure#5} +calls=29 -12 +* 5975 +fi=(79) +0 24975 +fe=(214) +539 99900 +cfn=(9984) +calls=28971 -12 +* 5975225 +fi=(40) +1541 50000 +fi=(213) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/value.rs +63 25000 +fe=(214) +539 25000 +fi=(213) +63 50000 +fe=(214) +539 50000 ++5 100000 +cfn=(9984) +calls=29000 -17 +* 6149825 +* 50000 +0 25000 +fi=(49) +21 50000 +fe=(214) +-21 75000 +fi=(20) +970 25000 +fi=(32) +611 25000 +fi=(20) +970 25000 +fi=(189) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter.rs +102 75000 +fe=(214) +563 100000 +cfi=(79) +cfn=(9998) +calls=29000 338 +* 2602075 +-3 50000 +0 25000 +fi=(32) +611 25000 +fi=(33) +1865 25000 +fe=(214) +569 50000 +cfi=(37) +cfn=(5176) +calls=29000 89 +* 1475000 +fi=(26) +0 50000 +2177 50000 +0 100000 +fe=(214) +410 25000 +570 25000 ++6 75000 +-6 25000 ++8 175000 +fi=(40) +0 25000 +fe=(214) +580 100000 ++1 100000 +cfn=(10004) ::format_scalar_to +calls=29000 216 +* 700000 +* 75000 +0 50000 +581 50000 ++5 175000 +cfn=(10008) ::validate_scalar +calls=29000 285 +* 32725000 +fi=(26) +2177 50000 +fi=(85) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/borrow.rs +350 50000 +fe=(214) +588 200000 +cfi=(215) +cfn=(9966) +calls=29000 262 +* 2070225 +fi=(26) +965 50000 +fi=(93) +108 100000 +cfn=(10020) +calls=29000 +93 +* 2525000 +fi=(95) +564 125000 +fe=(214) ++27 100000 +cfi=(215) +cfn=(9966) +calls=29000 262 +* 1594350 +fi=(26) +965 50000 +fe=(214) +594 175000 +cfi=(215) +cfn=(9966) +calls=29000 262 +* 2271950 +fi=(26) +965 50000 +0 25000 +fi=(18) +847 50000 +fe=(214) +612 25000 +fi=(18) +847 50000 +fi=(23) +0 50000 +fi=(14) +1663 50000 +fi=(79) +180 25025 +fi=(85) +350 50 +fe=(214) +756 175 +cfi=(215) +cfn=(9966) +calls=29 262 +* 2025 +fi=(26) +965 50 +fe=(214) +760 200 +0 25 +759 25 ++1 25 +fi=(18) ++87 50 +fi=(23) +0 25 +fi=(18) +847 75 +fe=(214) + +fn=(9980) +344 175 ++1 75 +fi=(45) +184 50 +fe=(214) +346 25 +fi=(45) +186 75 +fi=(40) +743 25 +0 50 +fe=(214) +350 200 + +fn=(9908) +183 350 +cfi=(6) +cfn=(5100) +calls=29 0 +* 25 +fi=(23) +-53 75 +cfi=(6) +cfn=(5102) +calls=29 0 +* 3300 +fi=(32) +470 50 +fi=(33) +969 75 +fe=(214) +192 50 +fi=(40) +0 25 +743 25 +0 25 +fi=(215) +124 75 +fe=(214) ++73 50 +0 50 +199 75 +cfn=(9918) ::build +calls=29 22 +* 7625 +fi=(40) +743 75 +0 25 +743 75 +0 50 +fe=(214) +202 225 +cfn=(9946) +calls=29 302 +* 61482400 +* 25 +fi=(26) +2177 50 +fe=(214) +212 150 +fi=(18) +847 125 +fe=(214) +0 25 +213 200 + +fn=(9918) +22 250 +fi=(33) +462 100 +fe=(214) +27 50 +cfn=(9920) ::collect_namespaces +calls=29 +60 +* 6775 +fi=(33) +3126 25 +fe=(214) +29 25 +fi=(40) +709 50 +fe=(214) +0 25 +30 25 +fi=(32) +425 50 +631 25 +fe=(214) +85 225 + +fn=(9984) +527 450000 ++1 250000 +fi=(71) /rust/deps/hashbrown-0.17.1/src/raw.rs +1337 50000 +fi=(70) /rust/deps/hashbrown-0.17.1/src/map.rs +-53 50000 +0 50000 +1287 100000 +241 100000 +cfi=(72) +cfn=(5544) +calls=58000 694 +* 7700000 +fi=(88) /rust/deps/hashbrown-0.17.1/src/control/tag.rs +47 150000 +fi=(71) +2452 400000 +0 50000 +fi=(18) +573 50000 +fi=(75) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs +1569 150000 +fi=(84) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs +40 100000 +-40 200000 +fi=(76) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/nonzero.rs +628 50000 +fi=(71) +2032 100000 +fi=(20) +1054 150000 +fi=(49) +21 100000 +fi=(76) +628 25 +fi=(71) +2032 50 +fi=(20) +1054 75 +fi=(49) +21 50 +fi=(71) +1202 150000 +fi=(49) +157 100000 +cob=(2) +cfi=(2) +cfn=(5556) +calls=58000 0 +* 980600 +* 50000 +fi=(67) +455 50000 +fi=(76) ++31 25 +fi=(84) +40 200 +fi=(71) +1217 150000 +fe=(214) +538 400000 + +fn=(10008) +285 100000 ++10 25000 +-9 75000 ++9 100000 +-9 75000 +0 25000 +297 25000 +cfi=(141) +cfn=(7866) +calls=29000 28 +* 30125000 +fi=(26) +2177 25000 +0 200000 +2177 50000 +fe=(214) +297 250000 +cfi=(18) +cfn=(10012) +calls=29000 847 +* 1550000 ++2 25000 ++1 75000 + +fn=(9920) +87 225 ++1 100 +fi=(33) +-88 25 +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 150 +180 25 +fe=(214) +0 25 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(214) +-86 50 ++5 225 +fi=(27) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/boxed.rs +2415 25 +fe=(214) +102 75 +0 25 +109 50 +0 25 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 275 +fi=(14) +1663 125 +fi=(79) +180 125 +fe=(214) +-69 250 ++5 375 +fi=(14) +454 25 +fi=(136) +2454 50 +fe=(214) +117 25 +cfn=(9921) ::collect_namespaces'2 +calls=29 -30 +* 2625 +* 25 +0 50 +125 25 +cfi=(135) +cfn=(9930) +calls=29 +18 +* 1200 +fi=(33) +3101 25 ++25 50 +fe=(214) +126 25 +fi=(32) +425 50 +631 25 +fe=(214) +134 200 + +fn=(9921) +87 225 ++1 100 +fi=(33) +-88 25 +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 150 +180 25 +fe=(214) +0 25 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(214) +-86 50 ++5 175 +-99 25 +109 50 +0 50 +125 25 +cfi=(135) +cfn=(9930) +calls=29 +18 +* 1200 +fi=(33) +3101 25 ++25 50 +fe=(214) +126 25 +fi=(32) +425 50 +631 25 +fe=(214) +134 200 + +fn=(10004) +216 200000 ++4 100000 +0 25000 +220 75000 +fi=(32) +611 50000 +fe=(214) +0 50000 +234 200000 + +fl=(8) +fn=(5136) std::rt::lang_start::<()>::{closure#0} +cfi=(29) +cfn=(5138) +calls=1 162 +206 61500849 + +fn=(4178) +fi=(123) +cfn=(5136) +calls=1 206 +287 61500849 +fe=(8) + +fl=(14) +fn=(7886) +1663 25000 +fi=(79) +25 25000 +279 50000 +fi=(142) +0 200000 +fi=(79) +274 100000 +fi=(219) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/adapters/filter.rs +138 125000 +fi=(220) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/traits/accum.rs +-83 25000 +fi=(219) ++83 125000 +fi=(220) +-83 25000 +fi=(79) +-55 25000 +279 175000 +fi=(38) +24 150000 +fi=(220) ++31 50000 +fi=(10) +1013 50000 +fi=(79) +279 150000 +fi=(142) +137 25000 +fe=(14) + +fl=(209) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/search.rs +fn=(9524) regex_automata::hybrid::search::find_fwd +13 200000 +fi=(206) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/search.rs +662 50000 ++80 25000 +fe=(209) +18 25000 +fi=(206) +704 25000 +1536 75000 +fi=(40) +743 150000 +fe=(209) +41 50000 +fi=(14) +454 50000 +fi=(10) +1092 50000 +fi=(206) +704 25000 +fi=(178) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/dfa.rs +2685 75000 +fi=(211) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/start.rs +397 50000 +fi=(178) +2699 75000 +fi=(33) +1865 25000 +fi=(45) +238 50000 +fi=(32) +611 25000 +fi=(178) +2714 25000 +fi=(207) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/id.rs +281 25000 +fi=(178) +1571 25000 +0 50000 +fi=(26) +965 50000 +fi=(178) +1957 50000 ++3 75000 +fe=(209) +85 50000 +-85 75000 +294 50000 +85 100000 +fi=(207) +272 50000 +fe=(209) +86 50000 +fi=(207) +224 50000 ++48 200000 +fe=(209) +-40 100000 +0 100000 +232 50000 +-37 100000 +0 150000 +67 50000 +fi=(173) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/alphabet.rs +295 50000 +fi=(207) +-71 50000 +fi=(178) +1423 50000 ++1 150000 +fe=(209) +197 50000 +67 25000 +fi=(173) +295 25000 +fi=(207) +-71 25000 +fi=(178) +1423 25000 ++1 75000 +fe=(209) +197 75000 +67 25000 +fi=(173) +295 25000 +fi=(178) +1423 25000 ++1 50000 +fe=(209) +204 25000 +67 25000 +fi=(173) +295 25000 +fi=(178) +1423 25000 ++1 75000 +fe=(209) +67 25000 +fi=(173) +295 25000 +fi=(178) +1423 25000 ++1 25000 +fi=(207) +272 25000 +fe=(209) +-55 25000 ++3 25000 +-25 50000 +fi=(207) +0 100000 +281 50000 +fe=(209) +-56 50000 +fi=(45) +-41 50000 +fi=(173) +325 50000 +fi=(207) +216 50000 +fi=(178) +1512 25000 +fi=(33) +1865 25000 +fi=(45) +238 50000 +fi=(32) +611 25000 +fi=(178) +1513 25000 +fi=(207) +281 25000 +fi=(178) +1514 25000 ++5 25000 +fi=(26) +965 50000 +fe=(209) +47 225000 +fi=(207) +320 25000 +fe=(209) +722 25000 +0 225000 +cfi=(178) +cfn=(9692) ::match_pattern +calls=32000 1741 +0 150000 +0 75000 +fi=(11) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/mem/mod.rs +975 50000 ++1 25000 +fi=(40) +-9 50000 +fi=(178) +2059 100000 +-70 25000 +fe=(209) +298 75000 +fi=(168) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/lib.rs +0 25000 +fe=(209) + +fl=(143) +fn=(7898) +60 275000 ++2 50000 +fi=(13) +3995 25000 +fi=(145) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/sync/once/futex.rs +87 25000 +fi=(144) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sync/once_lock.rs ++98 25000 +0 25000 +fi=(13) +3994 25000 +fi=(138) +54 50000 ++45 25000 +fi=(13) +4149 25000 +fi=(138) +97 25000 +fi=(13) +3994 25000 +fi=(71) +1337 50000 +fi=(70) +-53 25000 +241 100000 +cfi=(72) +cfn=(5544) +calls=31999 694 +* 4925000 +fi=(88) +47 50000 +fi=(71) +2452 225000 +0 25000 +fi=(18) +573 25000 +fi=(75) +1569 75000 +fi=(84) +40 50000 +-40 125000 +fi=(76) +628 25000 +fi=(71) +2032 50000 +fi=(20) +1054 75000 +fi=(49) +21 50000 +fi=(89) /rust/deps/hashbrown-0.17.1/src/lib.rs +157 125000 +cob=(2) +cfi=(2) +cfn=(5556) +calls=31999 0 +* 475000 +* 50000 +fi=(67) +455 25000 +fe=(143) +9 75000 +fi=(13) +4029 50000 +fi=(136) +2434 25000 ++4 50000 +0 25000 +fi=(13) +4049 25000 +fi=(138) +111 25000 ++7 125000 +fe=(143) +-48 25000 ++1 75000 +cfn=(9370) ::matches +calls=31999 -48 +* 8200000 +fi=(18) +847 50000 +fi=(13) +4049 25000 +fi=(136) +2868 25000 +fe=(143) +87 200000 + +fn=(9370) +23 100000 ++1 50000 +fi=(206) +208 150000 +fi=(147) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-1.13.1/src/regex/string.rs +1123 25000 +fi=(14) +454 25000 +fi=(40) +1040 50000 +fi=(147) ++83 25000 +fi=(150) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/meta/regex.rs +0 25000 +2049 50000 ++4 50000 +fi=(162) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-syntax-0.8.11/src/hir/mod.rs +2720 25000 +fi=(150) +2063 25000 +fi=(162) +2720 25000 +fi=(150) +2063 25000 ++1 50000 ++4 25000 +980 25000 +fi=(92) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/thread_local/native/mod.rs +105 50000 +fi=(110) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/thread_local/native/lazy.rs +-46 50000 +fi=(124) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/thread/local.rs +463 25000 +fi=(13) +3995 25000 +fi=(203) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/pool.rs +588 50000 +fi=(13) +3979 25000 +fi=(203) +693 100000 +fi=(14) +454 50000 +fi=(136) +2454 125000 +fi=(69) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cell.rs +-17 50000 +0 50000 +fi=(150) +985 50000 +cfi=(164) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/meta/strategy.rs +cfn=(9516) ::search_half +calls=31999 740 +* 6425000 ++2 50000 +fi=(203) +805 50000 ++22 25000 ++4 50000 +fi=(13) +3979 50000 +fi=(40) +634 25000 +fe=(143) +28 125000 + +fl=(164) +fn=(9516) +740 150000 +fi=(40) ++3 50000 +0 25000 +743 125000 ++22 50000 +fi=(14) +454 25000 +fi=(178) +594 50000 +fi=(170) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/nfa/thompson/nfa.rs +0 125000 +fi=(178) +595 25000 +cfi=(209) +cfn=(9524) +calls=32000 13 +* 5325000 +fi=(26) +2177 25000 +0 25000 +2177 50000 ++1 25000 +fi=(178) +595 75000 +fe=(164) +760 75000 ++9 200000 + +fl=(178) +fn=(9692) +1741 50000 ++11 50000 ++6 50000 + +ob=(1) /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +fl=(1) ??? +fn=(0) 0x0000000000023340 +cob=(6) +cfi=(6) +cfn=(4126) +calls=1 0 +0 61500849 + +totals: 61500849 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-scalar-annotated.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-scalar-annotated.txt new file mode 100644 index 0000000..dba746c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-scalar-annotated.txt @@ -0,0 +1,81 @@ +-------------------------------------------------------------------------------- +Profile data file '/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/evidence/mixed-nil-instructions/baseline-scalar.callgrind' (creator: callgrind-3.26.0) +-------------------------------------------------------------------------------- +I1 cache: +D1 cache: +LL cache: +Timerange: Basic block 0 - 16065486 +Trigger: Program termination +Profiled target: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile scalar (PID 502766, part 1) +Events recorded: Ir +Events shown: Ir +Event sort order: Ir +Thresholds: 95 +Include dirs: +User annotated: +Auto-annotation: off + +-------------------------------------------------------------------------------- +Ir +-------------------------------------------------------------------------------- +51,672,474 (100.0%) PROGRAM TOTALS + +-------------------------------------------------------------------------------- +Ir file:function +-------------------------------------------------------------------------------- +4,584,725 ( 8.87%) ???:0x00000000000b20e0 [/usr/lib/x86_64-linux-gnu/libc.so.6] +4,139,550 ( 8.01%) ???:0x00000000000b2400 [/usr/lib/x86_64-linux-gnu/libc.so.6] +2,950,000 ( 5.71%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs: as core::hash::Hasher>::write [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +2,239,000 ( 4.33%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs:quick_xml::escape::_escape::::{closure#0}, &str> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +2,185,675 ( 4.23%) ???:0x0000000000197a00 [/usr/lib/x86_64-linux-gnu/libc.so.6] +2,126,300 ( 4.11%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/writer.rs:>>::write_event:: [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +2,027,600 ( 3.92%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs:::write_model::<&mut alloc::vec::Vec> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +1,755,950 ( 3.40%) ???:realloc [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,689,000 ( 3.27%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs:quick_xml::escape::_escape::::{closure#0}, &str> +1,600,000 ( 3.10%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs:::hash_one::<&str> +1,496,250 ( 2.90%) ???:0x00000000000b4180 [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,462,400 ( 2.83%) ???:0x00000000001972a0 [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,275,925 ( 2.47%) ???:free [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,200,000 ( 2.32%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs:::hash_one::<&str> +1,100,000 ( 2.13%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] +1,051,100 ( 2.03%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs:core::str::converts::from_utf8 + 941,750 ( 1.82%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 919,875 ( 1.78%) ???:malloc [/usr/lib/x86_64-linux-gnu/libc.so.6] + 900,200 ( 1.74%) /rust/deps/hashbrown-0.17.1/src/raw.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 861,700 ( 1.67%) ???:0x00000000000b0f70 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 800,000 ( 1.55%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:::hash_one::<&str> + 750,000 ( 1.45%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 650,700 ( 1.26%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs:>>::write_event:: + 650,000 ( 1.26%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs:::format_scalar_to [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 628,750 ( 1.22%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:>::reserve::do_reserve_and_handle:: [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 601,425 ( 1.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:>>::write_event:: + 575,000 ( 1.11%) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs:::validate_scalar [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 550,000 ( 1.06%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/mod.rs:::hash_one::<&str> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 500,000 ( 0.97%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 475,400 ( 0.92%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:>>::write_event:: + 427,550 ( 0.83%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:::finish_grow [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 425,250 ( 0.82%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::write_model::<&mut alloc::vec::Vec> + 385,050 ( 0.75%) ???:0x00000000000b2300 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 375,000 ( 0.73%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 352,100 ( 0.68%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs:__rustc::__rdl_realloc + 350,350 ( 0.68%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/converts.rs:core::str::converts::from_utf8 [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 350,000 ( 0.68%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/traits.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 350,000 ( 0.68%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/hash/random.rs:::hash_one::<&str> + 300,800 ( 0.58%) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 300,000 ( 0.58%) /rust/deps/hashbrown-0.17.1/src/map.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 300,000 ( 0.58%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 275,225 ( 0.53%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:>>::write_event:: + 250,200 ( 0.48%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 226,350 ( 0.44%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:::finish_grow + 225,150 ( 0.44%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/convert/mod.rs:>>::write_event:: + 201,200 ( 0.39%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/alloc.rs:__rustc::__rdl_realloc [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile] + 200,200 ( 0.39%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs:__rustc::__rdl_alloc + 150,300 ( 0.29%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,125 ( 0.29%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:>>::write_event:: + 150,000 ( 0.29%) /rust/deps/hashbrown-0.17.1/src/control/tag.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.29%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.29%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs: as core::hash::Hasher>::write + 150,000 ( 0.29%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> + 125,750 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/alloc.rs:::finish_grow + 125,750 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs:>::reserve::do_reserve_and_handle:: + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-scalar-valgrind.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-scalar-valgrind.txt new file mode 100644 index 0000000..d644f55 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-scalar-valgrind.txt @@ -0,0 +1,12 @@ +==502766== Callgrind, a call-graph generating cache profiler +==502766== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. +==502766== Using Valgrind-3.26.0 and LibVEX; rerun with -h for copyright info +==502766== Command: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile scalar +==502766== Parent PID: 502705 +==502766== +==502766== For interactive control, run 'callgrind_control -h'. +==502766== +==502766== Events : Ir +==502766== Collected : 51672474 +==502766== +==502766== I refs: 51,672,474 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-scalar.callgrind b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-scalar.callgrind new file mode 100644 index 0000000..9affa0c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/baseline-scalar.callgrind @@ -0,0 +1,1500 @@ +# callgrind format +version: 1 +creator: callgrind-3.26.0 +pid: 502766 +cmd: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile scalar +part: 1 + + +desc: I1 cache: +desc: D1 cache: +desc: LL cache: + +desc: Timerange: Basic block 0 - 16065486 +desc: Trigger: Program termination + +positions: line +events: Ir +summary: 51672474 + + +ob=(2) /usr/lib/x86_64-linux-gnu/libc.so.6 +fl=(2) ??? +fn=(4492) 0x0000000000197a00 +0 2185675 + +fn=(5560) 0x00000000001972a0 +0 1462400 + +fn=(4132) (below main) +cfn=(4166) 0x000000000002a580 +calls=1 0 +0 51672474 + +fn=(4464) 0x00000000000b4180 +0 974450 +cfn=(4236) 0x00000000000b2400 +calls=26216 0 +0 3426050 +0 159150 +cfn=(4506) 0x00000000000b2300 +calls=123 0 +0 10900 +0 1150 +cfn=(4956) 0x00000000000b0f70 +calls=122 0 +0 2650 +0 181100 +cob=(3) ??? +cfi=(3) ??? +cfn=(4490) 0x0000000004bd46a0 +calls=26216 0 +0 499525 +0 135300 +cfn=(4506) +calls=26216 0 +0 2639550 +0 45100 + +fn=(4236) +0 3665475 +cfn=(4956) +calls=26370 0 +0 429525 +0 474075 + +fn=(4462) realloc +0 1506800 +cfn=(4464) +calls=26348 0 +0 8074925 +0 249150 + +fn=(4956) +0 861700 + +fn=(4230) malloc +0 180400 +cfn=(4236) +calls=28053 0 +0 1143025 +0 739475 + +fn=(4506) +0 271800 +cfn=(4512) 0x00000000000b20e0 +calls=26339 0 +0 2265400 +0 113250 + +fn=(4166) +cob=(6) /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/target/release/mixed-profile +cfi=(6) ??? +cfn=(4180) main +calls=1 0 +0 51672474 + +fn=(4882) free +0 270300 +cfn=(4512) +calls=41226 0 +0 2748850 +0 1005625 + +fn=(4512) +0 4336275 +cfn=(4956) +calls=33918 0 +0 429525 +0 248450 + +ob=(3) +fl=(3) +fn=(4490) +0 45100 +cob=(2) +cfi=(2) +cfn=(4492) +calls=26263 0 +0 454425 + +ob=(1) /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +fl=(1) ??? +fn=(0) 0x0000000000023340 +cob=(6) +cfi=(6) +cfn=(4130) (below main) +calls=1 0 +0 51672474 + +ob=(6) +fl=(8) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/rt.rs +fn=(4182) std::rt::lang_start_internal +fi=(123) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ops/function.rs +cfn=(5140) std::rt::lang_start::<()>::{closure#0} +calls=1 206 +287 51672474 +fe=(8) + +fn=(5140) +cfi=(29) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/backtrace.rs +cfn=(5142) std::sys::backtrace::__rust_begin_short_backtrace:: +calls=1 162 +206 51672474 + +fl=(93) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs +fn=(8224) quick_xml::escape::_escape::::{closure#0}, &str> +201 250000 ++3 25000 +fi=(14) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs +1663 25000 +fi=(79) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs +180 25000 +0 125000 +180 125000 +0 150000 +fi=(14) +1663 594500 +fi=(79) +385 297250 +fi=(14) +1663 297250 +fi=(79) +180 297250 +379 644500 +fe=(93) +109 322250 +0 366750 +fi=(40) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs +634 50000 +fe=(93) +208 25000 +fi=(64) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/traits.rs +-79 50000 ++4 50000 ++12 50000 +0 25000 +fe=(93) +214 50000 +fi=(64) +-68 25000 +0 25000 +fi=(18) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs +1755 25000 +fi=(63) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/mod.rs +1229 25000 +fi=(64) +262 25000 +fi=(10) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs +2689 25000 +fi=(32) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs +764 25000 +-94 25000 +fi=(33) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs +2981 50000 +0 25000 +fi=(50) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/const_ptr.rs +871 25000 +fi=(20) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs ++99 25000 +fi=(18) +573 50000 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29000 0 +* 330000 +fi=(33) +2986 50000 +fe=(93) +181 50000 +0 25000 +181 125000 +0 25000 +181 75000 +fi=(33) +0 50000 +fi=(67) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs +478 25000 +fi=(32) +0 25000 +cfi=(6) +cfn=(5104) __rustc::__rust_no_alloc_shim_is_unstable_v2 +calls=29000 0 +0 25000 +0 25000 +fi=(23) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/alloc.rs +130 75000 +cfi=(6) +cfn=(5106) __rustc::__rust_alloc +calls=29000 0 +* 2305000 +fi=(32) +470 50000 +fe=(93) +209 175000 ++5 50000 +fi=(64) +-85 25000 +fi=(32) +616 25000 +764 75000 +-94 25000 +-59 25000 +fi=(18) +-38 75000 +0 75000 +fi=(33) +2986 25000 +fe=(93) +0 50000 +fi=(33) +2986 25000 +fi=(50) +733 50000 +fi=(14) +1663 25000 +fi=(79) +180 25000 +fe=(93) ++38 225000 +fi=(65) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/mod.rs +380 50000 ++4 50000 +fi=(63) +1229 25000 +fi=(64) +493 25000 +221 50000 +fi=(32) +616 25000 +fi=(33) +1461 25000 +fi=(10) +2689 25000 +fi=(32) +764 25000 +-94 25000 +fe=(93) +0 50000 +fi=(20) +970 25000 +fi=(18) +573 75000 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29000 0 +* 375000 +fi=(33) +2986 50000 +fe=(93) +223 100000 ++4 225000 +0 25000 +fi=(32) +672 125000 +cfn=(5324) >::reserve::do_reserve_and_handle:: +calls=29000 -14 +* 12038375 +fi=(33) +3101 25000 +2981 50000 +fe=(93) + +fl=(145) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/writer.rs +fn=(8176) >>::write_event:: +262 600400 +fi=(120) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/convert/mod.rs +792 225150 +fe=(145) +264 225150 ++1 100100 ++53 25025 +0 25025 +318 25025 +-31 75000 ++26 25000 +fi=(32) +616 25000 +fi=(33) +1461 25000 +fi=(10) +2689 25000 +fi=(32) +764 25000 +-94 25000 +fi=(33) +2981 49850 +0 25000 +fi=(20) +970 25000 +fi=(18) +573 75000 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29000 0 +* 275500 +fi=(33) +2986 50000 +fe=(145) +0 175000 +cfi=(6) +cfn=(5192) __rustc::__rust_dealloc +calls=29000 0 +0 4070000 +0 50000 +272 100100 +fi=(40) +765 50050 +fi=(33) +1461 25025 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(32) +616 25025 +fi=(10) +2689 50050 +fi=(32) +764 25025 +-94 25025 +fi=(33) +2981 50050 +0 25025 +fi=(20) +970 50050 +fi=(18) +573 50050 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29029 0 +* 375375 +fi=(32) ++43 25025 +fi=(33) +2986 50050 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(40) +765 75075 +fi=(18) ++82 100100 +fe=(145) +0 25025 +fi=(32) +616 25025 +fi=(33) +1461 25025 +fi=(10) +2689 25025 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(32) +616 25025 +fi=(10) +2689 50050 +fi=(32) +764 25025 +-94 25025 +fi=(33) +2981 50050 +0 25025 +fi=(20) +970 50050 +fi=(18) +573 50050 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29029 0 +* 375375 +fi=(32) ++43 25025 +fi=(33) +2986 50050 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(18) +847 100100 +fi=(40) +-82 150100 +fe=(145) +308 675450 +fi=(32) +672 450 +cfn=(5324) +calls=87 -14 +* 240750 +fi=(33) +3101 75 +2981 75 +fi=(32) +672 300 +cfn=(5324) +calls=58 -14 +* 31850 +fi=(33) +3101 100 +0 25 +fi=(32) +672 150 +cfn=(5324) +calls=29 -14 +* 9750 +fi=(33) +3101 75 +fe=(145) + +fl=(79) +fn=(8208) as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> +338 225000 +fi=(14) +1663 25000 +fe=(79) +180 25000 +0 150000 +fi=(49) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs +21 50000 +fi=(32) +611 25000 +fi=(49) +157 75000 +cob=(2) +cfi=(2) +cfn=(5560) +calls=29000 0 +* 481000 +* 25000 +fe=(79) +344 25000 +0 25000 +344 25000 +185 75000 +349 200000 + +fl=(82) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/lib.rs +fn=(8116) polyxml::serialize +40 50 +fi=(144) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/serializer.rs +180 125 +cfn=(8118) ::serialize_with_options +calls=29 +3 +* 51666700 +* 25 +fe=(82) +47 75 + +fl=(29) +fn=(5142) +fi=(123) +cfi=(30) /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-baseline/src/main.rs +cfn=(5144) mixed_profile::main +calls=1 98 +250 51672474 +fe=(29) + +fl=(24) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/alloc.rs +fn=(5490) __rustc::__rdl_realloc +484 201200 +fi=(25) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs +70 150900 ++1 201200 +cob=(2) +cfi=(2) +cfn=(4462) +calls=29260 -71 +* 9830875 +fe=(24) + +fn=(5108) __rustc::__rdl_alloc +467 25025 +fi=(25) +30 150150 ++1 50050 +cob=(2) +cfi=(2) +cfn=(4230) +calls=46752 -31 +* 2062900 +fe=(24) + +fl=(37) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/converts.rs +fn=(5180) core::str::converts::from_utf8 +89 125125 +fi=(38) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs ++44 75075 ++12 50050 +0 175175 +145 200 ++19 25100 ++1 50200 +fi=(10) +2689 50200 +3875 25100 +fi=(38) +222 25100 ++23 200 +-21 50000 ++17 50000 +0 25000 +241 200000 ++1 100000 +-1 225000 +fe=(37) +94 100100 +-94 25025 +98 100100 + +fl=(32) +fn=(5314) ::finish_grow +544 201200 +fi=(10) +3212 201200 +fi=(67) +478 75450 +0 25150 +fe=(32) +631 25150 +fi=(10) +1401 25150 +fi=(23) +228 125750 +cfi=(6) +cfn=(5488) __rustc::__rust_realloc +calls=29229 0 +* 10409325 +fi=(26) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs +965 50300 ++1 75450 +fe=(32) +0 50300 +564 150900 + +fn=(5324) +658 100600 +512 50300 +fi=(10) +938 25150 +fi=(67) +478 25150 +0 25150 +fe=(32) +523 50300 +fi=(19) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs +1051 50300 +fe=(32) +159 176050 +fi=(19) +1051 75450 +fe=(32) +529 100600 +cfn=(5314) +calls=29205 +15 +* 11415325 +fi=(26) +2177 50300 ++1 25150 +fe=(32) +773 25150 ++1 25150 +668 100600 + +fl=(30) +fn=(8438) measured_region +95 7 +fi=(19) +2144 1 +fi=(34) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/range.rs +1100 1 +0 7 +fi=(19) +2144 25 +fi=(34) +1100 25 +fi=(118) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hint.rs +491 100 +fe=(30) +96 175 +cfi=(82) +cfn=(8116) +calls=25 -56 +* 51666975 +fi=(26) +1230 50 ++1 100 +fi=(32) +425 25 +631 50 +425 25 +fi=(23) +175 50 +cfi=(6) +cfn=(5192) +calls=25 0 +* 4825 +* 25 +fe=(30) +-78 8 + +fn=(5144) +cfn=(8438) +calls=1 95 +103 51672474 + +fl=(25) +fn=(5194) __rustc::__rdl_dealloc +65 25025 +cob=(2) +cfi=(2) +cfn=(4882) +calls=46750 -65 +* 4024775 + +fl=(144) +fn=(8130) ::collect_namespaces +87 225 ++1 100 +fi=(33) +-88 25 +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 150 +180 25 +fe=(144) +0 25 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(144) +-86 50 ++5 225 +fi=(27) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/boxed.rs +2415 25 +fe=(144) +102 75 +0 25 +109 50 +0 25 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 275 +fi=(14) +1663 125 +fi=(79) +180 125 +fe=(144) +-69 250 ++5 375 +fi=(14) +454 25 +fi=(135) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/sync.rs +2454 50 +fe=(144) +117 25 +cfn=(8131) ::collect_namespaces'2 +calls=29 -30 +* 2625 +* 25 +0 50 +125 25 +cfi=(134) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/schema.rs +cfn=(8140) ::variants +calls=29 +18 +* 1200 +fi=(33) +3101 25 ++25 50 +fe=(144) +126 25 +fi=(32) +425 50 +631 25 +fe=(144) +134 200 + +fn=(8131) +87 225 ++1 100 +fi=(33) +-88 25 +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 150 +180 25 +fe=(144) +0 25 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(144) +-86 50 ++5 175 +-99 25 +109 50 +0 50 +125 25 +cfi=(134) +cfn=(8140) +calls=29 +18 +* 1200 +fi=(33) +3101 25 ++25 50 +fe=(144) +126 25 +fi=(32) +425 50 +631 25 +fe=(144) +134 200 + +fn=(8156) ::write_model::<&mut alloc::vec::Vec> +302 300 ++9 125 +0 25 +324 100 +0 25 +fi=(14) +454 25 +fi=(135) +2454 75 +fe=(144) +325 75 +cfi=(134) +cfn=(8158) ::matches_variant +calls=29 182 +* 950 +* 50 +fi=(79) +0 75 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 575 +fi=(40) +634 50 +fe=(144) +353 50 +0 25 +251 350 ++2 50 +-2 75 +353 50 +fi=(26) +0 50 +fi=(14) +1663 25 +fi=(79) +180 25 +0 25 +fi=(40) +634 50 +fe=(144) +361 25 +fi=(23) +0 75 +fe=(144) +409 25 +cfi=(37) +cfn=(5180) +calls=29 89 +* 1750 +fi=(26) +0 50 +2177 50 +fi=(82) +0 25 +fe=(144) +410 50 ++3 75 +fi=(95) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/events/mod.rs +124 100 +0 25 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 500 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(144) +434 125 ++33 50 ++21 200 +cfi=(145) +cfn=(8176) +calls=29 262 +* 2050 +* 25 +0 25 +fi=(26) +965 50 +fi=(82) +0 25 +fe=(144) +492 50 ++30 50 +fi=(33) +1865 25 +fe=(144) +524 25 +fi=(45) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/index.rs +238 50 +fi=(32) +611 25 +fi=(45) +238 50 +fi=(32) +611 25 +fi=(33) +1865 50 +fe=(144) +524 25 +cfn=(8190) ::write_model::<&mut alloc::vec::Vec>::{closure#0} +calls=29 344 +* 675 +* 25 +-1 75 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 100 +fe=(144) +539 100 +cfn=(8194) ::write_model::<&mut alloc::vec::Vec>::{closure#5} +calls=29 -12 +* 5975 +fi=(79) +0 24975 +fe=(144) +539 99900 +cfn=(8194) +calls=28971 -12 +* 5975425 +fi=(40) +1541 50000 +fi=(143) /home/bailey/github/polyxml-perf-selected/crates/polyxml-core/src/value.rs +63 25000 +fe=(144) +539 25000 +fi=(143) +63 50000 +fe=(144) +539 50000 ++5 100000 +cfn=(8194) +calls=29000 -17 +* 6151700 +* 50000 +0 25000 +fi=(49) +21 50000 +fe=(144) +-21 75000 +fi=(20) +970 25000 +fi=(32) +611 25000 +fi=(20) +970 25000 +fi=(152) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter.rs +102 75000 +fe=(144) +563 100000 +cfi=(79) +cfn=(8208) +calls=29000 338 +* 1431000 +-3 50000 +0 25000 +fi=(32) +611 25000 +fi=(33) +1865 25000 +fe=(144) +569 50000 +cfi=(37) +cfn=(5180) +calls=29000 89 +* 1475000 +fi=(26) +0 50000 +2177 50000 +0 100000 +fe=(144) +410 25000 +570 25000 ++6 75000 +-6 25000 ++8 175000 +fi=(40) +0 25000 +fe=(144) +580 100000 ++1 100000 +cfn=(8214) ::format_scalar_to +calls=29000 216 +* 700000 +* 75000 +0 50000 +581 50000 ++5 175000 +cfn=(8218) ::validate_scalar +calls=29000 285 +* 575000 +fi=(26) +2177 50000 +fi=(85) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/borrow.rs +350 50000 +fe=(144) +588 200000 +cfi=(145) +cfn=(8176) +calls=29000 262 +* 2060000 +fi=(26) +965 50000 +fi=(93) +108 100000 +cfn=(8224) +calls=29000 +93 +* 21943125 +fi=(95) +564 125000 +fe=(144) ++27 100000 +cfi=(145) +cfn=(8176) +calls=29000 262 +* 5886700 +fi=(26) +965 50000 +fe=(144) +594 175000 +cfi=(145) +cfn=(8176) +calls=29000 262 +* 2057250 +fi=(26) +965 50000 +0 25000 +fi=(18) +847 50000 +fe=(144) +612 25000 +fi=(18) +847 50000 +fi=(23) +0 50000 +fi=(14) +1663 50000 +fi=(79) +180 25025 +fi=(85) +350 50 +fe=(144) +756 175 +cfi=(145) +cfn=(8176) +calls=29 262 +* 2025 +fi=(26) +965 50 +fe=(144) +760 200 +0 25 +759 25 ++1 25 +fi=(18) ++87 50 +fi=(23) +0 25 +fi=(18) +847 75 +fe=(144) + +fn=(8190) +344 175 ++1 75 +fi=(45) +184 50 +fe=(144) +346 25 +fi=(45) +186 75 +fi=(40) +743 25 +0 50 +fe=(144) +350 200 + +fn=(8218) +285 100000 ++10 25000 +-9 75000 ++9 100000 +-9 175000 ++13 25000 ++1 75000 + +fn=(8118) +183 350 +cfi=(6) +cfn=(5104) +calls=29 0 +* 25 +fi=(23) +-53 75 +cfi=(6) +cfn=(5106) +calls=29 0 +* 8150 +fi=(32) +470 50 +fi=(33) +969 75 +fe=(144) +192 50 +fi=(40) +0 25 +743 25 +0 25 +fi=(145) +124 75 +fe=(144) ++73 50 +0 50 +199 75 +cfn=(8128) ::build +calls=29 22 +* 7625 +fi=(40) +743 75 +0 25 +743 75 +0 50 +fe=(144) +202 225 +cfn=(8156) +calls=29 302 +* 51648950 +* 25 +fi=(26) +2177 50 +fe=(144) +212 150 +fi=(18) +847 125 +fe=(144) +0 25 +213 200 + +fn=(8128) +22 250 +fi=(33) +462 100 +fe=(144) +27 50 +cfn=(8130) +calls=29 +60 +* 6775 +fi=(33) +3126 25 +fe=(144) +29 25 +fi=(40) +709 50 +fe=(144) +0 25 +30 25 +fi=(32) +425 50 +631 25 +fe=(144) +85 225 + +fn=(8194) +527 450000 ++1 250000 +fi=(71) /rust/deps/hashbrown-0.17.1/src/raw.rs +1337 50000 +fi=(70) /rust/deps/hashbrown-0.17.1/src/map.rs +-53 50000 +0 50000 +1287 100000 +241 100000 +cfi=(72) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/mod.rs +cfn=(5548) ::hash_one::<&str> +calls=58000 694 +* 7700000 +fi=(88) /rust/deps/hashbrown-0.17.1/src/control/tag.rs +47 150000 +fi=(71) +2452 400000 +0 50000 +fi=(18) +573 50000 +fi=(75) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs +1569 150000 +fi=(84) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs +40 100000 +-40 200000 +fi=(76) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/nonzero.rs +628 50000 +fi=(71) +2032 100000 +fi=(20) +1054 150000 +fi=(49) +21 100000 +fi=(76) +628 100 +fi=(71) +2032 200 +fi=(20) +1054 300 +fi=(49) +21 200 +fi=(71) +1202 150000 +fi=(49) +157 100000 +cob=(2) +cfi=(2) +cfn=(5560) +calls=58000 0 +* 981400 +* 50000 +fi=(67) +455 50000 +fi=(76) ++31 100 +fi=(84) +40 800 +fi=(71) +1217 150000 +fe=(144) +538 400000 + +fn=(8214) +216 200000 ++4 100000 +0 25000 +220 75000 +fi=(32) +611 50000 +fe=(144) +0 50000 +234 200000 + +fl=(73) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs +fn=(5366) as core::hash::Hasher>::write +256 100000 ++2 100000 ++4 300000 ++1 100000 +fi=(19) +1090 150000 +fe=(73) +126 100000 +0 200000 +132 150000 ++5 100000 ++2 250000 +265 200000 ++1 100000 ++1 50000 +0 50000 +300 100000 +-22 50000 ++1 150000 ++3 100000 +126 100000 +fi=(18) +573 100000 +fe=(73) +132 200000 ++5 100000 ++2 150000 +298 25000 +0 25000 +300 50000 +-2 25000 +0 25000 +300 50000 + +fl=(134) +fn=(8140) +143 350 +fi=(14) +454 50 +fi=(135) +2454 50 +fi=(13) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/sync/atomic.rs +3994 50 +fi=(137) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/sync/rwlock/futex.rs +54 100 ++45 50 +fi=(13) +4149 50 +fi=(137) +97 50 +fi=(13) +3994 50 +fi=(33) +1865 50 +fi=(10) +3212 350 +fi=(67) +478 100 +fi=(32) +-17 100 +fi=(131) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/adapters/take.rs +0 50 +fi=(36) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/slice.rs +440 200 +fi=(13) +4049 50 +fi=(137) +111 50 ++7 200 +fe=(134) ++30 450 + +fn=(8158) +182 200 +fi=(14) +454 25 +fi=(13) +3994 25 +fi=(137) +54 50 ++45 25 +fi=(13) +4149 25 +fi=(137) +97 25 +fi=(13) +3994 25 +fi=(33) +1865 25 +fi=(14) +1663 50 +fi=(79) +180 25 +0 75 +fi=(13) +4049 25 +fi=(137) +111 25 ++7 100 +fe=(134) ++73 225 + +fl=(6) +fn=(5104) +0 25025 + +fn=(4130) +cob=(2) +cfi=(2) +cfn=(4132) +calls=1 0 +0 51672474 + +fn=(5192) +0 25025 +cfi=(25) +cfn=(5194) +calls=46750 65 +0 4049800 + +fn=(5488) +0 25150 +cfi=(24) +cfn=(5490) +calls=29260 484 +0 10384175 + +fn=(4180) +cfi=(8) +cfn=(4182) +calls=1 152 +0 51672474 + +fn=(5106) +0 25025 +cfi=(24) +cfn=(5108) +calls=46752 467 +0 2288125 + +fl=(72) +fn=(5548) +694 100000 ++5 50000 +fi=(73) +203 100000 +fi=(46) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/hash/random.rs +84 50000 +fi=(73) +204 100000 +fi=(46) +84 300000 +fi=(73) +306 100000 +cfn=(5366) +calls=59044 -50 +* 1500000 +fe=(72) ++57 250000 +cfi=(73) +cfn=(5366) +calls=59044 256 +* 1700000 +fi=(73) +-49 150000 +-2 100000 ++4 100000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(10) +2652 50000 +fi=(73) +78 50000 +fi=(67) +2215 50000 +fi=(73) +79 50000 +fi=(67) +2215 50000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(73) +79 50000 +fi=(67) +2215 100000 +fi=(73) +78 50000 +318 50000 ++2 50000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 100000 +fi=(73) +79 50000 +fi=(10) +2652 50000 +fi=(67) +2215 50000 +fi=(10) +2652 50000 +fi=(73) +79 50000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 50000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 100000 +fi=(73) +79 50000 +fi=(10) +2652 50000 +fi=(67) +2215 50000 +fi=(10) +2652 50000 +fi=(73) +79 50000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 50000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 50000 +fi=(73) +79 50000 +fi=(10) +2652 50000 +fi=(67) +2215 200000 +fi=(73) +323 150000 +fe=(72) +702 150000 + +totals: 51672474 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-Cargo.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-Cargo.lock new file mode 100644 index 0000000..f270549 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-Cargo.lock @@ -0,0 +1,317 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "mixed-profile" +version = "0.0.0" +dependencies = [ + "polyxml", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-Cargo.toml b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-Cargo.toml new file mode 100644 index 0000000..df7bd50 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-Cargo.toml @@ -0,0 +1,9 @@ +[package] +name="mixed-profile" +version="0.0.0" +edition="2021" +[workspace] +[dependencies] +polyxml={path="/home/bailey/github/polyxml-mixed-nil/crates/polyxml-core"} +[profile.release] +debug=1 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-build.txt new file mode 100644 index 0000000..7e7dfcd --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-build.txt @@ -0,0 +1,3 @@ +memcap: <=7713 MiB (60% of 12855 MiB available) [systemd MemoryMax, swap off] + Compiling mixed-profile v0.0.0 (/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current) + Finished `release` profile [optimized + debuginfo] target(s) in 1.02s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-harness.rs new file mode 100644 index 0000000..4cfe143 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-harness.rs @@ -0,0 +1,104 @@ +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box,sync::Arc}; +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + + +#[inline(never)] +#[no_mangle] +fn measured_region(schema: &ModelSchema, value: &PolyValue, count: usize) { + for _ in 0..count { black_box(serialize("Root", black_box(value), black_box(schema), None).unwrap()); } +} +fn main() { + let kind=std::env::args().nth(1).unwrap(); + let (schema,xml)=fixture(&kind,1000); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root", &value, &schema,None).unwrap()); } + measured_region(&schema,&value,25); +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-metadata.json new file mode 100644 index 0000000..d9080ee --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-metadata.json @@ -0,0 +1,11 @@ +{ + "revision": "121ac4b888fd434060d13fc886835a2fd46d684c", + "kind": [ + "scalar", + "pattern" + ], + "items": 1000, + "operations": 25, + "warmup_operations": 3, + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-pattern-annotated.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-pattern-annotated.txt new file mode 100644 index 0000000..285309c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-pattern-annotated.txt @@ -0,0 +1,122 @@ +-------------------------------------------------------------------------------- +Profile data file '/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/evidence/mixed-nil-instructions/current-pattern.callgrind' (creator: callgrind-3.26.0) +-------------------------------------------------------------------------------- +I1 cache: +D1 cache: +LL cache: +Timerange: Basic block 0 - 17596482 +Trigger: Program termination +Profiled target: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile pattern (PID 502846, part 1) +Events recorded: Ir +Events shown: Ir +Event sort order: Ir +Thresholds: 95 +Include dirs: +User annotated: +Auto-annotation: off + +-------------------------------------------------------------------------------- +Ir +-------------------------------------------------------------------------------- +61,654,974 (100.0%) PROGRAM TOTALS + +-------------------------------------------------------------------------------- +Ir file:function +-------------------------------------------------------------------------------- +5,075,000 ( 8.23%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs: as core::hash::Hasher>::write [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +3,651,100 ( 5.92%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs:core::str::converts::from_utf8 +3,325,000 ( 5.39%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/converters.rs:::parse_scalar [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +2,605,850 ( 4.23%) ???:0x00000000001972a0 [/usr/lib/x86_64-linux-gnu/libc.so.6] +2,400,000 ( 3.89%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs:::hash_one::<&str> +2,175,000 ( 3.53%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/search.rs:regex_automata::hybrid::search::find_fwd [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +2,052,550 ( 3.33%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs:::write_model::<&mut alloc::vec::Vec> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +2,026,300 ( 3.29%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/writer.rs:>>::write_event:: [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +1,800,000 ( 2.92%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs:::hash_one::<&str> +1,708,075 ( 2.77%) ???:0x0000000000197a00 [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,300,000 ( 2.11%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/converters.rs:::parse_scalar'2 [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +1,200,000 ( 1.95%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:::hash_one::<&str> +1,125,000 ( 1.82%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/dfa.rs:regex_automata::hybrid::search::find_fwd +1,100,000 ( 1.78%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs:quick_xml::escape::_escape::::{closure#0}, &str> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +1,100,000 ( 1.78%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +1,050,350 ( 1.70%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/converts.rs:core::str::converts::from_utf8 [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +1,000,000 ( 1.62%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 950,000 ( 1.54%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 900,250 ( 1.46%) /rust/deps/hashbrown-0.17.1/src/raw.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 825,925 ( 1.34%) ???:free [/usr/lib/x86_64-linux-gnu/libc.so.6] + 825,000 ( 1.34%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/mod.rs:::hash_one::<&str> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 775,000 ( 1.26%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs:::validate_scalar [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 775,000 ( 1.26%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:::try_allocate_in [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 700,000 ( 1.14%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/pattern.rs:polyxml::pattern::matches [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 675,000 ( 1.09%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/id.rs:regex_automata::hybrid::search::find_fwd + 651,125 ( 1.06%) ???:malloc [/usr/lib/x86_64-linux-gnu/libc.so.6] + 650,750 ( 1.06%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs:>>::write_event:: + 650,000 ( 1.05%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs:::format_scalar_to [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 601,400 ( 0.98%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:>>::write_event:: + 525,000 ( 0.85%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:core::ptr::drop_glue:: [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 525,000 ( 0.85%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs:core::str::count::char_count_general_case + 525,000 ( 0.85%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/hash/random.rs:::hash_one::<&str> + 475,400 ( 0.77%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:>>::write_event:: + 475,000 ( 0.77%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 450,250 ( 0.73%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::write_model::<&mut alloc::vec::Vec> + 425,000 ( 0.69%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/meta/strategy.rs:::search_half [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 400,000 ( 0.65%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::parse_scalar + 400,000 ( 0.65%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> + 375,000 ( 0.61%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/meta/regex.rs:::matches + 350,000 ( 0.57%) /rust/deps/hashbrown-0.17.1/src/raw.rs:polyxml::pattern::matches + 301,000 ( 0.49%) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 300,000 ( 0.49%) /rust/deps/hashbrown-0.17.1/src/map.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 300,000 ( 0.49%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs: as core::hash::Hasher>::write + 300,000 ( 0.49%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/index.rs:::parse_scalar + 275,225 ( 0.45%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:>>::write_event:: + 275,000 ( 0.45%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/pool.rs:::matches + 275,000 ( 0.45%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/pattern.rs:::matches [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 275,000 ( 0.45%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::validate_scalar + 250,250 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 250,000 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:::parse_scalar'2 + 250,000 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/adapters/filter.rs:core::str::count::char_count_general_case + 250,000 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:::search_half + 250,000 ( 0.41%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/sync/rwlock/futex.rs:polyxml::pattern::matches + 225,300 ( 0.37%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:core::str::converts::from_utf8 + 225,150 ( 0.37%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/convert/mod.rs:>>::write_event:: + 225,000 ( 0.36%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/count.rs:core::str::count::char_count_general_case + 200,200 ( 0.32%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs:__rustc::__rdl_alloc + 200,000 ( 0.32%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/alphabet.rs:regex_automata::hybrid::search::find_fwd + 200,000 ( 0.32%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/search.rs:regex_automata::hybrid::search::find_fwd + 200,000 ( 0.32%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs: as core::hash::Hasher>::write + 200,000 ( 0.32%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ops/index_range.rs:::parse_scalar + 200,000 ( 0.32%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:regex_automata::hybrid::search::find_fwd + 200,000 ( 0.32%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/sync/atomic.rs:polyxml::pattern::matches + 175,000 ( 0.28%) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs:polyxml::pattern::matches + 175,000 ( 0.28%) /rust/deps/hashbrown-0.17.1/src/lib.rs:polyxml::pattern::matches + 175,000 ( 0.28%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:::try_allocate_in + 175,000 ( 0.28%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:::parse_scalar + 150,375 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,125 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:>>::write_event:: + 150,000 ( 0.24%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/dfa.rs:::match_pattern [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 150,000 ( 0.24%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/dfa.rs:::search_half + 150,000 ( 0.24%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/search.rs:::matches + 150,000 ( 0.24%) /rust/deps/hashbrown-0.17.1/src/control/tag.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs: as core::hash::Hasher>::write + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs: as core::hash::Hasher>::write + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/index.rs:regex_automata::hybrid::search::find_fwd + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs:::parse_scalar + 150,000 ( 0.24%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs:core::str::count::char_count_general_case + 125,125 ( 0.20%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/events/mod.rs:::write_model::<&mut alloc::vec::Vec> + 125,100 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs:>>::write_event:: + 125,000 ( 0.20%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/nfa/thompson/nfa.rs:::search_half + 125,000 ( 0.20%) /rust/deps/hashbrown-0.17.1/src/map.rs:polyxml::pattern::matches + 125,000 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/sync.rs:::matches + 125,000 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/sync.rs:polyxml::pattern::matches + 125,000 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:::parse_scalar + 125,000 ( 0.20%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::search_half + 100,125 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:::write_model::<&mut alloc::vec::Vec> + 100,000 ( 0.16%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs:::write_model::<&mut alloc::vec::Vec> + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:core::ptr::drop_glue:: + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs:::parse_scalar + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cell.rs:::matches + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/traits/accum.rs:core::str::count::char_count_general_case + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:::parse_scalar'2 + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> + 100,000 ( 0.16%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::parse_scalar'2 + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-pattern-valgrind.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-pattern-valgrind.txt new file mode 100644 index 0000000..7f16cec --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-pattern-valgrind.txt @@ -0,0 +1,12 @@ +==502846== Callgrind, a call-graph generating cache profiler +==502846== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. +==502846== Using Valgrind-3.26.0 and LibVEX; rerun with -h for copyright info +==502846== Command: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile pattern +==502846== Parent PID: 502780 +==502846== +==502846== For interactive control, run 'callgrind_control -h'. +==502846== +==502846== Events : Ir +==502846== Collected : 61654974 +==502846== +==502846== I refs: 61,654,974 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-pattern.callgrind b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-pattern.callgrind new file mode 100644 index 0000000..c3c395b --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-pattern.callgrind @@ -0,0 +1,2041 @@ +# callgrind format +version: 1 +creator: callgrind-3.26.0 +pid: 502846 +cmd: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile pattern +part: 1 + + +desc: I1 cache: +desc: D1 cache: +desc: LL cache: + +desc: Timerange: Basic block 0 - 17596482 +desc: Trigger: Program termination + +positions: line +events: Ir +summary: 61654974 + + +ob=(2) /usr/lib/x86_64-linux-gnu/libc.so.6 +fl=(2) ??? +fn=(4132) (below main) +cfn=(4166) 0x000000000002a580 +calls=1 0 +0 61654974 + +fn=(4464) 0x00000000000b4180 +0 6950 +cfn=(4236) 0x00000000000b2400 +calls=128 0 +0 17750 +0 1650 +cfn=(4506) 0x00000000000b2300 +calls=130 0 +0 11600 +0 1150 +cfn=(4958) 0x00000000000b0f70 +calls=125 0 +0 2200 +0 1100 +cob=(3) ??? +cfi=(3) ??? +cfn=(4490) 0x0000000004bd56a0 +calls=128 0 +0 207425 +0 300 +cfn=(4506) +calls=128 0 +0 7050 +0 100 + +fn=(4236) +0 22700 +cfn=(4958) +calls=313 0 +0 2025 +0 1575 + +fn=(4462) realloc +0 9300 +cfn=(4464) +calls=276 0 +0 257275 +0 1650 + +fn=(4230) malloc +0 400 +cfn=(4236) +calls=15277 0 +0 8550 +0 650725 + +fn=(4506) +0 1800 +cfn=(4512) 0x00000000000b20e0 +calls=258 0 +0 16100 +0 750 + +fn=(4166) +cob=(6) /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile +cfi=(6) ??? +cfn=(4180) main +calls=1 0 +0 61654974 + +fn=(4958) +0 6025 + +fn=(4512) +0 16975 +cfn=(4958) +calls=7719 0 +0 1800 +0 950 + +fn=(4492) 0x0000000000197a00 +0 1708075 + +fn=(4884) free +0 300 +cfn=(4512) +calls=15117 0 +0 3625 +0 825625 + +fn=(5560) 0x00000000001972a0 +0 2605850 + +ob=(3) +fl=(3) +fn=(4490) +0 100 +cob=(2) +cfi=(2) +cfn=(4492) +calls=176 0 +0 207325 + +ob=(1) /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +fl=(1) ??? +fn=(0) 0x0000000000023340 +cob=(6) +cfi=(6) +cfn=(4130) (below main) +calls=1 0 +0 61654974 + +ob=(6) +fl=(93) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs +fn=(10034) quick_xml::escape::_escape::::{closure#0}, &str> +201 250000 ++3 25000 +fi=(14) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs +1663 25000 +fi=(79) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs +180 25000 +0 125000 +180 125000 +0 75000 +fi=(14) +1663 300000 +fi=(79) +385 150000 +fi=(14) +1663 150000 +fi=(79) +180 150000 +379 300000 +fe=(93) +109 150000 +0 225000 +218 125000 ++7 100000 ++2 225000 + +fl=(208) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/search.rs +fn=(9536) regex_automata::hybrid::search::find_fwd +13 200000 +fi=(205) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/search.rs +662 50000 ++80 25000 +fe=(208) +18 25000 +fi=(205) +704 25000 +1536 75000 +fi=(40) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs +743 150000 +fe=(208) +41 50000 +fi=(14) +454 50000 +fi=(10) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs +1092 50000 +fi=(205) +704 25000 +fi=(177) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/dfa.rs +2685 75000 +fi=(210) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/start.rs +397 50000 +fi=(177) +2699 75000 +fi=(33) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs +1865 25000 +fi=(45) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/index.rs +238 50000 +fi=(32) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs +611 25000 +fi=(177) +2714 25000 +fi=(206) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/hybrid/id.rs +281 25000 +fi=(177) +1571 25000 +0 50000 +fi=(26) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs +965 50000 +fi=(177) +1957 50000 ++3 75000 +fe=(208) +85 50000 +-85 75000 +294 50000 +85 100000 +fi=(206) +272 50000 +fe=(208) +86 50000 +fi=(206) +224 50000 ++48 200000 +fe=(208) +-40 100000 +0 100000 +232 50000 +-37 100000 +0 150000 +67 50000 +fi=(172) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/alphabet.rs +295 50000 +fi=(206) +-71 50000 +fi=(177) +1423 50000 ++1 150000 +fe=(208) +197 50000 +67 25000 +fi=(172) +295 25000 +fi=(206) +-71 25000 +fi=(177) +1423 25000 ++1 75000 +fe=(208) +197 75000 +67 25000 +fi=(172) +295 25000 +fi=(177) +1423 25000 ++1 50000 +fe=(208) +204 25000 +67 25000 +fi=(172) +295 25000 +fi=(177) +1423 25000 ++1 75000 +fe=(208) +67 25000 +fi=(172) +295 25000 +fi=(177) +1423 25000 ++1 25000 +fi=(206) +272 25000 +fe=(208) +-55 25000 ++3 25000 +-25 50000 +fi=(206) +0 100000 +281 50000 +fe=(208) +-56 50000 +fi=(45) +-41 50000 +fi=(172) +325 50000 +fi=(206) +216 50000 +fi=(177) +1512 25000 +fi=(33) +1865 25000 +fi=(45) +238 50000 +fi=(32) +611 25000 +fi=(177) +1513 25000 +fi=(206) +281 25000 +fi=(177) +1514 25000 ++5 25000 +fi=(26) +965 50000 +fe=(208) +47 225000 +fi=(206) +320 25000 +fe=(208) +722 25000 +0 225000 +cfi=(177) +cfn=(9704) ::match_pattern +calls=32000 1741 +0 150000 +0 75000 +fi=(11) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/mem/mod.rs +975 50000 ++1 25000 +fi=(40) +-9 50000 +fi=(177) +2059 100000 +-70 25000 +fe=(208) +298 75000 +fi=(167) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/lib.rs +0 25000 +fe=(208) + +fl=(73) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs +fn=(5366) as core::hash::Hasher>::write +256 150000 ++2 150000 ++4 450000 ++1 100000 +fi=(19) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs +1090 150000 +fe=(73) +126 100000 +0 300000 +132 150000 ++5 100000 ++2 250000 +265 200000 ++1 100000 ++1 50000 +0 50000 +300 100000 +-22 100000 ++1 300000 ++3 200000 +0 125000 +fi=(18) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs +573 25000 +fe=(73) +288 25000 +fi=(10) +2652 25000 +fi=(67) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs +2215 25000 +fi=(10) +2652 25000 +fe=(73) +78 25000 +fi=(67) +2215 25000 +fe=(73) +79 25000 +fi=(67) +2215 25000 +fi=(10) +2652 50000 +fi=(67) +2215 25000 +fe=(73) +79 25000 +fi=(67) +2215 50000 +fe=(73) +78 25000 +290 25000 ++2 25000 +-10 50000 +fi=(18) +573 25000 +fe=(73) +288 25000 +fi=(10) +2652 25000 +fi=(67) +2215 25000 +fi=(10) +2652 25000 +fe=(73) +78 25000 +fi=(67) +2215 25000 +fe=(73) +79 25000 +fi=(67) +2215 25000 +fi=(10) +2652 50000 +fi=(67) +2215 25000 +fe=(73) +79 25000 +fi=(67) +2215 50000 +fe=(73) +78 25000 +290 25000 ++2 25000 +-10 50000 +0 100000 +126 200000 +fi=(18) +573 100000 +fe=(73) +132 200000 +0 100000 +132 150000 ++5 200000 ++2 300000 +298 50000 +0 50000 +300 100000 +-2 50000 +0 50000 +300 100000 + +fl=(6) +fn=(5190) __rustc::__rust_dealloc +0 25025 +cfi=(25) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs +cfn=(5192) __rustc::__rdl_dealloc +calls=46863 65 +0 854575 + +fn=(5108) __rustc::__rust_alloc +0 25025 +cfi=(24) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/alloc.rs +cfn=(5110) __rustc::__rdl_alloc +calls=46916 467 +0 884900 + +fn=(4130) +cob=(2) +cfi=(2) +cfn=(4132) +calls=1 0 +0 61654974 + +fn=(5106) __rustc::__rust_no_alloc_shim_is_unstable_v2 +0 25025 + +fn=(5488) __rustc::__rust_realloc +0 150 +cfi=(24) +cfn=(5490) __rustc::__rdl_realloc +calls=284 484 +0 271525 + +fn=(4180) +cfi=(8) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/rt.rs +cfn=(4182) std::rt::lang_start_internal +calls=1 152 +0 61654974 + +fl=(72) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/mod.rs +fn=(5548) ::hash_one::<&str> +694 150000 ++5 75000 +fi=(73) +203 150000 +fi=(46) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/hash/random.rs +84 75000 +fi=(73) +204 150000 +fi=(46) +84 450000 +fi=(73) +306 150000 +cfn=(5366) +calls=91043 -50 +* 3375000 +fe=(72) ++57 375000 +cfi=(73) +cfn=(5366) +calls=91043 256 +* 2500000 +fi=(73) +-49 225000 +-2 150000 ++4 150000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(10) +2652 75000 +fi=(73) +78 75000 +fi=(67) +2215 75000 +fi=(73) +79 75000 +fi=(67) +2215 75000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(73) +79 75000 +fi=(67) +2215 150000 +fi=(73) +78 75000 +318 75000 ++2 75000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 150000 +fi=(73) +79 75000 +fi=(10) +2652 75000 +fi=(67) +2215 75000 +fi=(10) +2652 75000 +fi=(73) +79 75000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 75000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 150000 +fi=(73) +79 75000 +fi=(10) +2652 75000 +fi=(67) +2215 75000 +fi=(10) +2652 75000 +fi=(73) +79 75000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 75000 +fi=(10) +2652 150000 +fi=(67) +2215 75000 +fi=(73) +78 75000 +fi=(67) +2215 75000 +fi=(73) +79 75000 +fi=(10) +2652 75000 +fi=(67) +2215 300000 +fi=(73) +323 225000 +fe=(72) +702 225000 + +fl=(50) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/const_ptr.rs +fn=(7894) ::count +733 25000 +fi=(141) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/count.rs +28 50000 ++5 25000 +cfi=(14) +cfn=(7898) core::str::count::char_count_general_case +calls=32000 1663 +* 1325000 +fe=(50) + +fl=(140) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/converters.rs +fn=(7878) ::parse_scalar +28 425000 ++5 425000 +fi=(18) +-33 25000 +fe=(140) +35 200000 +cfn=(7879) ::parse_scalar'2 +calls=32000 -7 +* 5900000 +fi=(26) +2177 25000 +0 200000 +2177 50000 +fe=(140) +0 25000 +209 225000 +0 25000 +35 225000 ++1 75000 +cfi=(37) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/converts.rs +cfn=(5178) core::str::converts::from_utf8 +calls=32000 +53 +* 1725000 +* 25000 +fi=(26) +-36 75000 +2177 50000 +fe=(140) +37 50000 +fi=(48) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/mod.rs +-37 25000 +fi=(20) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs +970 25000 +fe=(140) +39 25000 +cfi=(50) +cfn=(7894) +calls=32000 733 +* 1425000 ++2 25000 +fi=(40) +709 125000 +fe=(140) +0 25000 +fi=(40) +709 50000 +fe=(140) +0 25000 +fi=(33) +1865 25000 +fi=(14) +1663 25000 +fi=(79) +180 25000 +0 100000 +fi=(32) +611 25000 +fi=(33) +1865 75000 +fe=(140) +45 25000 +cfi=(142) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/pattern.rs +cfn=(7910) polyxml::pattern::matches +calls=32000 +15 +* 16150000 +* 25000 +fi=(14) +1663 50000 +fi=(79) +180 25000 +fe=(140) +48 25000 ++1 25000 ++1 25000 ++1 25000 +-4 275000 +-47 300000 +fi=(108) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ops/index_range.rs +131 200000 +fi=(45) ++88 300000 +fi=(18) +1755 100000 +fe=(140) +47 200000 +-47 100000 +53 200000 ++23 50000 ++7 150000 +-83 100000 + +fn=(7879) +28 425000 ++5 425000 +fi=(48) +-33 25000 +fe=(140) +132 75000 +cfi=(37) +cfn=(5178) +calls=32000 -43 +* 1725000 +fi=(26) +0 50000 +2177 50000 +fi=(82) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/lib.rs +0 25000 +fi=(32) +435 125000 +cfn=(7888) ::try_allocate_in +calls=32000 +12 +* 1950000 +0 25000 +435 75000 ++1 25000 +fi=(36) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/slice.rs ++16 50000 +fi=(18) +573 100000 +cob=(2) +cfi=(2) +cfn=(4492) +calls=32000 0 +* 375000 +fe=(140) +133 100000 +0 50000 +209 225000 + +fl=(18) +fn=(10026) core::ptr::drop_glue:: +847 325000 +fi=(32) +425 50000 +631 25000 +425 25000 +fi=(23) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/alloc.rs +175 50000 +fe=(18) +847 200000 +cfi=(6) +cfn=(5190) +calls=29000 0 +* 875000 + +fl=(29) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/backtrace.rs +fn=(5144) std::sys::backtrace::__rust_begin_short_backtrace:: +fi=(123) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ops/function.rs +cfi=(30) /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/src/main.rs +cfn=(5146) mixed_profile::main +calls=1 98 +250 61654974 +fe=(29) + +fl=(8) +fn=(5142) std::rt::lang_start::<()>::{closure#0} +cfi=(29) +cfn=(5144) +calls=1 162 +206 61654974 + +fn=(4182) +fi=(123) +cfn=(5142) +calls=1 206 +287 61654974 +fe=(8) + +fl=(37) +fn=(5178) +89 375125 +fi=(38) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs ++44 225075 ++12 150050 +0 525175 +145 200 ++19 75100 ++1 150200 +fi=(10) +2689 150200 +3875 75100 +fi=(38) +222 75100 ++23 200 +-21 150000 ++17 150000 +0 75000 +241 800000 ++1 400000 +-1 875000 +fe=(37) +94 300100 +-94 75025 +98 300100 + +fl=(14) +fn=(7898) +1663 25000 +fi=(79) +25 25000 +279 50000 +fi=(141) +0 200000 +fi=(79) +274 100000 +fi=(218) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/adapters/filter.rs +138 125000 +fi=(219) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/traits/accum.rs +-83 25000 +fi=(218) ++83 125000 +fi=(219) +-83 25000 +fi=(79) +-55 25000 +279 175000 +fi=(38) +24 150000 +fi=(219) ++31 50000 +fi=(10) +1013 50000 +fi=(79) +279 150000 +fi=(141) +137 25000 +fe=(14) + +fl=(24) +fn=(5110) +467 25025 +fi=(25) +30 150150 ++1 50050 +cob=(2) +cfi=(2) +cfn=(4230) +calls=46915 -31 +* 659675 +fe=(24) + +fn=(5490) +484 1200 +fi=(25) +70 900 ++1 1200 +cob=(2) +cfi=(2) +cfn=(4462) +calls=284 -71 +* 268225 +fe=(24) + +fl=(134) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/schema.rs +fn=(9962) ::matches_variant +182 200 +fi=(14) +454 25 +fi=(13) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/sync/atomic.rs +3994 25 +fi=(137) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/sync/rwlock/futex.rs +54 50 ++45 25 +fi=(13) +4149 25 +fi=(137) +97 25 +fi=(13) +3994 25 +fi=(33) +1865 25 +fi=(14) +1663 50 +fi=(79) +180 25 +0 75 +fi=(13) +4049 25 +fi=(137) +111 25 ++7 100 +fe=(134) ++73 225 + +fn=(9944) ::variants +143 350 +fi=(14) +454 50 +fi=(135) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/sync.rs +2454 50 +fi=(13) +3994 50 +fi=(137) +54 100 ++45 50 +fi=(13) +4149 50 +fi=(137) +97 50 +fi=(13) +3994 50 +fi=(33) +1865 50 +fi=(10) +3212 350 +fi=(67) +478 100 +fi=(32) +-17 100 +fi=(131) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/adapters/take.rs +0 50 +fi=(36) +440 200 +fi=(13) +4049 50 +fi=(137) +111 50 ++7 200 +fe=(134) ++30 450 + +fl=(213) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs +fn=(9932) ::build +22 250 +fi=(33) +462 100 +fe=(213) +27 50 +cfn=(9934) ::collect_namespaces +calls=29 +60 +* 6775 +fi=(33) +3126 25 +fe=(213) +29 25 +fi=(40) +709 50 +fe=(213) +0 25 +30 25 +fi=(32) +425 50 +631 25 +fe=(213) +85 225 + +fn=(10018) ::format_scalar_to +216 200000 ++4 100000 +0 25000 +220 75000 +fi=(32) +611 50000 +fe=(213) +0 50000 +234 200000 + +fn=(10022) ::validate_scalar +285 100000 ++10 25000 +-9 75000 ++9 100000 +-9 75000 +0 25000 +297 25000 +cfi=(140) +cfn=(7878) +calls=29000 28 +* 30125000 +fi=(26) +2177 25000 +0 200000 +2177 50000 +fe=(213) +297 250000 +cfi=(18) +cfn=(10026) +calls=29000 847 +* 1550000 ++2 25000 ++1 75000 + +fn=(9960) ::write_model::<&mut alloc::vec::Vec> +302 250 ++9 125 +0 50 +324 75 +0 25 +fi=(14) +454 25 +fi=(135) +2454 75 +fe=(213) +325 75 +cfi=(134) +cfn=(9962) +calls=29 182 +* 950 +* 50 +fi=(79) +0 75 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 575 +fi=(40) +634 50 +fe=(213) +353 50 +0 25 +251 350 ++2 50 +-2 75 +353 50 +fi=(26) +0 50 +fi=(14) +1663 25 +fi=(79) +180 25 +0 25 +fi=(40) +634 50 +fe=(213) +361 25 +fi=(23) +0 75 +fe=(213) +409 25 +cfi=(37) +cfn=(5178) +calls=29 89 +* 1750 +fi=(26) +0 50 +2177 50 +fi=(82) +0 25 +fe=(213) +410 50 ++3 75 +fi=(95) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/events/mod.rs +124 100 +0 25 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 500 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(213) +434 125 ++33 50 ++21 200 +cfi=(214) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/writer.rs +cfn=(9980) >>::write_event:: +calls=29 262 +* 2050 +* 25 +0 25 +fi=(26) +965 50 +fi=(82) +0 25 +fe=(213) +492 50 ++30 50 +fi=(33) +1865 25 +fe=(213) +524 25 +fi=(45) +238 50 +fi=(32) +611 25 +fi=(45) +238 50 +fi=(32) +611 25 +fi=(33) +1865 50 +fe=(213) +524 25 +cfn=(9994) ::write_model::<&mut alloc::vec::Vec>::{closure#0} +calls=29 344 +* 675 +* 25 +-1 75 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 100 +fe=(213) +539 100 +cfn=(9998) ::write_model::<&mut alloc::vec::Vec>::{closure#5} +calls=29 -12 +* 5975 +fi=(79) +0 24975 +fe=(213) +539 99900 +cfn=(9998) +calls=28971 -12 +* 5982625 +fi=(40) +1541 50000 +fi=(212) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/value.rs +63 25000 +fe=(213) +539 25000 +fi=(212) +63 50000 +fe=(213) +539 50000 ++5 100000 +cfn=(9998) +calls=29000 -17 +* 6227125 +* 50000 +0 25000 +fi=(49) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs +21 50000 +fe=(213) +-21 75000 +fi=(20) +970 25000 +fi=(32) +611 25000 +fi=(20) +970 25000 +fi=(188) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter.rs +102 75000 +fe=(213) +563 100000 +cfi=(79) +cfn=(10012) as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> +calls=29000 338 +* 2617250 +-3 50000 +0 25000 +fi=(32) +611 25000 +fi=(33) +1865 25000 +fe=(213) +569 50000 +cfi=(37) +cfn=(5178) +calls=29000 89 +* 1475000 +fi=(26) +0 50000 +2177 50000 +0 100000 +fe=(213) +410 25000 +570 25000 ++6 75000 +-6 25000 ++8 175000 +fi=(40) +0 25000 +fe=(213) +580 100000 ++1 100000 +cfn=(10018) +calls=29000 216 +* 700000 +* 100000 +0 50000 +581 50000 ++9 175000 +cfn=(10022) +calls=29000 285 +* 32725000 +fi=(26) +2177 50000 +fi=(85) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/borrow.rs +350 50000 +fe=(213) +592 200000 +cfi=(214) +cfn=(9980) +calls=29000 262 +* 2070225 +fi=(26) +965 50000 +fi=(93) +108 100000 +cfn=(10034) +calls=29000 +93 +* 2525000 +fi=(95) +564 125000 +fe=(213) ++31 100000 +cfi=(214) +cfn=(9980) +calls=29000 262 +* 1594350 +fi=(26) +965 50000 +fe=(213) +598 175000 +cfi=(214) +cfn=(9980) +calls=29000 262 +* 2269625 +fi=(26) +965 50000 +0 50000 +fi=(18) +847 50000 +fe=(213) +622 25000 +fi=(18) +847 50000 +fi=(23) +0 50000 +fi=(14) +1663 50000 +fi=(79) +180 25025 +fi=(85) +350 50 +fe=(213) +766 175 +cfi=(214) +cfn=(9980) +calls=29 262 +* 2025 +fi=(26) +965 50 +fe=(213) +770 200 +0 25 +769 25 ++1 25 +fi=(18) ++77 50 +fi=(23) +0 25 +fi=(18) +847 75 +fe=(213) + +fn=(9994) +344 175 ++1 75 +fi=(45) +184 50 +fe=(213) +346 25 +fi=(45) +186 75 +fi=(40) +743 25 +0 50 +fe=(213) +350 200 + +fn=(9934) +87 225 ++1 100 +fi=(33) +-88 25 +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 150 +180 25 +fe=(213) +0 25 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(213) +-86 50 ++5 225 +fi=(27) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/boxed.rs +2415 25 +fe=(213) +102 75 +0 25 +109 50 +0 25 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 275 +fi=(14) +1663 125 +fi=(79) +180 125 +fe=(213) +-69 250 ++5 375 +fi=(14) +454 25 +fi=(135) +2454 50 +fe=(213) +117 25 +cfn=(9935) ::collect_namespaces'2 +calls=29 -30 +* 2625 +* 25 +0 50 +125 25 +cfi=(134) +cfn=(9944) +calls=29 +18 +* 1200 +fi=(33) +3101 25 ++25 50 +fe=(213) +126 25 +fi=(32) +425 50 +631 25 +fe=(213) +134 200 + +fn=(9935) +87 225 ++1 100 +fi=(33) +-88 25 +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 150 +180 25 +fe=(213) +0 25 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(213) +-86 50 ++5 175 +-99 25 +109 50 +0 50 +125 25 +cfi=(134) +cfn=(9944) +calls=29 +18 +* 1200 +fi=(33) +3101 25 ++25 50 +fe=(213) +126 25 +fi=(32) +425 50 +631 25 +fe=(213) +134 200 + +fn=(9998) +527 450000 ++1 250000 +fi=(71) /rust/deps/hashbrown-0.17.1/src/raw.rs +1337 50000 +fi=(70) /rust/deps/hashbrown-0.17.1/src/map.rs +-53 50000 +0 50000 +1287 100000 +241 100000 +cfi=(72) +cfn=(5548) +calls=58000 694 +* 7700000 +fi=(88) /rust/deps/hashbrown-0.17.1/src/control/tag.rs +47 150000 +fi=(71) +2452 400000 +0 50000 +fi=(18) +573 50000 +fi=(75) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs +1569 150000 +fi=(84) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs +40 100000 +-40 200000 +fi=(76) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/nonzero.rs +628 50000 +fi=(71) +2032 100000 +fi=(20) +1054 150000 +fi=(49) +21 100000 +fi=(76) +628 125 +fi=(71) +2032 250 +fi=(20) +1054 375 +fi=(49) +21 250 +fi=(71) +1202 150000 +fi=(49) +157 100000 +cob=(2) +cfi=(2) +cfn=(5560) +calls=58000 0 +* 1063600 +* 50000 +fi=(67) +455 50000 +fi=(76) ++31 125 +fi=(84) +40 1000 +fi=(71) +1217 150000 +fe=(213) +538 400000 + +fn=(9922) ::serialize_with_options +183 350 +cfi=(6) +cfn=(5106) +calls=29 0 +* 25 +fi=(23) +-53 75 +cfi=(6) +cfn=(5108) +calls=29 0 +* 9925 +fi=(32) +470 50 +fi=(33) +969 75 +fe=(213) +192 50 +fi=(40) +0 25 +743 25 +0 25 +fi=(214) +124 75 +fe=(213) ++73 50 +0 50 +199 75 +cfn=(9932) +calls=29 22 +* 7625 +fi=(40) +743 75 +0 25 +743 75 +0 50 +fe=(213) +202 225 +cfn=(9960) +calls=29 302 +* 61629900 +* 25 +fi=(26) +2177 50 +fe=(213) +212 150 +fi=(18) +847 125 +fe=(213) +0 25 +213 200 + +fl=(32) +fn=(5312) ::finish_grow +544 1200 +fi=(10) +3212 1200 +fi=(67) +478 450 +0 150 +fe=(32) +631 150 +fi=(10) +1401 150 +fi=(23) +228 750 +cfi=(6) +cfn=(5488) +calls=224 0 +* 271675 +fi=(26) +965 300 ++1 450 +fe=(32) +0 300 +564 900 + +fn=(5322) >::reserve::do_reserve_and_handle:: +658 600 +512 300 +fi=(10) +938 150 +fi=(67) +478 150 +0 150 +fe=(32) +523 300 +fi=(19) +1051 300 +fe=(32) +159 1050 +fi=(19) +1051 450 +fe=(32) +529 600 +cfn=(5312) +calls=200 +15 +* 277675 +fi=(26) +2177 300 ++1 150 +fe=(32) +773 150 ++1 150 +668 600 + +fn=(7888) +447 225000 +fi=(10) +3212 175000 +fi=(67) +478 50000 +fe=(32) +-17 50000 +0 50000 +cfi=(6) +cfn=(5106) +calls=32000 0 +0 25000 +0 50000 +465 50000 ++13 75000 +0 50000 +483 175000 +fi=(23) +130 25000 +cfi=(6) +cfn=(5108) +calls=32000 0 +* 900000 +fe=(32) +470 50000 + +fl=(30) +fn=(10240) measured_region +95 7 +fi=(19) +2144 1 +fi=(34) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/range.rs +1100 1 +0 7 +fi=(19) +2144 25 +fi=(34) +1100 25 +fi=(118) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hint.rs +491 100 +fe=(30) +96 175 +cfi=(82) +cfn=(9920) polyxml::serialize +calls=25 -56 +* 61649700 +fi=(26) +1230 50 ++1 100 +fi=(32) +425 25 +631 50 +425 25 +fi=(23) +175 50 +cfi=(6) +cfn=(5190) +calls=25 0 +* 4600 +* 25 +fe=(30) +-78 8 + +fn=(5146) +cfn=(10240) +calls=1 95 +103 61654974 + +fl=(25) +fn=(5192) +65 25025 +cob=(2) +cfi=(2) +cfn=(4884) +calls=46863 -65 +* 829550 + +fl=(142) +fn=(9382) ::matches +23 100000 ++1 50000 +fi=(205) +208 150000 +fi=(146) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-1.13.1/src/regex/string.rs +1123 25000 +fi=(14) +454 25000 +fi=(40) +1040 50000 +fi=(146) ++83 25000 +fi=(149) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/meta/regex.rs +0 25000 +2049 50000 ++4 50000 +fi=(161) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-syntax-0.8.11/src/hir/mod.rs +2720 25000 +fi=(149) +2063 25000 +fi=(161) +2720 25000 +fi=(149) +2063 25000 ++1 50000 ++4 25000 +980 25000 +fi=(92) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/thread_local/native/mod.rs +105 50000 +fi=(110) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/thread_local/native/lazy.rs +-46 50000 +fi=(124) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/thread/local.rs +463 25000 +fi=(13) +3995 25000 +fi=(202) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/util/pool.rs +588 50000 +fi=(13) +3979 25000 +fi=(202) +693 100000 +fi=(14) +454 50000 +fi=(135) +2454 125000 +fi=(69) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cell.rs +-17 50000 +0 50000 +fi=(149) +985 50000 +cfi=(163) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/meta/strategy.rs +cfn=(9528) ::search_half +calls=31999 740 +* 6425000 ++2 50000 +fi=(202) +805 50000 ++22 25000 ++4 50000 +fi=(13) +3979 50000 +fi=(40) +634 25000 +fe=(142) +28 125000 + +fn=(7910) +60 275000 ++2 50000 +fi=(13) +3995 25000 +fi=(144) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/sync/once/futex.rs +87 25000 +fi=(143) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sync/once_lock.rs ++98 25000 +0 25000 +fi=(13) +3994 25000 +fi=(137) +54 50000 ++45 25000 +fi=(13) +4149 25000 +fi=(137) +97 25000 +fi=(13) +3994 25000 +fi=(71) +1337 50000 +fi=(70) +-53 25000 +241 100000 +cfi=(72) +cfn=(5548) +calls=31999 694 +* 4925000 +fi=(88) +47 50000 +fi=(71) +2452 225000 +0 25000 +fi=(18) +573 25000 +fi=(75) +1569 75000 +fi=(84) +40 50000 +-40 125000 +fi=(76) +628 25000 +fi=(71) +2032 50000 +fi=(20) +1054 75000 +fi=(49) +21 50000 +fi=(89) /rust/deps/hashbrown-0.17.1/src/lib.rs +157 125000 +cob=(2) +cfi=(2) +cfn=(5560) +calls=31999 0 +* 475000 +* 50000 +fi=(67) +455 25000 +fe=(142) +9 75000 +fi=(13) +4029 50000 +fi=(135) +2434 25000 ++4 50000 +0 25000 +fi=(13) +4049 25000 +fi=(137) +111 25000 ++7 125000 +fe=(142) +-48 25000 ++1 75000 +cfn=(9382) +calls=31999 -48 +* 8200000 +fi=(18) +847 50000 +fi=(13) +4049 25000 +fi=(135) +2868 25000 +fe=(142) +87 200000 + +fl=(163) +fn=(9528) +740 150000 +fi=(40) ++3 50000 +0 25000 +743 125000 ++22 50000 +fi=(14) +454 25000 +fi=(177) +594 50000 +fi=(169) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/regex-automata-0.4.18/src/nfa/thompson/nfa.rs +0 125000 +fi=(177) +595 25000 +cfi=(208) +cfn=(9536) +calls=32000 13 +* 5325000 +fi=(26) +2177 25000 +0 25000 +2177 50000 ++1 25000 +fi=(177) +595 75000 +fe=(163) +760 75000 ++9 200000 + +fl=(79) +fn=(10012) +338 225000 +fi=(14) +1663 25000 +fe=(79) +180 25000 +0 200000 +fi=(14) +1663 75000 +fe=(79) +180 75000 +0 100000 +fi=(49) +21 200000 +fi=(32) +611 50000 +fi=(49) +157 150000 +cob=(2) +cfi=(2) +cfn=(5560) +calls=58000 0 +* 1067250 +* 50000 +fe=(79) +344 50000 +0 25000 +344 25000 +185 75000 +349 200000 + +fl=(82) +fn=(9920) +40 50 +fi=(213) +180 125 +cfn=(9922) +calls=29 +3 +* 61649425 +* 25 +fe=(82) +47 75 + +fl=(177) +fn=(9704) +1741 50000 ++11 50000 ++6 50000 + +fl=(214) +fn=(9980) +262 600400 +fi=(120) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/convert/mod.rs +792 225150 +fe=(214) +264 225150 ++1 100100 ++53 25025 +0 25025 +318 25025 +-31 75000 ++26 25000 +fi=(32) +616 25000 +fi=(33) +1461 25000 +fi=(10) +2689 25000 +fi=(32) +764 25000 +-94 25000 +fi=(33) +2981 49900 +0 25000 +fi=(20) +970 25000 +fi=(18) +573 75000 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29000 0 +* 375000 +fi=(33) +2986 50000 +fe=(214) +0 125000 +272 100100 +fi=(40) +765 50050 +fi=(33) +1461 25025 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(32) +616 25025 +fi=(10) +2689 50050 +fi=(32) +764 25025 +-94 25025 +fi=(33) +2981 50050 +0 25025 +fi=(20) +970 50050 +fi=(18) +573 50050 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29029 0 +* 375375 +fi=(32) ++43 25025 +fi=(33) +2986 50050 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(40) +765 75075 +fi=(18) ++82 100100 +fe=(214) +0 25025 +fi=(32) +616 25025 +fi=(33) +1461 25025 +fi=(10) +2689 25025 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(32) +616 25025 +fi=(10) +2689 50050 +fi=(32) +764 25025 +-94 25025 +fi=(33) +2981 50000 +0 25025 +fi=(20) +970 50050 +fi=(18) +573 50050 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29029 0 +* 375375 +fi=(32) ++43 25025 +fi=(33) +2986 50050 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(18) +847 100100 +fi=(40) +-82 150100 +fe=(214) +308 675450 +fi=(32) +672 300 +cfn=(5322) +calls=58 -14 +* 19050 +fi=(33) +3101 50 +2981 50 +fi=(32) +672 150 +cfn=(5322) +calls=29 -14 +* 22050 +fi=(33) +3101 50 +fi=(32) +672 150 +cfn=(5322) +calls=29 -14 +* 222225 +fi=(33) +3101 25 +2981 25 +0 25 +fi=(32) +672 150 +cfn=(5322) +calls=29 -14 +* 10225 +fi=(33) +3101 75 +0 25 +fi=(32) +672 125 +cfn=(5322) +calls=29 -14 +* 9525 +fi=(33) +3101 75 +fe=(214) + +totals: 61654974 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-scalar-annotated.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-scalar-annotated.txt new file mode 100644 index 0000000..4235f14 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-scalar-annotated.txt @@ -0,0 +1,81 @@ +-------------------------------------------------------------------------------- +Profile data file '/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/evidence/mixed-nil-instructions/current-scalar.callgrind' (creator: callgrind-3.26.0) +-------------------------------------------------------------------------------- +I1 cache: +D1 cache: +LL cache: +Timerange: Basic block 0 - 15715390 +Trigger: Program termination +Profiled target: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile scalar (PID 502838, part 1) +Events recorded: Ir +Events shown: Ir +Event sort order: Ir +Thresholds: 95 +Include dirs: +User annotated: +Auto-annotation: off + +-------------------------------------------------------------------------------- +Ir +-------------------------------------------------------------------------------- +50,340,299 (100.0%) PROGRAM TOTALS + +-------------------------------------------------------------------------------- +Ir file:function +-------------------------------------------------------------------------------- +4,517,225 ( 8.97%) ???:0x00000000000b20e0 [/usr/lib/x86_64-linux-gnu/libc.so.6] +3,421,525 ( 6.80%) ???:0x00000000000b2400 [/usr/lib/x86_64-linux-gnu/libc.so.6] +2,950,000 ( 5.86%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs: as core::hash::Hasher>::write [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +2,239,000 ( 4.45%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs:quick_xml::escape::_escape::::{closure#0}, &str> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +2,185,275 ( 4.34%) ???:0x0000000000197a00 [/usr/lib/x86_64-linux-gnu/libc.so.6] +2,126,300 ( 4.22%) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/writer.rs:>>::write_event:: [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +2,052,550 ( 4.08%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs:::write_model::<&mut alloc::vec::Vec> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +1,755,950 ( 3.49%) ???:realloc [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,689,000 ( 3.36%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs:quick_xml::escape::_escape::::{closure#0}, &str> +1,600,000 ( 3.18%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs:::hash_one::<&str> +1,554,400 ( 3.09%) ???:0x00000000001972a0 [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,496,250 ( 2.97%) ???:0x00000000000b4180 [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,275,925 ( 2.53%) ???:free [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,200,000 ( 2.38%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs:::hash_one::<&str> +1,100,000 ( 2.19%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] +1,088,625 ( 2.16%) ???:malloc [/usr/lib/x86_64-linux-gnu/libc.so.6] +1,051,100 ( 2.09%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs:core::str::converts::from_utf8 + 941,750 ( 1.87%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 900,050 ( 1.79%) /rust/deps/hashbrown-0.17.1/src/raw.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 800,000 ( 1.59%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:::hash_one::<&str> + 750,000 ( 1.49%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 650,700 ( 1.29%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs:>>::write_event:: + 650,000 ( 1.29%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs:::format_scalar_to [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 628,750 ( 1.25%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:>::reserve::do_reserve_and_handle:: [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 601,425 ( 1.19%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:>>::write_event:: + 575,000 ( 1.14%) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs:::validate_scalar [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 550,000 ( 1.09%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/mod.rs:::hash_one::<&str> [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 500,000 ( 0.99%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 475,400 ( 0.94%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:>>::write_event:: + 450,250 ( 0.89%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::write_model::<&mut alloc::vec::Vec> + 427,550 ( 0.85%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs:::finish_grow [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 385,050 ( 0.76%) ???:0x00000000000b2300 [/usr/lib/x86_64-linux-gnu/libc.so.6] + 375,000 ( 0.74%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 352,100 ( 0.70%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs:__rustc::__rdl_realloc + 350,350 ( 0.70%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/converts.rs:core::str::converts::from_utf8 [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 350,000 ( 0.70%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/traits.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 350,000 ( 0.70%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/hash/random.rs:::hash_one::<&str> + 300,200 ( 0.60%) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 300,000 ( 0.60%) /rust/deps/hashbrown-0.17.1/src/map.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 300,000 ( 0.60%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs:quick_xml::escape::_escape::::{closure#0}, &str> + 275,225 ( 0.55%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs:>>::write_event:: + 250,050 ( 0.50%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 226,350 ( 0.45%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:::finish_grow + 225,150 ( 0.45%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/convert/mod.rs:>>::write_event:: + 201,200 ( 0.40%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/alloc.rs:__rustc::__rdl_realloc [/home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile] + 200,200 ( 0.40%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs:__rustc::__rdl_alloc + 150,125 ( 0.30%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs:>>::write_event:: + 150,075 ( 0.30%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.30%) /rust/deps/hashbrown-0.17.1/src/control/tag.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.30%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs:::write_model::<&mut alloc::vec::Vec>::{closure#5} + 150,000 ( 0.30%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs: as core::hash::Hasher>::write + 150,000 ( 0.30%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs: as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> + 125,750 ( 0.25%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/alloc.rs:::finish_grow + 125,750 ( 0.25%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs:>::reserve::do_reserve_and_handle:: + 125,750 ( 0.25%) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs:::finish_grow + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-scalar-valgrind.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-scalar-valgrind.txt new file mode 100644 index 0000000..d32b52e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-scalar-valgrind.txt @@ -0,0 +1,12 @@ +==502838== Callgrind, a call-graph generating cache profiler +==502838== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. +==502838== Using Valgrind-3.26.0 and LibVEX; rerun with -h for copyright info +==502838== Command: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile scalar +==502838== Parent PID: 502780 +==502838== +==502838== For interactive control, run 'callgrind_control -h'. +==502838== +==502838== Events : Ir +==502838== Collected : 50340299 +==502838== +==502838== I refs: 50,340,299 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-scalar.callgrind b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-scalar.callgrind new file mode 100644 index 0000000..5abfd5e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-instructions/current-scalar.callgrind @@ -0,0 +1,1500 @@ +# callgrind format +version: 1 +creator: callgrind-3.26.0 +pid: 502838 +cmd: /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile scalar +part: 1 + + +desc: I1 cache: +desc: D1 cache: +desc: LL cache: + +desc: Timerange: Basic block 0 - 15715390 +desc: Trigger: Program termination + +positions: line +events: Ir +summary: 50340299 + + +ob=(2) /usr/lib/x86_64-linux-gnu/libc.so.6 +fl=(2) ??? +fn=(4512) 0x00000000000b20e0 +0 4291275 +cfn=(4958) 0x00000000000b0f70 +calls=8674 0 +0 1800 +0 225950 + +fn=(4492) 0x0000000000197a00 +0 2185275 + +fn=(4884) free +0 270300 +cfn=(4512) +calls=41226 0 +0 2253625 +0 1005625 + +fn=(5560) 0x00000000001972a0 +0 1554400 + +fn=(4132) (below main) +cfn=(4166) 0x000000000002a580 +calls=1 0 +0 50340299 + +fn=(4464) 0x00000000000b4180 +0 974450 +cfn=(4236) 0x00000000000b2400 +calls=26213 0 +0 1682375 +0 159150 +cfn=(4506) 0x00000000000b2300 +calls=126 0 +0 10900 +0 1150 +cfn=(4958) +calls=125 0 +0 2200 +0 181100 +cob=(3) ??? +cfi=(3) ??? +cfn=(4490) 0x0000000004bd56a0 +calls=26213 0 +0 499125 +0 135300 +cfn=(4506) +calls=26213 0 +0 2639550 +0 45100 + +fn=(4236) +0 3419950 +cfn=(4958) +calls=1160 0 +0 2025 +0 1575 + +fn=(4462) realloc +0 1506800 +cfn=(4464) +calls=26348 0 +0 6330400 +0 249150 + +fn=(4230) malloc +0 360400 +cfn=(4236) +calls=40651 0 +0 1741175 +0 728225 + +fn=(4506) +0 271800 +cfn=(4512) +calls=26339 0 +0 2265400 +0 113250 + +fn=(4166) +cob=(6) /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/target/release/mixed-profile +cfi=(6) ??? +cfn=(4180) main +calls=1 0 +0 50340299 + +fn=(4958) +0 6025 + +ob=(3) +fl=(3) +fn=(4490) +0 45100 +cob=(2) +cfi=(2) +cfn=(4492) +calls=26261 0 +0 454025 + +ob=(1) /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 +fl=(1) ??? +fn=(0) 0x0000000000023340 +cob=(6) +cfi=(6) +cfn=(4130) (below main) +calls=1 0 +0 50340299 + +ob=(6) +fl=(135) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/schema.rs +fn=(8160) ::matches_variant +182 200 +fi=(14) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/non_null.rs +454 25 +fi=(13) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/sync/atomic.rs +3994 25 +fi=(138) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/sync/rwlock/futex.rs +54 50 ++45 25 +fi=(13) +4149 25 +fi=(138) +97 25 +fi=(13) +3994 25 +fi=(33) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/vec/mod.rs +1865 25 +fi=(14) +1663 50 +fi=(79) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter/macros.rs +180 25 +0 75 +fi=(13) +4049 25 +fi=(138) +111 25 ++7 100 +fe=(135) ++73 225 + +fn=(8142) ::variants +143 350 +fi=(14) +454 50 +fi=(136) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/sync.rs +2454 50 +fi=(13) +3994 50 +fi=(138) +54 100 ++45 50 +fi=(13) +4149 50 +fi=(138) +97 50 +fi=(13) +3994 50 +fi=(33) +1865 50 +fi=(10) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/uint_macros.rs +3212 350 +fi=(67) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/intrinsics/mod.rs +478 100 +fi=(32) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/raw_vec/mod.rs +-17 100 +fi=(131) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/adapters/take.rs +0 50 +fi=(36) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/slice.rs +440 200 +fi=(13) +4049 50 +fi=(138) +111 50 ++7 200 +fe=(135) ++30 450 + +fl=(73) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/sip.rs +fn=(5366) as core::hash::Hasher>::write +256 100000 ++2 100000 ++4 300000 ++1 100000 +fi=(19) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/cmp.rs +1090 150000 +fe=(73) +126 100000 +0 200000 +132 150000 ++5 100000 ++2 250000 +265 200000 ++1 100000 ++1 50000 +0 50000 +300 100000 +-22 50000 ++1 150000 ++3 100000 +126 100000 +fi=(18) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mod.rs +573 100000 +fe=(73) +132 200000 ++5 100000 ++2 150000 +298 25000 +0 25000 +300 50000 +-2 25000 +0 25000 +300 50000 + +fl=(6) +fn=(4130) +cob=(2) +cfi=(2) +cfn=(4132) +calls=1 0 +0 50340299 + +fn=(5106) __rustc::__rust_no_alloc_shim_is_unstable_v2 +0 25025 + +fn=(5488) __rustc::__rust_realloc +0 25150 +cfi=(24) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/alloc.rs +cfn=(5490) __rustc::__rdl_realloc +calls=29260 484 +0 8639650 + +fn=(4180) +cfi=(8) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/rt.rs +cfn=(4182) std::rt::lang_start_internal +calls=1 152 +0 50340299 + +fn=(5190) __rustc::__rust_dealloc +0 25025 +cfi=(25) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/alloc/unix.rs +cfn=(5192) __rustc::__rdl_dealloc +calls=46750 65 +0 3554575 + +fn=(5108) __rustc::__rust_alloc +0 25025 +cfi=(24) +cfn=(5110) __rustc::__rdl_alloc +calls=46752 467 +0 3055025 + +fl=(72) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hash/mod.rs +fn=(5548) ::hash_one::<&str> +694 100000 ++5 50000 +fi=(73) +203 100000 +fi=(46) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/hash/random.rs +84 50000 +fi=(73) +204 100000 +fi=(46) +84 300000 +fi=(73) +306 100000 +cfn=(5366) +calls=59044 -50 +* 1500000 +fe=(72) ++57 250000 +cfi=(73) +cfn=(5366) +calls=59044 256 +* 1700000 +fi=(73) +-49 150000 +-2 100000 ++4 100000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(10) +2652 50000 +fi=(73) +78 50000 +fi=(67) +2215 50000 +fi=(73) +79 50000 +fi=(67) +2215 50000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(73) +79 50000 +fi=(67) +2215 100000 +fi=(73) +78 50000 +318 50000 ++2 50000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 100000 +fi=(73) +79 50000 +fi=(10) +2652 50000 +fi=(67) +2215 50000 +fi=(10) +2652 50000 +fi=(73) +79 50000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 50000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 100000 +fi=(73) +79 50000 +fi=(10) +2652 50000 +fi=(67) +2215 50000 +fi=(10) +2652 50000 +fi=(73) +79 50000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 50000 +fi=(10) +2652 100000 +fi=(67) +2215 50000 +fi=(73) +78 50000 +fi=(67) +2215 50000 +fi=(73) +79 50000 +fi=(10) +2652 50000 +fi=(67) +2215 200000 +fi=(73) +323 150000 +fe=(72) +702 150000 + +fl=(146) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/writer.rs +fn=(8178) >>::write_event:: +262 600400 +fi=(120) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/convert/mod.rs +792 225150 +fe=(146) +264 225150 ++1 100100 ++53 25025 +0 25025 +318 25025 +-31 75000 ++26 25000 +fi=(32) +616 25000 +fi=(33) +1461 25000 +fi=(10) +2689 25000 +fi=(32) +764 25000 +-94 25000 +fi=(33) +2981 49850 +0 25000 +fi=(20) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/mut_ptr.rs +970 25000 +fi=(18) +573 75000 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29000 0 +* 275500 +fi=(33) +2986 50000 +fe=(146) +0 175000 +cfi=(6) +cfn=(5190) +calls=29000 0 +0 3575000 +0 50000 +272 100100 +fi=(40) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/option.rs +765 50050 +fi=(33) +1461 25025 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(32) +616 25025 +fi=(10) +2689 50050 +fi=(32) +764 25025 +-94 25025 +fi=(33) +2981 50050 +0 25025 +fi=(20) +970 50050 +fi=(18) +573 50050 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29029 0 +* 375375 +fi=(32) ++43 25025 +fi=(33) +2986 50050 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(40) +765 75075 +fi=(18) ++82 100100 +fe=(146) +0 25025 +fi=(32) +616 25025 +fi=(33) +1461 25025 +fi=(10) +2689 25025 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(32) +616 25025 +fi=(10) +2689 50050 +fi=(32) +764 25025 +-94 25025 +fi=(33) +2981 50050 +0 25025 +fi=(20) +970 50050 +fi=(18) +573 50050 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29029 0 +* 375375 +fi=(32) ++43 25025 +fi=(33) +2986 50050 +fi=(32) +764 25025 +-94 25025 +-59 25025 +fi=(18) +-38 25025 +fi=(33) +2986 50050 +fi=(18) +847 100100 +fi=(40) +-82 150100 +fe=(146) +308 675450 +fi=(32) +672 450 +cfn=(5322) >::reserve::do_reserve_and_handle:: +calls=87 -14 +* 240100 +fi=(33) +3101 75 +2981 75 +fi=(32) +672 300 +cfn=(5322) +calls=58 -14 +* 31575 +fi=(33) +3101 100 +0 25 +fi=(32) +672 150 +cfn=(5322) +calls=29 -14 +* 9525 +fi=(33) +3101 75 +fe=(146) + +fl=(29) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/std/src/sys/backtrace.rs +fn=(5144) std::sys::backtrace::__rust_begin_short_backtrace:: +fi=(123) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ops/function.rs +cfi=(30) /home/bailey/github/PolyXML/benchmarks/rust-runtime-investigation/target/mixed-profile-current/src/main.rs +cfn=(5146) mixed_profile::main +calls=1 98 +250 50340299 +fe=(29) + +fl=(8) +fn=(5142) std::rt::lang_start::<()>::{closure#0} +cfi=(29) +cfn=(5144) +calls=1 162 +206 50340299 + +fn=(4182) +fi=(123) +cfn=(5142) +calls=1 206 +287 50340299 +fe=(8) + +fl=(37) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/converts.rs +fn=(5178) core::str::converts::from_utf8 +89 125125 +fi=(38) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/validations.rs ++44 75075 ++12 50050 +0 175175 +145 200 ++19 25100 ++1 50200 +fi=(10) +2689 50200 +3875 25100 +fi=(38) +222 25100 ++23 200 +-21 50000 ++17 50000 +0 25000 +241 200000 ++1 100000 +-1 225000 +fe=(37) +94 100100 +-94 25025 +98 100100 + +fl=(24) +fn=(5110) +467 25025 +fi=(25) +30 150150 ++1 50050 +cob=(2) +cfi=(2) +cfn=(4230) +calls=46752 -31 +* 2829800 +fe=(24) + +fn=(5490) +484 201200 +fi=(25) +70 150900 ++1 201200 +cob=(2) +cfi=(2) +cfn=(4462) +calls=29260 -71 +* 8086350 +fe=(24) + +fl=(32) +fn=(5312) ::finish_grow +544 201200 +fi=(10) +3212 201200 +fi=(67) +478 75450 +0 25150 +fe=(32) +631 25150 +fi=(10) +1401 25150 +fi=(23) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/alloc.rs +228 125750 +cfi=(6) +cfn=(5488) +calls=29229 0 +* 8664800 +fi=(26) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/result.rs +965 50300 ++1 75450 +fe=(32) +0 50300 +564 150900 + +fn=(5322) +658 100600 +512 50300 +fi=(10) +938 25150 +fi=(67) +478 25150 +0 25150 +fe=(32) +523 50300 +fi=(19) +1051 50300 +fe=(32) +159 176050 +fi=(19) +1051 75450 +fe=(32) +529 100600 +cfn=(5312) +calls=29205 +15 +* 9670800 +fi=(26) +2177 50300 ++1 25150 +fe=(32) +773 25150 ++1 25150 +668 100600 + +fl=(30) +fn=(5146) +cfn=(8440) measured_region +calls=1 95 +103 50340299 + +fn=(8440) +95 7 +fi=(19) +2144 1 +fi=(34) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/iter/range.rs +1100 1 +0 7 +fi=(19) +2144 25 +fi=(34) +1100 25 +fi=(118) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/hint.rs +491 100 +fe=(30) +96 175 +cfi=(82) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/lib.rs +cfn=(8118) polyxml::serialize +calls=25 -56 +* 50335025 +fi=(26) +1230 50 ++1 100 +fi=(32) +425 25 +631 50 +425 25 +fi=(23) +175 50 +cfi=(6) +cfn=(5190) +calls=25 0 +* 4600 +* 25 +fe=(30) +-78 8 + +fl=(25) +fn=(5192) +65 25025 +cob=(2) +cfi=(2) +cfn=(4884) +calls=46750 -65 +* 3529550 + +fl=(93) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/escape.rs +fn=(8226) quick_xml::escape::_escape::::{closure#0}, &str> +201 250000 ++3 25000 +fi=(14) +1663 25000 +fi=(79) +180 25000 +0 125000 +180 125000 +0 150000 +fi=(14) +1663 594500 +fi=(79) +385 297250 +fi=(14) +1663 297250 +fi=(79) +180 297250 +379 644500 +fe=(93) +109 322250 +0 366750 +fi=(40) +634 50000 +fe=(93) +208 25000 +fi=(64) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/traits.rs +-79 50000 ++4 50000 ++12 50000 +0 25000 +fe=(93) +214 50000 +fi=(64) +-68 25000 +0 25000 +fi=(18) +1755 25000 +fi=(63) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/mod.rs +1229 25000 +fi=(64) +262 25000 +fi=(10) +2689 25000 +fi=(32) +764 25000 +-94 25000 +fi=(33) +2981 50000 +0 25000 +fi=(50) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/ptr/const_ptr.rs +871 25000 +fi=(20) ++99 25000 +fi=(18) +573 50000 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29000 0 +* 330000 +fi=(33) +2986 50000 +fe=(93) +181 50000 +0 25000 +181 125000 +0 25000 +181 75000 +fi=(33) +0 50000 +fi=(67) +478 25000 +fi=(32) +0 25000 +cfi=(6) +cfn=(5106) +calls=29000 0 +0 25000 +0 25000 +fi=(23) +130 75000 +cfi=(6) +cfn=(5108) +calls=29000 0 +* 3070000 +fi=(32) +470 50000 +fe=(93) +209 175000 ++5 50000 +fi=(64) +-85 25000 +fi=(32) +616 25000 +764 75000 +-94 25000 +-59 25000 +fi=(18) +-38 75000 +0 75000 +fi=(33) +2986 25000 +fe=(93) +0 50000 +fi=(33) +2986 25000 +fi=(50) +733 50000 +fi=(14) +1663 25000 +fi=(79) +180 25000 +fe=(93) ++38 225000 +fi=(65) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/str/mod.rs +380 50000 ++4 50000 +fi=(63) +1229 25000 +fi=(64) +493 25000 +221 50000 +fi=(32) +616 25000 +fi=(33) +1461 25000 +fi=(10) +2689 25000 +fi=(32) +764 25000 +-94 25000 +fe=(93) +0 50000 +fi=(20) +970 25000 +fi=(18) +573 75000 +cob=(2) +cfi=(2) +cfn=(4492) +calls=29000 0 +* 375000 +fi=(33) +2986 50000 +fe=(93) +223 100000 ++4 225000 +0 25000 +fi=(32) +672 125000 +cfn=(5322) +calls=29000 -14 +* 10295000 +fi=(33) +3101 25000 +2981 50000 +fe=(93) + +fl=(79) +fn=(8210) as core::iter::traits::iterator::Iterator>::find::<::write_model<&mut alloc::vec::Vec>::{closure#7}> +338 225000 +fi=(14) +1663 25000 +fe=(79) +180 25000 +0 150000 +fi=(49) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/cmp.rs +21 50000 +fi=(32) +611 25000 +fi=(49) +157 75000 +cob=(2) +cfi=(2) +cfn=(5560) +calls=29000 0 +* 492600 +* 25000 +fe=(79) +344 25000 +0 25000 +344 25000 +185 75000 +349 200000 + +fl=(82) +fn=(8118) +40 50 +fi=(145) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/serializer.rs +180 125 +cfn=(8120) ::serialize_with_options +calls=29 +3 +* 50334750 +* 25 +fe=(82) +47 75 + +fl=(145) +fn=(8196) ::write_model::<&mut alloc::vec::Vec>::{closure#5} +527 450000 ++1 250000 +fi=(71) /rust/deps/hashbrown-0.17.1/src/raw.rs +1337 50000 +fi=(70) /rust/deps/hashbrown-0.17.1/src/map.rs +-53 50000 +0 50000 +1287 100000 +241 100000 +cfi=(72) +cfn=(5548) +calls=58000 694 +* 7700000 +fi=(88) /rust/deps/hashbrown-0.17.1/src/control/tag.rs +47 150000 +fi=(71) +2452 400000 +0 50000 +fi=(18) +573 50000 +fi=(75) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/../../stdarch/crates/core_arch/src/x86/sse2.rs +1569 150000 +fi=(84) /rust/deps/hashbrown-0.17.1/src/control/bitmask.rs +40 100000 +-40 200000 +fi=(76) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/num/nonzero.rs +628 50000 +fi=(71) +2032 100000 +fi=(20) +1054 150000 +fi=(49) +21 100000 +fi=(76) +628 25 +fi=(71) +2032 50 +fi=(20) +1054 75 +fi=(49) +21 50 +fi=(71) +1202 150000 +fi=(49) +157 100000 +cob=(2) +cfi=(2) +cfn=(5560) +calls=58000 0 +* 1061800 +* 50000 +fi=(67) +455 50000 +fi=(76) ++31 25 +fi=(84) +40 200 +fi=(71) +1217 150000 +fe=(145) +538 400000 + +fn=(8216) ::format_scalar_to +216 200000 ++4 100000 +0 25000 +220 75000 +fi=(32) +611 50000 +fe=(145) +0 50000 +234 200000 + +fn=(8120) +183 350 +cfi=(6) +cfn=(5106) +calls=29 0 +* 25 +fi=(23) +-53 75 +cfi=(6) +cfn=(5108) +calls=29 0 +* 10050 +fi=(32) +470 50 +fi=(33) +969 75 +fe=(145) +192 50 +fi=(40) +0 25 +743 25 +0 25 +fi=(146) +124 75 +fe=(145) ++73 50 +0 50 +199 75 +cfn=(8130) ::build +calls=29 22 +* 7625 +fi=(40) +743 75 +0 25 +743 75 +0 50 +fe=(145) +202 225 +cfn=(8158) ::write_model::<&mut alloc::vec::Vec> +calls=29 302 +* 50315100 +* 25 +fi=(26) +2177 50 +fe=(145) +212 150 +fi=(18) +847 125 +fe=(145) +0 25 +213 200 + +fn=(8220) ::validate_scalar +285 100000 ++10 25000 +-9 75000 ++9 100000 +-9 175000 ++13 25000 ++1 75000 + +fn=(8130) +22 250 +fi=(33) +462 100 +fe=(145) +27 50 +cfn=(8132) ::collect_namespaces +calls=29 +60 +* 6775 +fi=(33) +3126 25 +fe=(145) +29 25 +fi=(40) +709 50 +fe=(145) +0 25 +30 25 +fi=(32) +425 50 +631 25 +fe=(145) +85 225 + +fn=(8158) +302 250 ++9 125 +0 50 +324 75 +0 25 +fi=(14) +454 25 +fi=(136) +2454 75 +fe=(145) +325 75 +cfi=(135) +cfn=(8160) +calls=29 182 +* 950 +* 50 +fi=(79) +0 75 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 575 +fi=(40) +634 50 +fe=(145) +353 50 +0 25 +251 350 ++2 50 +-2 75 +353 50 +fi=(26) +0 50 +fi=(14) +1663 25 +fi=(79) +180 25 +0 25 +fi=(40) +634 50 +fe=(145) +361 25 +fi=(23) +0 75 +fe=(145) +409 25 +cfi=(37) +cfn=(5178) +calls=29 89 +* 1750 +fi=(26) +0 50 +2177 50 +fi=(82) +0 25 +fe=(145) +410 50 ++3 75 +fi=(95) /home/bailey/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quick-xml-0.42.0/src/events/mod.rs +124 100 +0 25 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 500 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(145) +434 125 ++33 50 ++21 200 +cfi=(146) +cfn=(8178) +calls=29 262 +* 2050 +* 25 +0 25 +fi=(26) +965 50 +fi=(82) +0 25 +fe=(145) +492 50 ++30 50 +fi=(33) +1865 25 +fe=(145) +524 25 +fi=(45) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/index.rs +238 50 +fi=(32) +611 25 +fi=(45) +238 50 +fi=(32) +611 25 +fi=(33) +1865 50 +fe=(145) +524 25 +cfn=(8192) ::write_model::<&mut alloc::vec::Vec>::{closure#0} +calls=29 344 +* 675 +* 25 +-1 75 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 100 +fe=(145) +539 100 +cfn=(8196) +calls=29 -12 +* 5975 +fi=(79) +0 24975 +fe=(145) +539 99900 +cfn=(8196) +calls=28971 -12 +* 5980825 +fi=(40) +1541 50000 +fi=(144) /home/bailey/github/polyxml-mixed-nil/crates/polyxml-core/src/value.rs +63 25000 +fe=(145) +539 25000 +fi=(144) +63 50000 +fe=(145) +539 50000 ++5 100000 +cfn=(8196) +calls=29000 -17 +* 6225425 +* 50000 +0 25000 +fi=(49) +21 50000 +fe=(145) +-21 75000 +fi=(20) +970 25000 +fi=(32) +611 25000 +fi=(20) +970 25000 +fi=(153) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/core/src/slice/iter.rs +102 75000 +fe=(145) +563 100000 +cfi=(79) +cfn=(8210) +calls=29000 338 +* 1442600 +-3 50000 +0 25000 +fi=(32) +611 25000 +fi=(33) +1865 25000 +fe=(145) +569 50000 +cfi=(37) +cfn=(5178) +calls=29000 89 +* 1475000 +fi=(26) +0 50000 +2177 50000 +0 100000 +fe=(145) +410 25000 +570 25000 ++6 75000 +-6 25000 ++8 175000 +fi=(40) +0 25000 +fe=(145) +580 100000 ++1 100000 +cfn=(8216) +calls=29000 216 +* 700000 +* 100000 +0 50000 +581 50000 ++9 175000 +cfn=(8220) +calls=29000 285 +* 575000 +fi=(26) +2177 50000 +fi=(85) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/borrow.rs +350 50000 +fe=(145) +592 200000 +cfi=(146) +cfn=(8178) +calls=29000 262 +* 2059775 +fi=(26) +965 50000 +fi=(93) +108 100000 +cfn=(8226) +calls=29000 +93 +* 20964750 +fi=(95) +564 125000 +fe=(145) ++31 100000 +cfi=(146) +cfn=(8178) +calls=29000 262 +* 5391050 +fi=(26) +965 50000 +fe=(145) +598 175000 +cfi=(146) +cfn=(8178) +calls=29000 262 +* 2056975 +fi=(26) +965 50000 +0 50000 +fi=(18) +847 50000 +fe=(145) +622 25000 +fi=(18) +847 50000 +fi=(23) +0 50000 +fi=(14) +1663 50000 +fi=(79) +180 25025 +fi=(85) +350 50 +fe=(145) +766 175 +cfi=(146) +cfn=(8178) +calls=29 262 +* 2025 +fi=(26) +965 50 +fe=(145) +770 200 +0 25 +769 25 ++1 25 +fi=(18) ++77 50 +fi=(23) +0 25 +fi=(18) +847 75 +fe=(145) + +fn=(8192) +344 175 ++1 75 +fi=(45) +184 50 +fe=(145) +346 25 +fi=(45) +186 75 +fi=(40) +743 25 +0 50 +fe=(145) +350 200 + +fn=(8132) +87 225 ++1 100 +fi=(33) +-88 25 +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 150 +180 25 +fe=(145) +0 25 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(145) +-86 50 ++5 225 +fi=(27) /rustc/b940084d7eb6a299eb4bfeb8e34901bc051e7ac4/library/alloc/src/boxed.rs +2415 25 +fe=(145) +102 75 +0 25 +109 50 +0 25 +fi=(33) +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 275 +fi=(14) +1663 125 +fi=(79) +180 125 +fe=(145) +-69 250 ++5 375 +fi=(14) +454 25 +fi=(136) +2454 50 +fe=(145) +117 25 +cfn=(8133) ::collect_namespaces'2 +calls=29 -30 +* 2625 +* 25 +0 50 +125 25 +cfi=(135) +cfn=(8142) +calls=29 +18 +* 1200 +fi=(33) +3101 25 ++25 50 +fe=(145) +126 25 +fi=(32) +425 50 +631 25 +fe=(145) +134 200 + +fn=(8133) +87 225 ++1 100 +fi=(33) +-88 25 +1865 25 +fi=(14) +1663 25 +fi=(79) +180 25 +0 150 +180 25 +fe=(145) +0 25 +fi=(14) +1663 25 +fi=(79) +180 25 +fe=(145) +-86 50 ++5 175 +-99 25 +109 50 +0 50 +125 25 +cfi=(135) +cfn=(8142) +calls=29 +18 +* 1200 +fi=(33) +3101 25 ++25 50 +fe=(145) +126 25 +fi=(32) +425 50 +631 25 +fe=(145) +134 200 + +totals: 50340299 diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline-0.txt new file mode 100644 index 0000000..792692b --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline-0.txt @@ -0,0 +1,93 @@ +memcap: <=7728 MiB (60% of 12880 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 1.0000 s +Benchmarking mixed_read/text/1000: Collecting 50 samples in estimated 2.0182 s (2800 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [716.46 µs 720.10 µs 724.23 µs] + thrpt: [38.060 MiB/s 38.278 MiB/s 38.472 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 3 (6.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 50 samples in estimated 2.0165 s (5100 iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [391.70 µs 396.29 µs 401.43 µs] + thrpt: [99.549 MiB/s 100.84 MiB/s 102.02 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 3 (6.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_read/enum/1000: Collecting 50 samples in estimated 2.0086 s (6200 iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [320.82 µs 322.58 µs 324.73 µs] + thrpt: [58.775 MiB/s 59.167 MiB/s 59.491 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 50 samples in estimated 2.0036 s (4900 iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [404.01 µs 408.17 µs 413.51 µs] + thrpt: [43.850 MiB/s 44.423 MiB/s 44.881 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_read/nested/1000: Collecting 50 samples in estimated 2.0104 s (3200 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [625.21 µs 630.25 µs 636.19 µs] + thrpt: [56.818 MiB/s 57.354 MiB/s 57.816 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0044 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [145.41 µs 146.06 µs 146.80 µs] + thrpt: [187.76 MiB/s 188.72 MiB/s 189.56 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0001 s (18k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [111.10 µs 111.87 µs 112.82 µs] + thrpt: [354.20 MiB/s 357.23 MiB/s 359.70 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 2 (4.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0040 s (25k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [79.632 µs 80.086 µs 80.639 µs] + thrpt: [236.68 MiB/s 238.32 MiB/s 239.68 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0008 s (13k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.18 µs 144.94 µs 145.90 µs] + thrpt: [124.28 MiB/s 125.10 MiB/s 125.76 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0046 s (20k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [98.154 µs 98.777 µs 99.555 µs] + thrpt: [363.09 MiB/s 365.95 MiB/s 368.27 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline-1.txt new file mode 100644 index 0000000..756f2a8 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline-1.txt @@ -0,0 +1,93 @@ +memcap: <=7777 MiB (60% of 12962 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 1.0000 s +Benchmarking mixed_read/text/1000: Collecting 50 samples in estimated 2.0155 s (2550 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [772.06 µs 776.52 µs 782.03 µs] + thrpt: [35.247 MiB/s 35.497 MiB/s 35.702 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 50 samples in estimated 2.0132 s (5150 iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [388.13 µs 390.17 µs 392.82 µs] + thrpt: [101.73 MiB/s 102.42 MiB/s 102.96 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_read/enum/1000: Collecting 50 samples in estimated 2.0099 s (6150 iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [321.68 µs 323.86 µs 326.44 µs] + thrpt: [58.467 MiB/s 58.932 MiB/s 59.333 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 4 (8.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 50 samples in estimated 2.0059 s (4950 iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [403.13 µs 408.99 µs 416.92 µs] + thrpt: [43.491 MiB/s 44.334 MiB/s 44.979 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_read/nested/1000: Collecting 50 samples in estimated 2.0103 s (3200 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [621.71 µs 625.20 µs 629.27 µs] + thrpt: [57.443 MiB/s 57.817 MiB/s 58.142 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0039 s (13k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [144.59 µs 145.48 µs 146.53 µs] + thrpt: [188.11 MiB/s 189.47 MiB/s 190.64 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0035 s (18k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [110.47 µs 111.43 µs 112.59 µs] + thrpt: [354.93 MiB/s 358.63 MiB/s 361.74 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0039 s (25k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [79.530 µs 79.922 µs 80.411 µs] + thrpt: [237.35 MiB/s 238.81 MiB/s 239.98 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 1 (2.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0035 s (14k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.17 µs 145.84 µs 147.91 µs] + thrpt: [122.59 MiB/s 124.33 MiB/s 125.77 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 2 (4.00%) high mild + 5 (10.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0027 s (20k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [97.647 µs 98.011 µs 98.443 µs] + thrpt: [367.19 MiB/s 368.81 MiB/s 370.18 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline-build.txt new file mode 100644 index 0000000..121796e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7776 MiB (60% of 12961 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-nil/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.87s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/criterion-SHA256SUMS new file mode 100644 index 0000000..792e23a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/criterion-SHA256SUMS @@ -0,0 +1,320 @@ +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-0/mixed_read/enum/1000/base/benchmark.json +01e55a46ae77a0249ec0071b2f9573232a0a3a04bb7b9ca33ffbdbc1028a2862 baseline-0/mixed_read/enum/1000/base/estimates.json +61cf9b7c6679269bb0d39140a9bdda906c126fc66a3f0de820188345ac011039 baseline-0/mixed_read/enum/1000/base/sample.json +2cbe56dffc458bea7d55597e2d77e9d160cd84e2308006f32365239da4c59496 baseline-0/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-0/mixed_read/enum/1000/new/benchmark.json +01e55a46ae77a0249ec0071b2f9573232a0a3a04bb7b9ca33ffbdbc1028a2862 baseline-0/mixed_read/enum/1000/new/estimates.json +61cf9b7c6679269bb0d39140a9bdda906c126fc66a3f0de820188345ac011039 baseline-0/mixed_read/enum/1000/new/sample.json +2cbe56dffc458bea7d55597e2d77e9d160cd84e2308006f32365239da4c59496 baseline-0/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-0/mixed_read/nested/1000/base/benchmark.json +538fddfb8d01ae6ffe4dce4c78d51d467e9dbfc98686c9de6d2b7b5e86344862 baseline-0/mixed_read/nested/1000/base/estimates.json +6afa75dabbc9fa43cd439fbe1acacbfae4f7edb7615249a2c80d099b88371b34 baseline-0/mixed_read/nested/1000/base/sample.json +b3660d111080ba50400d84e943814424f07bc7967181b906adb610ee3379a9e3 baseline-0/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-0/mixed_read/nested/1000/new/benchmark.json +538fddfb8d01ae6ffe4dce4c78d51d467e9dbfc98686c9de6d2b7b5e86344862 baseline-0/mixed_read/nested/1000/new/estimates.json +6afa75dabbc9fa43cd439fbe1acacbfae4f7edb7615249a2c80d099b88371b34 baseline-0/mixed_read/nested/1000/new/sample.json +b3660d111080ba50400d84e943814424f07bc7967181b906adb610ee3379a9e3 baseline-0/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-0/mixed_read/pattern/1000/base/benchmark.json +d71a751744d8d72255c207c9b31e4bc4e1373357511d18581464e1f63bdddf29 baseline-0/mixed_read/pattern/1000/base/estimates.json +eb0776535fd4b69ddee16b4ce6c2b54a2b45f8f9bbd12d7caa1236ec986b1be1 baseline-0/mixed_read/pattern/1000/base/sample.json +6a6812f82f82f3cabfc94be83ecb06bb8003f6b7b314c2fb361a73d534da86b9 baseline-0/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-0/mixed_read/pattern/1000/new/benchmark.json +d71a751744d8d72255c207c9b31e4bc4e1373357511d18581464e1f63bdddf29 baseline-0/mixed_read/pattern/1000/new/estimates.json +eb0776535fd4b69ddee16b4ce6c2b54a2b45f8f9bbd12d7caa1236ec986b1be1 baseline-0/mixed_read/pattern/1000/new/sample.json +6a6812f82f82f3cabfc94be83ecb06bb8003f6b7b314c2fb361a73d534da86b9 baseline-0/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-0/mixed_read/scalar/1000/base/benchmark.json +9d076c3387ffc808f5a9f08e63c5cba9ec1ea2af5cd124462675a54973bb56dd baseline-0/mixed_read/scalar/1000/base/estimates.json +ed3b1c7efaa30c7497ee44b75904f9f673f181540bb573727680013d1f03613a baseline-0/mixed_read/scalar/1000/base/sample.json +0b4c90a5d97b0ad51490a24077729ab9cf4a6cd29787deadeb9403bef71e962b baseline-0/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-0/mixed_read/scalar/1000/new/benchmark.json +9d076c3387ffc808f5a9f08e63c5cba9ec1ea2af5cd124462675a54973bb56dd baseline-0/mixed_read/scalar/1000/new/estimates.json +ed3b1c7efaa30c7497ee44b75904f9f673f181540bb573727680013d1f03613a baseline-0/mixed_read/scalar/1000/new/sample.json +0b4c90a5d97b0ad51490a24077729ab9cf4a6cd29787deadeb9403bef71e962b baseline-0/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-0/mixed_read/text/1000/base/benchmark.json +8db825a43a784cda2a2ed9c5721b62b3e0d7d3014aa7d038150eaea2f9169bec baseline-0/mixed_read/text/1000/base/estimates.json +17e4a767c9be1a441d0d450dd96ce6b8aade9050b988d59e3ed075ebb547e12b baseline-0/mixed_read/text/1000/base/sample.json +567cd552dc79272ad00d5ab5067cead4611f098f07f341a405843051b18fb0a1 baseline-0/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-0/mixed_read/text/1000/new/benchmark.json +8db825a43a784cda2a2ed9c5721b62b3e0d7d3014aa7d038150eaea2f9169bec baseline-0/mixed_read/text/1000/new/estimates.json +17e4a767c9be1a441d0d450dd96ce6b8aade9050b988d59e3ed075ebb547e12b baseline-0/mixed_read/text/1000/new/sample.json +567cd552dc79272ad00d5ab5067cead4611f098f07f341a405843051b18fb0a1 baseline-0/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/base/benchmark.json +e6fcbd4c4fa71d8abcbb95106bda3dc6039d549dc2122b891b563bfdc56e92a6 baseline-0/mixed_write/enum/1000/base/estimates.json +d16f487b6eb332cd2be9aa2d1d25a00f4a243b27c14efb0802396c640d7b2cfd baseline-0/mixed_write/enum/1000/base/sample.json +7aa14abacee24e71cb52ea056a85e4404f097dfd84723dfcbc0833ae3f5bd598 baseline-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/new/benchmark.json +e6fcbd4c4fa71d8abcbb95106bda3dc6039d549dc2122b891b563bfdc56e92a6 baseline-0/mixed_write/enum/1000/new/estimates.json +d16f487b6eb332cd2be9aa2d1d25a00f4a243b27c14efb0802396c640d7b2cfd baseline-0/mixed_write/enum/1000/new/sample.json +7aa14abacee24e71cb52ea056a85e4404f097dfd84723dfcbc0833ae3f5bd598 baseline-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/base/benchmark.json +82be5f565083db4ff2974917d78c5826492f7dc0799f8cceaa2e0bd2460b4eb4 baseline-0/mixed_write/nested/1000/base/estimates.json +7f6899f1e475a8a49973a9cb5732a07112b092dbcb79a51b6ed5fd75b4df24e2 baseline-0/mixed_write/nested/1000/base/sample.json +6c07bc9db6141113b5377c144c3c322cfd1d7c46cf2b5437cc75e79a6ef41e78 baseline-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/new/benchmark.json +82be5f565083db4ff2974917d78c5826492f7dc0799f8cceaa2e0bd2460b4eb4 baseline-0/mixed_write/nested/1000/new/estimates.json +7f6899f1e475a8a49973a9cb5732a07112b092dbcb79a51b6ed5fd75b4df24e2 baseline-0/mixed_write/nested/1000/new/sample.json +6c07bc9db6141113b5377c144c3c322cfd1d7c46cf2b5437cc75e79a6ef41e78 baseline-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/base/benchmark.json +b86c82842946ed3b62b56b9e12dea9059bd88cc8aeb29a6c2ea5f152de1f6645 baseline-0/mixed_write/pattern/1000/base/estimates.json +3cf15bc8a4fb1d1745967bafff4d8b2aabeb741c05c0b88a2abe24863b387639 baseline-0/mixed_write/pattern/1000/base/sample.json +496ce67b7de6b4fc42fd43178d88c55462f2c6072d65ea3cbaa6c10082f6a947 baseline-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/new/benchmark.json +b86c82842946ed3b62b56b9e12dea9059bd88cc8aeb29a6c2ea5f152de1f6645 baseline-0/mixed_write/pattern/1000/new/estimates.json +3cf15bc8a4fb1d1745967bafff4d8b2aabeb741c05c0b88a2abe24863b387639 baseline-0/mixed_write/pattern/1000/new/sample.json +496ce67b7de6b4fc42fd43178d88c55462f2c6072d65ea3cbaa6c10082f6a947 baseline-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/base/benchmark.json +eb78e8fe69b5a04ec29e0b0bf7294cc74aa8d0a105a9a10abef2feb2569eef81 baseline-0/mixed_write/scalar/1000/base/estimates.json +b0e541451772e1f22d297fcd9be1dd001f357aea22a3287ca31dc434b3024bca baseline-0/mixed_write/scalar/1000/base/sample.json +4dc9ce38745cc54f3b7408297a882eb1bdff9b80fde044dbf8ec998c41046f5a baseline-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/new/benchmark.json +eb78e8fe69b5a04ec29e0b0bf7294cc74aa8d0a105a9a10abef2feb2569eef81 baseline-0/mixed_write/scalar/1000/new/estimates.json +b0e541451772e1f22d297fcd9be1dd001f357aea22a3287ca31dc434b3024bca baseline-0/mixed_write/scalar/1000/new/sample.json +4dc9ce38745cc54f3b7408297a882eb1bdff9b80fde044dbf8ec998c41046f5a baseline-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/base/benchmark.json +d32dcbed7a6f0dfaee9da011b9da9d95a26fda36437c299f494d2412d624c2f2 baseline-0/mixed_write/text/1000/base/estimates.json +57d6ac97199a9815362f73e624e6bfa7248c1457ffd3b364c9b6181dbbbcd518 baseline-0/mixed_write/text/1000/base/sample.json +a4af71d799c0fa0c2b6fc9f69b460f7afc07f7babab3d6b562a64cf3a470541a baseline-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/new/benchmark.json +d32dcbed7a6f0dfaee9da011b9da9d95a26fda36437c299f494d2412d624c2f2 baseline-0/mixed_write/text/1000/new/estimates.json +57d6ac97199a9815362f73e624e6bfa7248c1457ffd3b364c9b6181dbbbcd518 baseline-0/mixed_write/text/1000/new/sample.json +a4af71d799c0fa0c2b6fc9f69b460f7afc07f7babab3d6b562a64cf3a470541a baseline-0/mixed_write/text/1000/new/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-1/mixed_read/enum/1000/base/benchmark.json +e084e3b99b933dd47788439431e362f031781d809d22a4df866309ed1aa8a0f3 baseline-1/mixed_read/enum/1000/base/estimates.json +4bb0ce230004e88bd8de112a0e14f4a9c1ee7007592af5f2a978ec74a9d9ce1d baseline-1/mixed_read/enum/1000/base/sample.json +86d932a9fbc8913d1526443678c81ec3b03da38a44745ba498a8e22ccb173450 baseline-1/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f baseline-1/mixed_read/enum/1000/new/benchmark.json +e084e3b99b933dd47788439431e362f031781d809d22a4df866309ed1aa8a0f3 baseline-1/mixed_read/enum/1000/new/estimates.json +4bb0ce230004e88bd8de112a0e14f4a9c1ee7007592af5f2a978ec74a9d9ce1d baseline-1/mixed_read/enum/1000/new/sample.json +86d932a9fbc8913d1526443678c81ec3b03da38a44745ba498a8e22ccb173450 baseline-1/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-1/mixed_read/nested/1000/base/benchmark.json +e658153763fca5ead42db81d1ecd15abe5b81c163762a62edcc107aa86fec951 baseline-1/mixed_read/nested/1000/base/estimates.json +0020b52a101132dfc473ca57e14611020f1bbe3530b574dbe7415eb16bb230dd baseline-1/mixed_read/nested/1000/base/sample.json +ef5086ca1d3e3ef1680e504a1596ad6fa20bb3985f004c00c852971531f9bc57 baseline-1/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd baseline-1/mixed_read/nested/1000/new/benchmark.json +e658153763fca5ead42db81d1ecd15abe5b81c163762a62edcc107aa86fec951 baseline-1/mixed_read/nested/1000/new/estimates.json +0020b52a101132dfc473ca57e14611020f1bbe3530b574dbe7415eb16bb230dd baseline-1/mixed_read/nested/1000/new/sample.json +ef5086ca1d3e3ef1680e504a1596ad6fa20bb3985f004c00c852971531f9bc57 baseline-1/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-1/mixed_read/pattern/1000/base/benchmark.json +7cb2494a0fb7df09f59a4d8224eec157d58786ff61b92507061928ed71664c00 baseline-1/mixed_read/pattern/1000/base/estimates.json +9c5d0c253063ec1a3fd589e817c155112abda65cff621ac31c26cd5f1d4460f7 baseline-1/mixed_read/pattern/1000/base/sample.json +8a16eb9cb81653aafcc26a18183130cdc4b706341a2afbeca5b9827851b6f11f baseline-1/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 baseline-1/mixed_read/pattern/1000/new/benchmark.json +7cb2494a0fb7df09f59a4d8224eec157d58786ff61b92507061928ed71664c00 baseline-1/mixed_read/pattern/1000/new/estimates.json +9c5d0c253063ec1a3fd589e817c155112abda65cff621ac31c26cd5f1d4460f7 baseline-1/mixed_read/pattern/1000/new/sample.json +8a16eb9cb81653aafcc26a18183130cdc4b706341a2afbeca5b9827851b6f11f baseline-1/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-1/mixed_read/scalar/1000/base/benchmark.json +a37d99351d05841a3f644bf75819639b89644dd6ad3b8badf314cda8da9606f9 baseline-1/mixed_read/scalar/1000/base/estimates.json +fd938b373a2815068950c0dd773a8a5595a7866eda3bee3bf35a1846700dd23d baseline-1/mixed_read/scalar/1000/base/sample.json +411bc7b2ebd60f6f10c0aad5b2417e789d09465ba073118bde338aefd7054455 baseline-1/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 baseline-1/mixed_read/scalar/1000/new/benchmark.json +a37d99351d05841a3f644bf75819639b89644dd6ad3b8badf314cda8da9606f9 baseline-1/mixed_read/scalar/1000/new/estimates.json +fd938b373a2815068950c0dd773a8a5595a7866eda3bee3bf35a1846700dd23d baseline-1/mixed_read/scalar/1000/new/sample.json +411bc7b2ebd60f6f10c0aad5b2417e789d09465ba073118bde338aefd7054455 baseline-1/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-1/mixed_read/text/1000/base/benchmark.json +ce0877fab5c8eaae39c38ac756d7c70405544d9541dc1c9065445b8b2b54befa baseline-1/mixed_read/text/1000/base/estimates.json +38873713d6df8ddfd53c841c642839f86353341f1f36b5fb0e49105b01d76086 baseline-1/mixed_read/text/1000/base/sample.json +11d420e0365a46ba09b655f05a9b60af36a23d3d6da4d77af0a1af08a15b6cea baseline-1/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 baseline-1/mixed_read/text/1000/new/benchmark.json +ce0877fab5c8eaae39c38ac756d7c70405544d9541dc1c9065445b8b2b54befa baseline-1/mixed_read/text/1000/new/estimates.json +38873713d6df8ddfd53c841c642839f86353341f1f36b5fb0e49105b01d76086 baseline-1/mixed_read/text/1000/new/sample.json +11d420e0365a46ba09b655f05a9b60af36a23d3d6da4d77af0a1af08a15b6cea baseline-1/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/base/benchmark.json +e1f67cb78a7406671d429607bcea794164a92959e8c6abe0ac3de80d941efc21 baseline-1/mixed_write/enum/1000/base/estimates.json +4c9716facd26678be1b4d90c936dbbce7918643dbf9f5e9f1d492ef83fa29220 baseline-1/mixed_write/enum/1000/base/sample.json +aaad0667afe71b2ed645cb9106a025cc29b5e176dbfb3d0a4f2a7c3eb22755a8 baseline-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/new/benchmark.json +e1f67cb78a7406671d429607bcea794164a92959e8c6abe0ac3de80d941efc21 baseline-1/mixed_write/enum/1000/new/estimates.json +4c9716facd26678be1b4d90c936dbbce7918643dbf9f5e9f1d492ef83fa29220 baseline-1/mixed_write/enum/1000/new/sample.json +aaad0667afe71b2ed645cb9106a025cc29b5e176dbfb3d0a4f2a7c3eb22755a8 baseline-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/base/benchmark.json +d3b6ad5be2ef083a260d3d5bf6121393a78d5e99f51429b252b369c3bd8c69e4 baseline-1/mixed_write/nested/1000/base/estimates.json +5d43f9598e66c8702e8cd23495eb927a1ed9d69fa2a05aec2f1a7568522865d3 baseline-1/mixed_write/nested/1000/base/sample.json +372a246bfa55ce0289292fb83ac38cc4d8f6bed45493d88fa5167e2ba8903afe baseline-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/new/benchmark.json +d3b6ad5be2ef083a260d3d5bf6121393a78d5e99f51429b252b369c3bd8c69e4 baseline-1/mixed_write/nested/1000/new/estimates.json +5d43f9598e66c8702e8cd23495eb927a1ed9d69fa2a05aec2f1a7568522865d3 baseline-1/mixed_write/nested/1000/new/sample.json +372a246bfa55ce0289292fb83ac38cc4d8f6bed45493d88fa5167e2ba8903afe baseline-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/base/benchmark.json +60729c203c4939d3c295c355b9c480703701995e9a83ffeea67034a887b2641c baseline-1/mixed_write/pattern/1000/base/estimates.json +72f727c84e000622b3db592ab4cb77284a65942a80001e217153e8c899a79368 baseline-1/mixed_write/pattern/1000/base/sample.json +6d4c32de977eafef2019bc9d321705cee7207b931087c2c8cfed8d7886bc5800 baseline-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/new/benchmark.json +60729c203c4939d3c295c355b9c480703701995e9a83ffeea67034a887b2641c baseline-1/mixed_write/pattern/1000/new/estimates.json +72f727c84e000622b3db592ab4cb77284a65942a80001e217153e8c899a79368 baseline-1/mixed_write/pattern/1000/new/sample.json +6d4c32de977eafef2019bc9d321705cee7207b931087c2c8cfed8d7886bc5800 baseline-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/base/benchmark.json +164f89e9ebb230f4a6589effaa37e140fd5dbf969198492317529b74aa6060f2 baseline-1/mixed_write/scalar/1000/base/estimates.json +d8f7435043c8e748ff84c86fbd65d33091a5a4aa98e67b77293699f28369c8e0 baseline-1/mixed_write/scalar/1000/base/sample.json +674ef4ba43119154fdbb1b0b64b918f711903540c04ef773008d8a23658d26d5 baseline-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/new/benchmark.json +164f89e9ebb230f4a6589effaa37e140fd5dbf969198492317529b74aa6060f2 baseline-1/mixed_write/scalar/1000/new/estimates.json +d8f7435043c8e748ff84c86fbd65d33091a5a4aa98e67b77293699f28369c8e0 baseline-1/mixed_write/scalar/1000/new/sample.json +674ef4ba43119154fdbb1b0b64b918f711903540c04ef773008d8a23658d26d5 baseline-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/base/benchmark.json +00b99a3c07c38868efa3a2b97e99c9d0f250d1e214347fad9e4969bf42c22026 baseline-1/mixed_write/text/1000/base/estimates.json +d9aabe145978cd64d6964924a362392f5af6c4ac786faff7dec4fd33e23f0ed6 baseline-1/mixed_write/text/1000/base/sample.json +b5ec7623b7fe359f1c8876f10cc1385ebee63c24de4ad7b4e6b7a69065b65fbb baseline-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/new/benchmark.json +00b99a3c07c38868efa3a2b97e99c9d0f250d1e214347fad9e4969bf42c22026 baseline-1/mixed_write/text/1000/new/estimates.json +d9aabe145978cd64d6964924a362392f5af6c4ac786faff7dec4fd33e23f0ed6 baseline-1/mixed_write/text/1000/new/sample.json +b5ec7623b7fe359f1c8876f10cc1385ebee63c24de4ad7b4e6b7a69065b65fbb baseline-1/mixed_write/text/1000/new/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-0/mixed_read/enum/1000/base/benchmark.json +1dd1fe5d0d0eec7713b65eda3e7f9ac810fd2662f0e48017985f71ce113c549c current-0/mixed_read/enum/1000/base/estimates.json +881b003e920e04163394aa7ceb27129fc6b8b17ab38f724ee5e4e0839402a79f current-0/mixed_read/enum/1000/base/sample.json +9f27276d906f65fc6ab1b05dc2f91b2d62e6d4c5ce0d2e5768e81a134c2b49fb current-0/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-0/mixed_read/enum/1000/new/benchmark.json +1dd1fe5d0d0eec7713b65eda3e7f9ac810fd2662f0e48017985f71ce113c549c current-0/mixed_read/enum/1000/new/estimates.json +881b003e920e04163394aa7ceb27129fc6b8b17ab38f724ee5e4e0839402a79f current-0/mixed_read/enum/1000/new/sample.json +9f27276d906f65fc6ab1b05dc2f91b2d62e6d4c5ce0d2e5768e81a134c2b49fb current-0/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-0/mixed_read/nested/1000/base/benchmark.json +3ea368880f7f9ea61976a6be44e64f0bff9e8b693a5dd56554d1d1395126243d current-0/mixed_read/nested/1000/base/estimates.json +df2510467a75a6b53b9648a0355235791d0ce8a0b1963875e166083c9c114d42 current-0/mixed_read/nested/1000/base/sample.json +aa5096ab04536c1ee10e1f08dc3fe78d5260eb5db14772191d595e3f57df509e current-0/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-0/mixed_read/nested/1000/new/benchmark.json +3ea368880f7f9ea61976a6be44e64f0bff9e8b693a5dd56554d1d1395126243d current-0/mixed_read/nested/1000/new/estimates.json +df2510467a75a6b53b9648a0355235791d0ce8a0b1963875e166083c9c114d42 current-0/mixed_read/nested/1000/new/sample.json +aa5096ab04536c1ee10e1f08dc3fe78d5260eb5db14772191d595e3f57df509e current-0/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-0/mixed_read/pattern/1000/base/benchmark.json +009f83e15933c3967d2162ad25c98a15f05119a2e99bb06eb4f3b423898e7395 current-0/mixed_read/pattern/1000/base/estimates.json +dffdd9e889b0a0093817817a6be920ab4ef51ae5ee638ee94c206f3e63bc99d8 current-0/mixed_read/pattern/1000/base/sample.json +e4f981d7d5ffb38714882bbe3a5fb324394da9751778dda85bbc5fdd0fb2a266 current-0/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-0/mixed_read/pattern/1000/new/benchmark.json +009f83e15933c3967d2162ad25c98a15f05119a2e99bb06eb4f3b423898e7395 current-0/mixed_read/pattern/1000/new/estimates.json +dffdd9e889b0a0093817817a6be920ab4ef51ae5ee638ee94c206f3e63bc99d8 current-0/mixed_read/pattern/1000/new/sample.json +e4f981d7d5ffb38714882bbe3a5fb324394da9751778dda85bbc5fdd0fb2a266 current-0/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-0/mixed_read/scalar/1000/base/benchmark.json +c33e9125127c4c29aa5e13c20cf4621de8a626be6d0e136f538d9e5cc23101e4 current-0/mixed_read/scalar/1000/base/estimates.json +8012fa99589d2b417fbc1d525e32473944c92bc0d5264b55d6a025bcb132122e current-0/mixed_read/scalar/1000/base/sample.json +13299b082219d18bd7f5fa1ea01a5e37c9b54fac821eb1dda1912ed3667976de current-0/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-0/mixed_read/scalar/1000/new/benchmark.json +c33e9125127c4c29aa5e13c20cf4621de8a626be6d0e136f538d9e5cc23101e4 current-0/mixed_read/scalar/1000/new/estimates.json +8012fa99589d2b417fbc1d525e32473944c92bc0d5264b55d6a025bcb132122e current-0/mixed_read/scalar/1000/new/sample.json +13299b082219d18bd7f5fa1ea01a5e37c9b54fac821eb1dda1912ed3667976de current-0/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-0/mixed_read/text/1000/base/benchmark.json +75f83cbb3c2410bbbca4b36a3a8d40e6015b60152021dfce30f87be48fedec46 current-0/mixed_read/text/1000/base/estimates.json +dc74f1810df74c0624ff7d83d033b79df586ab90e3b1ae29c90ba8fa6e8083e9 current-0/mixed_read/text/1000/base/sample.json +a52a4a38a534c95978b15a5b1c236bfcbf71741f8d8c5620ef190a1bff001199 current-0/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-0/mixed_read/text/1000/new/benchmark.json +75f83cbb3c2410bbbca4b36a3a8d40e6015b60152021dfce30f87be48fedec46 current-0/mixed_read/text/1000/new/estimates.json +dc74f1810df74c0624ff7d83d033b79df586ab90e3b1ae29c90ba8fa6e8083e9 current-0/mixed_read/text/1000/new/sample.json +a52a4a38a534c95978b15a5b1c236bfcbf71741f8d8c5620ef190a1bff001199 current-0/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/base/benchmark.json +cd29403f9f1bd3d4e08835567acccb87984968d14fc83679b058ab0719b85d27 current-0/mixed_write/enum/1000/base/estimates.json +03a179131624a1d3c7740c93d6fac0e46876ba8d7e8df090baed33358db39141 current-0/mixed_write/enum/1000/base/sample.json +9b4a3a8103c7565137f505a0ef222df25320ab99fbf631cf2f206a432758a1e2 current-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/new/benchmark.json +cd29403f9f1bd3d4e08835567acccb87984968d14fc83679b058ab0719b85d27 current-0/mixed_write/enum/1000/new/estimates.json +03a179131624a1d3c7740c93d6fac0e46876ba8d7e8df090baed33358db39141 current-0/mixed_write/enum/1000/new/sample.json +9b4a3a8103c7565137f505a0ef222df25320ab99fbf631cf2f206a432758a1e2 current-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/base/benchmark.json +a36fc9a5965f0ce6bf96170a6f185749692f696a8fb1c02b2881211f11d59e68 current-0/mixed_write/nested/1000/base/estimates.json +30e58392c6e83250e3c5bc902716c0b532b64d269da9c6a984fffe5894357a9c current-0/mixed_write/nested/1000/base/sample.json +fd71f7b73ee55c2a2c3bbe7aea2f589b3381a22c431b94c7fd7643f707420556 current-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/new/benchmark.json +a36fc9a5965f0ce6bf96170a6f185749692f696a8fb1c02b2881211f11d59e68 current-0/mixed_write/nested/1000/new/estimates.json +30e58392c6e83250e3c5bc902716c0b532b64d269da9c6a984fffe5894357a9c current-0/mixed_write/nested/1000/new/sample.json +fd71f7b73ee55c2a2c3bbe7aea2f589b3381a22c431b94c7fd7643f707420556 current-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/base/benchmark.json +40f0adf9476c40cb780b970886155c7946548c1e3c46cc032fc9d10a526d39f2 current-0/mixed_write/pattern/1000/base/estimates.json +e7b8f280928d9a625e73e7e5c7e7e86eb6a6bf6399d308ec11eda310f26844f2 current-0/mixed_write/pattern/1000/base/sample.json +73ffebc74d655515b73cda7b75d5645ec1f4d46d320324130e46875d66607515 current-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/new/benchmark.json +40f0adf9476c40cb780b970886155c7946548c1e3c46cc032fc9d10a526d39f2 current-0/mixed_write/pattern/1000/new/estimates.json +e7b8f280928d9a625e73e7e5c7e7e86eb6a6bf6399d308ec11eda310f26844f2 current-0/mixed_write/pattern/1000/new/sample.json +73ffebc74d655515b73cda7b75d5645ec1f4d46d320324130e46875d66607515 current-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/base/benchmark.json +bc21c492966966afb624502f0bf773ef8e95182000033c70eb2dee29749f86c8 current-0/mixed_write/scalar/1000/base/estimates.json +3025649da405079f0d1381ff426a97b4093cf8bbf63913c6fa307278d687f9fc current-0/mixed_write/scalar/1000/base/sample.json +2734a17890a70ad986ae78401bc25cc9ae0d964f95d8e38fcf3cd50d8f6fc7c7 current-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/new/benchmark.json +bc21c492966966afb624502f0bf773ef8e95182000033c70eb2dee29749f86c8 current-0/mixed_write/scalar/1000/new/estimates.json +3025649da405079f0d1381ff426a97b4093cf8bbf63913c6fa307278d687f9fc current-0/mixed_write/scalar/1000/new/sample.json +2734a17890a70ad986ae78401bc25cc9ae0d964f95d8e38fcf3cd50d8f6fc7c7 current-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/base/benchmark.json +fbca48cc36d69bee918cb85ffc2c34c5280f0d7e2792922d104a94e068cf4dba current-0/mixed_write/text/1000/base/estimates.json +06e0eb148f7de23f4c57256638fa774c95f518706b39f08031c2feed91b43fe7 current-0/mixed_write/text/1000/base/sample.json +f0e73c23072abbba47f92c2364b8c0060405d37128dd3a22727d22bb3a907138 current-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/new/benchmark.json +fbca48cc36d69bee918cb85ffc2c34c5280f0d7e2792922d104a94e068cf4dba current-0/mixed_write/text/1000/new/estimates.json +06e0eb148f7de23f4c57256638fa774c95f518706b39f08031c2feed91b43fe7 current-0/mixed_write/text/1000/new/sample.json +f0e73c23072abbba47f92c2364b8c0060405d37128dd3a22727d22bb3a907138 current-0/mixed_write/text/1000/new/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-1/mixed_read/enum/1000/base/benchmark.json +6893dfd72813f0c8a0b28187f64c215d619001c4360cde04bbc71f2f4dae81a5 current-1/mixed_read/enum/1000/base/estimates.json +d9e4f8abd22777b41cc0016b54a3665819a41c2de8993e0c8d5117e2a4f5aba5 current-1/mixed_read/enum/1000/base/sample.json +0546ff24ab9ac23312565f9ece1872a2b4456a413a6b9183b51107e869d33b6a current-1/mixed_read/enum/1000/base/tukey.json +ea2b9896a24120392d2b3fe354165998f569c862feed273661a1686b56d5cf7f current-1/mixed_read/enum/1000/new/benchmark.json +6893dfd72813f0c8a0b28187f64c215d619001c4360cde04bbc71f2f4dae81a5 current-1/mixed_read/enum/1000/new/estimates.json +d9e4f8abd22777b41cc0016b54a3665819a41c2de8993e0c8d5117e2a4f5aba5 current-1/mixed_read/enum/1000/new/sample.json +0546ff24ab9ac23312565f9ece1872a2b4456a413a6b9183b51107e869d33b6a current-1/mixed_read/enum/1000/new/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-1/mixed_read/nested/1000/base/benchmark.json +3b45e7d73161c184761a5618eba76c6dafb22036292f1377ae15c187807f3bf9 current-1/mixed_read/nested/1000/base/estimates.json +e8b7c4c3301af2845f49f80d69a54c6b292cb4ae093ba9261b3bb02d161baa87 current-1/mixed_read/nested/1000/base/sample.json +f2162fe5e292c0d6bc8ffd00461dccc19cf453cb9d97a4a5614f65dc91d9bc90 current-1/mixed_read/nested/1000/base/tukey.json +2bac068518de7ed62498b34b236ca6486f3534046654f1f286a61482d7da9bcd current-1/mixed_read/nested/1000/new/benchmark.json +3b45e7d73161c184761a5618eba76c6dafb22036292f1377ae15c187807f3bf9 current-1/mixed_read/nested/1000/new/estimates.json +e8b7c4c3301af2845f49f80d69a54c6b292cb4ae093ba9261b3bb02d161baa87 current-1/mixed_read/nested/1000/new/sample.json +f2162fe5e292c0d6bc8ffd00461dccc19cf453cb9d97a4a5614f65dc91d9bc90 current-1/mixed_read/nested/1000/new/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-1/mixed_read/pattern/1000/base/benchmark.json +acdaf43e999887a3ff60167e7a2b7e71f7383698d470fda2a0acb0ae668a485b current-1/mixed_read/pattern/1000/base/estimates.json +49d154783051afe5c6bfb2ac4149a203e1e8c10405912eec7970c20029946467 current-1/mixed_read/pattern/1000/base/sample.json +70116671a3f73951f5533e64aa7b082a10492552b0e40c14b15f1f3035da99b6 current-1/mixed_read/pattern/1000/base/tukey.json +513418a58db89303dacef30c26a3d64103b82eec1366dd4a050d7bb3b051dc27 current-1/mixed_read/pattern/1000/new/benchmark.json +acdaf43e999887a3ff60167e7a2b7e71f7383698d470fda2a0acb0ae668a485b current-1/mixed_read/pattern/1000/new/estimates.json +49d154783051afe5c6bfb2ac4149a203e1e8c10405912eec7970c20029946467 current-1/mixed_read/pattern/1000/new/sample.json +70116671a3f73951f5533e64aa7b082a10492552b0e40c14b15f1f3035da99b6 current-1/mixed_read/pattern/1000/new/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-1/mixed_read/scalar/1000/base/benchmark.json +520f73d629ccd1e721db5b1bbbb8ea078a7ee92d2323092f66985a50902f534c current-1/mixed_read/scalar/1000/base/estimates.json +3b9ac2eeb7ec3b415df1b52f4b09098498620930b28fc50f83ae8defcd450b58 current-1/mixed_read/scalar/1000/base/sample.json +5f2df7e0afe0bf2eeb2b2dd0add249639698133e701d99cb0aea6fd62c075f38 current-1/mixed_read/scalar/1000/base/tukey.json +a46936688d5cbd0a8f0ec8160c4e448a41ae45f3851ec31e2b09a8b4959b0681 current-1/mixed_read/scalar/1000/new/benchmark.json +520f73d629ccd1e721db5b1bbbb8ea078a7ee92d2323092f66985a50902f534c current-1/mixed_read/scalar/1000/new/estimates.json +3b9ac2eeb7ec3b415df1b52f4b09098498620930b28fc50f83ae8defcd450b58 current-1/mixed_read/scalar/1000/new/sample.json +5f2df7e0afe0bf2eeb2b2dd0add249639698133e701d99cb0aea6fd62c075f38 current-1/mixed_read/scalar/1000/new/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-1/mixed_read/text/1000/base/benchmark.json +7dc7aa58569e9eb6623b3fc6a7d178985270c9ea4454d686339da9857dc5a176 current-1/mixed_read/text/1000/base/estimates.json +d74972a427b02fb32ebbe7515bf66c2174553a808db1b0c95da69d20bf88ca16 current-1/mixed_read/text/1000/base/sample.json +8503b9dd87f9d8177dd7396dbc2cf0524754e9a325597c379eaf22ea43e6747a current-1/mixed_read/text/1000/base/tukey.json +99afb2e15e01c8f034aaac763c76cd3e3021c51ba574a4d8da10153fd84252e4 current-1/mixed_read/text/1000/new/benchmark.json +7dc7aa58569e9eb6623b3fc6a7d178985270c9ea4454d686339da9857dc5a176 current-1/mixed_read/text/1000/new/estimates.json +d74972a427b02fb32ebbe7515bf66c2174553a808db1b0c95da69d20bf88ca16 current-1/mixed_read/text/1000/new/sample.json +8503b9dd87f9d8177dd7396dbc2cf0524754e9a325597c379eaf22ea43e6747a current-1/mixed_read/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/base/benchmark.json +1afd45027b5ba0ddee95094b68e64769f5565028bdae43f9751f7df5a77c093a current-1/mixed_write/enum/1000/base/estimates.json +8b01064364f437bdd4e9dee1bb9490a3f8ea51fa6f37d4151186a3ad88dfef7e current-1/mixed_write/enum/1000/base/sample.json +4170874edbc4b1d91a8835395cb1ba20b0a24fc93bec47bb5d7d054d66189c5a current-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/new/benchmark.json +1afd45027b5ba0ddee95094b68e64769f5565028bdae43f9751f7df5a77c093a current-1/mixed_write/enum/1000/new/estimates.json +8b01064364f437bdd4e9dee1bb9490a3f8ea51fa6f37d4151186a3ad88dfef7e current-1/mixed_write/enum/1000/new/sample.json +4170874edbc4b1d91a8835395cb1ba20b0a24fc93bec47bb5d7d054d66189c5a current-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/base/benchmark.json +d02828a2cb9b76a2cf191cdd99758d96f71e2068b865cd8f9e6b3af33c09e3d1 current-1/mixed_write/nested/1000/base/estimates.json +0b196be294e07daca0c701383c9feedc07aaaf1aa242b21709a18b61f813380c current-1/mixed_write/nested/1000/base/sample.json +20a3a2a2fe41aa14068b8071a929d407eb12a09697cf855813e8aab05fd4417f current-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/new/benchmark.json +d02828a2cb9b76a2cf191cdd99758d96f71e2068b865cd8f9e6b3af33c09e3d1 current-1/mixed_write/nested/1000/new/estimates.json +0b196be294e07daca0c701383c9feedc07aaaf1aa242b21709a18b61f813380c current-1/mixed_write/nested/1000/new/sample.json +20a3a2a2fe41aa14068b8071a929d407eb12a09697cf855813e8aab05fd4417f current-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/base/benchmark.json +038e0b1357b9411e25dc0efa2ef6bad1d274eb75a4652d85392739e8c7e34621 current-1/mixed_write/pattern/1000/base/estimates.json +cf7e1ec47ba7a0739bbc3b65ddc592114a351ac67c8686fcbb5589a102addfd0 current-1/mixed_write/pattern/1000/base/sample.json +0227539700e6764b9adb880fdb3c2801795747a2d834b22bf61163e797bfdb50 current-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/new/benchmark.json +038e0b1357b9411e25dc0efa2ef6bad1d274eb75a4652d85392739e8c7e34621 current-1/mixed_write/pattern/1000/new/estimates.json +cf7e1ec47ba7a0739bbc3b65ddc592114a351ac67c8686fcbb5589a102addfd0 current-1/mixed_write/pattern/1000/new/sample.json +0227539700e6764b9adb880fdb3c2801795747a2d834b22bf61163e797bfdb50 current-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/base/benchmark.json +9acd8394aefedb3b68f53767d258af56694e115e2955fd28d3e2c383d8ba99b5 current-1/mixed_write/scalar/1000/base/estimates.json +6462e777cd8ed9a4fed0a7414364b767176a8d5697e4ab818a7593e7d5f6f14d current-1/mixed_write/scalar/1000/base/sample.json +0c9466fa99fcc5c1d90bd44dbfb630d933027d1d8de1df360745f63b3251993c current-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/new/benchmark.json +9acd8394aefedb3b68f53767d258af56694e115e2955fd28d3e2c383d8ba99b5 current-1/mixed_write/scalar/1000/new/estimates.json +6462e777cd8ed9a4fed0a7414364b767176a8d5697e4ab818a7593e7d5f6f14d current-1/mixed_write/scalar/1000/new/sample.json +0c9466fa99fcc5c1d90bd44dbfb630d933027d1d8de1df360745f63b3251993c current-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/base/benchmark.json +cd25bf43ff92fbbecbdf616ae78b182c0de6af4d773210056504baf47117fd4f current-1/mixed_write/text/1000/base/estimates.json +4fa7010159ab70e18012455215bb7685a47f791deee3321f35b3d1a7936a1039 current-1/mixed_write/text/1000/base/sample.json +e21f9bc8412c58102292b66bb38fa4f90064fe8d43791d9dfe5f5fa578d8efa6 current-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/new/benchmark.json +cd25bf43ff92fbbecbdf616ae78b182c0de6af4d773210056504baf47117fd4f current-1/mixed_write/text/1000/new/estimates.json +4fa7010159ab70e18012455215bb7685a47f791deee3321f35b3d1a7936a1039 current-1/mixed_write/text/1000/new/sample.json +e21f9bc8412c58102292b66bb38fa4f90064fe8d43791d9dfe5f5fa578d8efa6 current-1/mixed_write/text/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/criterion-results.tar.gz new file mode 100644 index 0000000..d6c23bd Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current-0.txt new file mode 100644 index 0000000..6960477 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current-0.txt @@ -0,0 +1,94 @@ +memcap: <=7783 MiB (60% of 12972 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 1.0000 s +Benchmarking mixed_read/text/1000: Collecting 50 samples in estimated 2.0049 s (2800 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [716.30 µs 721.24 µs 727.21 µs] + thrpt: [37.904 MiB/s 38.217 MiB/s 38.481 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 50 samples in estimated 2.0102 s (5200 iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [388.73 µs 392.00 µs 395.87 µs] + thrpt: [100.95 MiB/s 101.94 MiB/s 102.80 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 5 (10.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_read/enum/1000: Collecting 50 samples in estimated 2.0152 s (6250 iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [321.75 µs 323.81 µs 326.46 µs] + thrpt: [58.463 MiB/s 58.942 MiB/s 59.318 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 50 samples in estimated 2.0073 s (4950 iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [400.88 µs 402.72 µs 404.94 µs] + thrpt: [44.777 MiB/s 45.024 MiB/s 45.231 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_read/nested/1000: Collecting 50 samples in estimated 2.0291 s (3250 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [622.38 µs 627.34 µs 633.43 µs] + thrpt: [57.066 MiB/s 57.620 MiB/s 58.078 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 1 (2.00%) high mild + 5 (10.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0027 s (13k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [142.10 µs 142.85 µs 143.75 µs] + thrpt: [191.75 MiB/s 192.95 MiB/s 193.98 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0024 s (20k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [99.327 µs 99.939 µs 100.72 µs] + thrpt: [396.78 MiB/s 399.86 MiB/s 402.32 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 3 (6.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0018 s (25k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [79.279 µs 80.023 µs 81.000 µs] + thrpt: [235.63 MiB/s 238.50 MiB/s 240.74 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0013 s (13k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.43 µs 145.64 µs 147.25 µs] + thrpt: [123.14 MiB/s 124.50 MiB/s 125.55 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0035 s (20k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [99.022 µs 99.700 µs 100.58 µs] + thrpt: [359.40 MiB/s 362.56 MiB/s 365.04 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current-1.txt new file mode 100644 index 0000000..9428b69 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current-1.txt @@ -0,0 +1,91 @@ +memcap: <=7795 MiB (60% of 12991 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_read/text/1000 +Benchmarking mixed_read/text/1000: Warming up for 1.0000 s +Benchmarking mixed_read/text/1000: Collecting 50 samples in estimated 2.0324 s (2650 iterations) +Benchmarking mixed_read/text/1000: Analyzing +mixed_read/text/1000 time: [716.73 µs 724.01 µs 733.80 µs] + thrpt: [37.564 MiB/s 38.072 MiB/s 38.458 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 4 (8.00%) high mild + 1 (2.00%) high severe +Benchmarking mixed_read/scalar/1000 +Benchmarking mixed_read/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_read/scalar/1000: Collecting 50 samples in estimated 2.0132 s (5100 iterations) +Benchmarking mixed_read/scalar/1000: Analyzing +mixed_read/scalar/1000 time: [383.27 µs 385.36 µs 388.03 µs] + thrpt: [102.99 MiB/s 103.70 MiB/s 104.26 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_read/enum/1000 +Benchmarking mixed_read/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_read/enum/1000: Collecting 50 samples in estimated 2.0101 s (6250 iterations) +Benchmarking mixed_read/enum/1000: Analyzing +mixed_read/enum/1000 time: [319.60 µs 321.66 µs 324.19 µs] + thrpt: [58.872 MiB/s 59.335 MiB/s 59.717 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 5 (10.00%) high severe +Benchmarking mixed_read/pattern/1000 +Benchmarking mixed_read/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_read/pattern/1000: Collecting 50 samples in estimated 2.0059 s (5000 iterations) +Benchmarking mixed_read/pattern/1000: Analyzing +mixed_read/pattern/1000 time: [400.70 µs 402.70 µs 405.12 µs] + thrpt: [44.757 MiB/s 45.026 MiB/s 45.252 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe +Benchmarking mixed_read/nested/1000 +Benchmarking mixed_read/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_read/nested/1000: Collecting 50 samples in estimated 2.0185 s (3100 iterations) +Benchmarking mixed_read/nested/1000: Analyzing +mixed_read/nested/1000 time: [625.31 µs 629.60 µs 634.61 µs] + thrpt: [56.960 MiB/s 57.413 MiB/s 57.807 MiB/s] +Found 1 outliers among 50 measurements (2.00%) + 1 (2.00%) high severe + +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0051 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [141.48 µs 143.05 µs 144.95 µs] + thrpt: [190.16 MiB/s 192.69 MiB/s 194.82 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 1 (2.00%) high mild + 7 (14.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0048 s (20k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [98.733 µs 99.487 µs 100.48 µs] + thrpt: [397.69 MiB/s 401.68 MiB/s 404.74 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 1 (2.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0012 s (25k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [79.362 µs 80.072 µs 80.943 µs] + thrpt: [235.79 MiB/s 238.36 MiB/s 240.49 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0062 s (12k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.15 µs 144.99 µs 145.99 µs] + thrpt: [124.20 MiB/s 125.05 MiB/s 125.79 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 2 (4.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0006 s (20k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [99.581 µs 102.13 µs 105.71 µs] + thrpt: [341.96 MiB/s 353.92 MiB/s 362.99 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current-build.txt new file mode 100644 index 0000000..139cb9f --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current-build.txt @@ -0,0 +1,4 @@ +memcap: <=7760 MiB (60% of 12934 MiB available) [systemd MemoryMax, swap off] + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-nil/crates/polyxml-core) + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-nil/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 27.02s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/harness.rs new file mode 100644 index 0000000..7d0413e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/harness.rs @@ -0,0 +1,120 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["mixed_read", "mixed_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for kind in ["text", "scalar", "enum", "pattern", "nested"] { + let (schema, xml) = fixture(kind, 1000); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function(BenchmarkId::new(kind, 1000), |b| { + if operation == "mixed_read" { + b.iter(|| { + black_box(deserialize(black_box(&xml), Arc::clone(&schema)).unwrap()) + }); + } else { + b.iter(|| { + black_box(serialize("Root", black_box(&value), &schema, None).unwrap()) + }); + } + }); + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/metadata.json new file mode 100644 index 0000000..6359051 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "f4ad13daf5a5fcfeb33481543dc75b3354be6ee3" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/summary.json new file mode 100644 index 0000000..5cebef4 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-nil-screen/summary.json @@ -0,0 +1,522 @@ +{ + "mixed_read/enum/1000": { + "baseline_ns": 323219.0012155783, + "candidate_ns": 322735.56568, + "delta_percent": -0.14956903330564097, + "speedup": 1.001497930773634, + "process_deltas_percent": [ + 0.38288482186426, + -0.6799069646732159 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 320818.78842338704, + "upper_bound": 324726.6861975806 + }, + "point_estimate": 322575.50096774194, + "standard_error": 1003.4205280404196 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 321675.64293089457, + "upper_bound": 326437.9182113822 + }, + "point_estimate": 323862.50146341464, + "standard_error": 1216.5351375832824 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 321752.74359200004, + "upper_bound": 326458.70686800004 + }, + "point_estimate": 323810.5936, + "standard_error": 1215.460809454811 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 319603.03445199993, + "upper_bound": 324190.764112 + }, + "point_estimate": 321660.53776, + "standard_error": 1178.0035349515347 + } + ] + } + }, + "mixed_read/nested/1000": { + "baseline_ns": 627722.33890625, + "candidate_ns": 628467.653598015, + "delta_percent": 0.11873317955573004, + "speedup": 0.9988140762893714, + "process_deltas_percent": [ + -0.46229501121144434, + 0.7044587354649856 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 625209.7129921875, + "upper_bound": 636187.9821015625 + }, + "point_estimate": 630249.556875, + "standard_error": 2818.648338176638 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 621706.4060546875, + "upper_bound": 629273.6601875001 + }, + "point_estimate": 625195.1209375, + "standard_error": 1944.9580660822814 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 622383.8023615385, + "upper_bound": 633427.2395384616 + }, + "point_estimate": 627335.9446153847, + "standard_error": 2841.128567946289 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 625310.3821532257, + "upper_bound": 634605.1887258064 + }, + "point_estimate": 629599.3625806451, + "standard_error": 2370.6827330143387 + } + ] + } + }, + "mixed_read/pattern/1000": { + "baseline_ns": 408579.40726242017, + "candidate_ns": 402712.96154646465, + "delta_percent": -1.4358153180705102, + "speedup": 1.0145673128906199, + "process_deltas_percent": [ + -1.3345909464993477, + -1.5368381008899035 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 404006.9246632653, + "upper_bound": 413507.7484387756 + }, + "point_estimate": 408172.1579591836, + "standard_error": 2457.3857646051506 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 403126.4147979799, + "upper_bound": 416922.2976414142 + }, + "point_estimate": 408986.6565656567, + "standard_error": 3593.9759758245787 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 400883.6039242424, + "upper_bound": 404940.6797525252 + }, + "point_estimate": 402724.72929292935, + "standard_error": 1038.3554025234564 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 400695.64168000006, + "upper_bound": 405123.75705500005 + }, + "point_estimate": 402701.19379999995, + "standard_error": 1136.7470964894849 + } + ] + } + }, + "mixed_read/scalar/1000": { + "baseline_ns": 393233.0059470779, + "candidate_ns": 388679.9424095023, + "delta_percent": -1.1578538598533528, + "speedup": 1.0117141715863964, + "process_deltas_percent": [ + -1.0817910565118827, + -1.235108956484554 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 391702.20719607855, + "upper_bound": 401427.00865686283 + }, + "point_estimate": 396291.0250980392, + "standard_error": 2492.4176705574264 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 388125.90308737877, + "upper_bound": 392824.9941456311 + }, + "point_estimate": 390174.9867961165, + "standard_error": 1210.0852119324431 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 388734.49938461545, + "upper_bound": 395874.74144711526 + }, + "point_estimate": 392003.98423076933, + "standard_error": 1829.0923896653014 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 383272.4484852942, + "upper_bound": 388032.2941568628 + }, + "point_estimate": 385355.90058823524, + "standard_error": 1222.5733011175184 + } + ] + } + }, + "mixed_read/text/1000": { + "baseline_ns": 748308.5897514005, + "candidate_ns": 722624.0162095687, + "delta_percent": -3.4323504893034373, + "speedup": 1.0355434817632507, + "process_deltas_percent": [ + 0.1591025465340401, + -6.762843969142319 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 716463.3706607143, + "upper_bound": 724229.4338214285 + }, + "point_estimate": 720097.1210714284, + "standard_error": 1989.5261472084355 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 772062.7029607842, + "upper_bound": 782029.0658039217 + }, + "point_estimate": 776520.0584313726, + "standard_error": 2568.7141379054497 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 716298.7970714282, + "upper_bound": 727211.4292053572 + }, + "point_estimate": 721242.8139285713, + "standard_error": 2801.303643314224 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 716733.677471698, + "upper_bound": 733797.9226320755 + }, + "point_estimate": 724005.2184905661, + "standard_error": 4409.100341914974 + } + ] + } + }, + "mixed_write/enum/1000": { + "baseline_ns": 80004.14703737128, + "candidate_ns": 80047.72677748397, + "delta_percent": 0.05447185143081512, + "speedup": 0.9994555780424117, + "process_deltas_percent": [ + -0.07840149714879452, + 0.18761714972017618 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 79631.58684031935, + "upper_bound": 80639.3332285429 + }, + "point_estimate": 80085.93493013972, + "standard_error": 258.9874190208272 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 79529.52919551937, + "upper_bound": 80411.48628004071 + }, + "point_estimate": 79922.35914460284, + "standard_error": 227.4809003700571 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 79279.49033802815, + "upper_bound": 80999.9970110664 + }, + "point_estimate": 80023.14635814888, + "standard_error": 445.9432725947095 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 79362.27457952287, + "upper_bound": 80943.3631222664 + }, + "point_estimate": 80072.30719681908, + "standard_error": 405.64777271582676 + } + ] + } + }, + "mixed_write/nested/1000": { + "baseline_ns": 98393.84684509585, + "candidate_ns": 100917.01631757425, + "delta_percent": 2.5643569729016713, + "speedup": 0.9749975815323525, + "process_deltas_percent": [ + 0.9344052933558666, + 4.2070508916991045 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 98153.91239975252, + "upper_bound": 99555.19327103964 + }, + "point_estimate": 98776.94910891089, + "standard_error": 359.5553740841245 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97646.55521428572, + "upper_bound": 98443.067817734 + }, + "point_estimate": 98010.7445812808, + "standard_error": 203.33416764856992 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99021.83223875, + "upper_bound": 100576.63528749999 + }, + "point_estimate": 99699.92614999998, + "standard_error": 399.891068408715 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99581.00640222771, + "upper_bound": 105705.71313118812 + }, + "point_estimate": 102134.1064851485, + "standard_error": 1590.5010809103248 + } + ] + } + }, + "mixed_write/pattern/1000": { + "baseline_ns": 145388.92835982546, + "candidate_ns": 145315.9494426864, + "delta_percent": -0.050195649670403686, + "speedup": 1.0005022085835653, + "process_deltas_percent": [ + 0.48080988922962753, + -0.5779341376948577 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144182.99659888062, + "upper_bound": 145897.39522947764 + }, + "point_estimate": 144940.29014925376, + "standard_error": 440.8539337213257 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144169.9971768953, + "upper_bound": 147908.8295866426 + }, + "point_estimate": 145837.56657039712, + "standard_error": 960.5489441207756 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144426.46965055758, + "upper_bound": 147250.4885408922 + }, + "point_estimate": 145637.1773977695, + "standard_error": 731.008228036759 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144146.2420909091, + "upper_bound": 145991.63924380168 + }, + "point_estimate": 144994.72148760332, + "standard_error": 473.64871926340805 + } + ] + } + }, + "mixed_write/scalar/1000": { + "baseline_ns": 111647.25303616078, + "candidate_ns": 99713.29445279803, + "delta_percent": -10.688985406114316, + "speedup": 1.1196827228390493, + "process_deltas_percent": [ + -10.661863131614668, + -10.716214228281796 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 111097.41358169011, + "upper_bound": 112823.03960140845 + }, + "point_estimate": 111866.12174647888, + "standard_error": 443.96955871942924 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 110469.63483005617, + "upper_bound": 112589.27884691014 + }, + "point_estimate": 111428.38432584266, + "standard_error": 544.3897910371863 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 99327.32520149252, + "upper_bound": 100715.48073507466 + }, + "point_estimate": 99939.10895522387, + "standard_error": 357.45764378762215 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 98733.33398014886, + "upper_bound": 100484.96155210916 + }, + "point_estimate": 99487.47995037219, + "standard_error": 452.2937881953288 + } + ] + } + }, + "mixed_write/text/1000": { + "baseline_ns": 145767.72628915176, + "candidate_ns": 142950.16763048247, + "delta_percent": -1.932909794504345, + "speedup": 1.0197100759332616, + "process_deltas_percent": [ + -2.192937582767296, + -1.671847854591213 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 145414.09548909095, + "upper_bound": 146801.24863272728 + }, + "point_estimate": 146057.0160727273, + "standard_error": 354.6287652945572 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144586.66838289963, + "upper_bound": 146534.77103159856 + }, + "point_estimate": 145478.43650557622, + "standard_error": 500.436579644816 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142095.5773847656, + "upper_bound": 143746.43841992188 + }, + "point_estimate": 142854.076875, + "standard_error": 422.60756393961526 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 141484.93001052632, + "upper_bound": 144951.77021052636 + }, + "point_estimate": 143046.2583859649, + "standard_error": 888.0843715492683 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolated-tests.log b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolated-tests.log new file mode 100644 index 0000000..211c16c --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolated-tests.log @@ -0,0 +1,105 @@ +memcap: <=7758 MiB (60% of 12930 MiB available) [systemd MemoryMax, swap off] + Compiling proc-macro2 v1.0.107 + Compiling unicode-ident v1.0.24 + Compiling quote v1.0.47 + Compiling syn v3.0.5 + Compiling serde_core v1.0.229 + Compiling syn v2.0.119 + Compiling memchr v2.8.3 + Compiling siphasher v1.0.3 + Compiling serde v1.0.229 + Compiling serde_derive v1.0.229 + Compiling zerocopy v0.8.57 + Compiling libc v0.2.189 + Compiling zmij v1.0.23 + Compiling cfg-if v1.0.4 + Compiling lexical-util v1.0.7 + Compiling zerocopy-derive v0.8.57 + Compiling serde_json v1.0.151 + Compiling shlex v2.0.1 + Compiling find-msvc-tools v0.1.12 + Compiling cc v1.4.5 + Compiling phf_shared v0.14.0 + Compiling aho-corasick v1.1.5 + Compiling regex-syntax v0.8.11 + Compiling fastrand v2.5.0 + Compiling autocfg v1.5.1 + Compiling itoa v1.0.18 + Compiling num-traits v0.2.19 + Compiling regex-automata v0.4.18 + Compiling half v2.7.1 + Compiling alloca v0.4.0 + Compiling lexical-write-integer v1.0.6 + Compiling lexical-parse-integer v1.0.6 + Compiling either v1.18.0 + Compiling rustix v1.1.5 + Compiling getrandom v0.4.3 + Compiling clap_lex v1.1.0 + Compiling ciborium-io v0.2.2 + Compiling anstyle v1.0.14 + Compiling thiserror v2.0.21 + Compiling phf_generator v0.14.0 + Compiling clap_builder v4.6.7 + Compiling ciborium-ll v0.2.2 + Compiling itertools v0.13.0 + Compiling lexical-parse-float v1.0.6 + Compiling lexical-write-float v1.0.6 + Compiling regex v1.13.1 + Compiling thiserror-impl v2.0.21 + Compiling linux-raw-sys v0.12.1 + Compiling same-file v1.0.6 + Compiling cast v0.3.0 + Compiling memo-map v0.3.4 + Compiling bitflags v2.13.2 + Compiling minijinja v2.24.0 + Compiling criterion-plot v0.8.2 + Compiling walkdir v2.5.0 + Compiling phf_codegen v0.14.0 + Compiling lexical-core v1.0.6 + Compiling ciborium v0.2.2 + Compiling clap v4.6.7 + Compiling phf_macros v0.14.0 + Compiling tinytemplate v1.2.1 + Compiling page_size v0.6.0 + Compiling quick-xml v0.42.0 + Compiling oorandom v11.1.5 + Compiling yansi v1.0.1 + Compiling heck v0.5.0 + Compiling diff v0.1.13 + Compiling anes v0.1.6 + Compiling smallvec v1.16.2 + Compiling once_cell v1.21.4 + Compiling tempfile v3.27.0 + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-writer/crates/polyxml-core) + Compiling criterion v0.8.2 + Compiling pretty_assertions v1.4.1 + Compiling phf v0.14.0 + Finished `test` profile [unoptimized + debuginfo] target(s) in 39.49s + Running tests/test_mixed_nil.rs (/home/bailey/github/PolyXML/target/followup-mixed-writer-verification/debug/deps/test_mixed_nil-1aec7ae934470d6f) + +running 2 tests +test nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings ... ok +test nil_instance_prefix_does_not_rebind_the_element_namespace ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_runtime_fast_paths.rs (/home/bailey/github/PolyXML/target/followup-mixed-writer-verification/debug/deps/test_runtime_fast_paths-cb1357dd8af777c0) + +running 6 tests +test repeated_lexical_lists_keep_whitespace_validation ... ok +test lexical_list_formatting_preserves_escaping_empty_lists_and_long_numbers ... ok +test repeated_nested_records_validate_their_own_lexical_lists ... ok +test indexed_scalar_state_preserves_enum_pattern_and_split_text ... ok +test cached_patterns_keep_raw_restriction_and_trimmed_pattern_semantics ... ok +test unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames ... ok + +test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + + Running tests/test_value_constraints.rs (/home/bailey/github/PolyXML/target/followup-mixed-writer-verification/debug/deps/test_value_constraints-22fd91427282898a) + +running 2 tests +test fixed_constraints_cover_input_and_output_in_value_space ... ok +test repeated_particle_cardinality_belongs_to_the_group ... ok + +test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline-0.txt new file mode 100644 index 0000000..cdd5dab --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline-0.txt @@ -0,0 +1,46 @@ +memcap: <=7736 MiB (60% of 12894 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0000 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [142.23 µs 142.62 µs 143.10 µs] + thrpt: [192.63 MiB/s 193.26 MiB/s 193.80 MiB/s] +Found 1 outliers among 50 measurements (2.00%) + 1 (2.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0039 s (19k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [105.55 µs 106.13 µs 106.92 µs] + thrpt: [373.76 MiB/s 376.52 MiB/s 378.61 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 5 (10.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0024 s (25k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.399 µs 81.100 µs 82.063 µs] + thrpt: [232.58 MiB/s 235.34 MiB/s 237.39 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0001 s (14k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [146.30 µs 148.01 µs 150.05 µs] + thrpt: [120.84 MiB/s 122.51 MiB/s 123.94 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 4 (8.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0023 s (20k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [97.582 µs 98.059 µs 98.629 µs] + thrpt: [366.49 MiB/s 368.62 MiB/s 370.43 MiB/s] +Found 4 outliers among 50 measurements (8.00%) + 2 (4.00%) high mild + 2 (4.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline-1.txt new file mode 100644 index 0000000..d662b48 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline-1.txt @@ -0,0 +1,46 @@ +memcap: <=7780 MiB (60% of 12967 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0046 s (13k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [145.29 µs 145.97 µs 146.83 µs] + thrpt: [187.73 MiB/s 188.84 MiB/s 189.71 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0052 s (17k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [117.91 µs 118.62 µs 119.55 µs] + thrpt: [334.27 MiB/s 336.88 MiB/s 338.92 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0002 s (25k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [80.277 µs 80.786 µs 81.389 µs] + thrpt: [234.50 MiB/s 236.25 MiB/s 237.75 MiB/s] +Found 1 outliers among 50 measurements (2.00%) + 1 (2.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0015 s (12k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [144.41 µs 146.59 µs 149.52 µs] + thrpt: [121.27 MiB/s 123.70 MiB/s 125.56 MiB/s] +Found 7 outliers among 50 measurements (14.00%) + 1 (2.00%) high mild + 6 (12.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0034 s (21k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [97.383 µs 98.132 µs 99.040 µs] + thrpt: [364.98 MiB/s 368.35 MiB/s 371.19 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline-build.txt new file mode 100644 index 0000000..ff55112 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline-build.txt @@ -0,0 +1,3 @@ +memcap: <=7764 MiB (60% of 12940 MiB available) [systemd MemoryMax, swap off] + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-writer/benchmarks/rust-xml-regression/target/core-baseline) + Finished `bench` profile [optimized] target(s) in 2.83s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/baseline.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/criterion-SHA256SUMS b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/criterion-SHA256SUMS new file mode 100644 index 0000000..178118d --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/criterion-SHA256SUMS @@ -0,0 +1,160 @@ +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/base/benchmark.json +3d0d42c4250ecd444f80ba3d01c94e14e616c3693d206edd67dd43cf9c0a262a baseline-0/mixed_write/enum/1000/base/estimates.json +9559b2b195292babe8cb41aa4b0dac7a223df6782744bc4c0648cc6730ca6230 baseline-0/mixed_write/enum/1000/base/sample.json +ed6758948a1a5ada731cc626d43e28ff2b5e64642441f8876f642b38eff406ae baseline-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-0/mixed_write/enum/1000/new/benchmark.json +3d0d42c4250ecd444f80ba3d01c94e14e616c3693d206edd67dd43cf9c0a262a baseline-0/mixed_write/enum/1000/new/estimates.json +9559b2b195292babe8cb41aa4b0dac7a223df6782744bc4c0648cc6730ca6230 baseline-0/mixed_write/enum/1000/new/sample.json +ed6758948a1a5ada731cc626d43e28ff2b5e64642441f8876f642b38eff406ae baseline-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/base/benchmark.json +51db36b8b4605675701dbee4f66442db6c2345ef9338b316608cae96db9c3c35 baseline-0/mixed_write/nested/1000/base/estimates.json +750929a92ae6d8cdd77540f8d90a3d911a21c8fc82d80cbc30ca750209b2ea92 baseline-0/mixed_write/nested/1000/base/sample.json +947e9d4c987200c300e4cacf7f94347d653ee38fa63208f3f98d8f21f86bfdef baseline-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-0/mixed_write/nested/1000/new/benchmark.json +51db36b8b4605675701dbee4f66442db6c2345ef9338b316608cae96db9c3c35 baseline-0/mixed_write/nested/1000/new/estimates.json +750929a92ae6d8cdd77540f8d90a3d911a21c8fc82d80cbc30ca750209b2ea92 baseline-0/mixed_write/nested/1000/new/sample.json +947e9d4c987200c300e4cacf7f94347d653ee38fa63208f3f98d8f21f86bfdef baseline-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/base/benchmark.json +f6c680b6712a4d4220731bda07d2839e5e0d9d0a71956c1269a73b5651447d99 baseline-0/mixed_write/pattern/1000/base/estimates.json +e08ed52228a76724dfedf962ae2be274fffa805037604812ad5960b9a285ab81 baseline-0/mixed_write/pattern/1000/base/sample.json +c587155d0f6a7b2b1ceef5bde7b282d9d6d933c1067cd10bf563d0c29cf1f2e7 baseline-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-0/mixed_write/pattern/1000/new/benchmark.json +f6c680b6712a4d4220731bda07d2839e5e0d9d0a71956c1269a73b5651447d99 baseline-0/mixed_write/pattern/1000/new/estimates.json +e08ed52228a76724dfedf962ae2be274fffa805037604812ad5960b9a285ab81 baseline-0/mixed_write/pattern/1000/new/sample.json +c587155d0f6a7b2b1ceef5bde7b282d9d6d933c1067cd10bf563d0c29cf1f2e7 baseline-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/base/benchmark.json +c20aa0278defc961fccbdbc44ebd2ca296f32b1985af5c143fc4be3cfd8000b2 baseline-0/mixed_write/scalar/1000/base/estimates.json +4edc4bf94a9bdc60e31a95965623a23e4a2247f46b5e0a5883e0902549d4e541 baseline-0/mixed_write/scalar/1000/base/sample.json +498c8143256da9d8363143064518fe9ac298667233004897c3758ef547f8df9d baseline-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-0/mixed_write/scalar/1000/new/benchmark.json +c20aa0278defc961fccbdbc44ebd2ca296f32b1985af5c143fc4be3cfd8000b2 baseline-0/mixed_write/scalar/1000/new/estimates.json +4edc4bf94a9bdc60e31a95965623a23e4a2247f46b5e0a5883e0902549d4e541 baseline-0/mixed_write/scalar/1000/new/sample.json +498c8143256da9d8363143064518fe9ac298667233004897c3758ef547f8df9d baseline-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/base/benchmark.json +26214489692d3700cc7106ee9eac6a0a3a869d137a218ef5355088cd78ce4133 baseline-0/mixed_write/text/1000/base/estimates.json +e1dcb6494c8d79886579e9c9c5f9bd0e97d79788c9971ce1454eee6b87b4bc8a baseline-0/mixed_write/text/1000/base/sample.json +6189da43911c406a3805dffedde7733a63f21ae274043ff8b102322d6bb079bd baseline-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-0/mixed_write/text/1000/new/benchmark.json +26214489692d3700cc7106ee9eac6a0a3a869d137a218ef5355088cd78ce4133 baseline-0/mixed_write/text/1000/new/estimates.json +e1dcb6494c8d79886579e9c9c5f9bd0e97d79788c9971ce1454eee6b87b4bc8a baseline-0/mixed_write/text/1000/new/sample.json +6189da43911c406a3805dffedde7733a63f21ae274043ff8b102322d6bb079bd baseline-0/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/base/benchmark.json +6acfd969383b4288bdaaa10ebc6dad12e9a11d2e2d2c6ef6efc0a3ec82772407 baseline-1/mixed_write/enum/1000/base/estimates.json +9c347370cb3596524b8d9d3e8cdcddfd30678db15e1da342ecc5c4b23775faeb baseline-1/mixed_write/enum/1000/base/sample.json +e3a6ca7b34747dee717d82c809c5c17ffedee2298746c29b2ca6af73fa7188b1 baseline-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 baseline-1/mixed_write/enum/1000/new/benchmark.json +6acfd969383b4288bdaaa10ebc6dad12e9a11d2e2d2c6ef6efc0a3ec82772407 baseline-1/mixed_write/enum/1000/new/estimates.json +9c347370cb3596524b8d9d3e8cdcddfd30678db15e1da342ecc5c4b23775faeb baseline-1/mixed_write/enum/1000/new/sample.json +e3a6ca7b34747dee717d82c809c5c17ffedee2298746c29b2ca6af73fa7188b1 baseline-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/base/benchmark.json +e2a5963dc7bd96cb281babd5d6c14e67fd78f34c0f3ec7a3c8247162fbf5c7ac baseline-1/mixed_write/nested/1000/base/estimates.json +f6c0a74774a015244a9bb84ee410e9b4860b95e956611805fea762dcc0a919e2 baseline-1/mixed_write/nested/1000/base/sample.json +b04bcecbb428e88d183969e4937a4027c26830e07208f7d7f9943e42e0d91072 baseline-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f baseline-1/mixed_write/nested/1000/new/benchmark.json +e2a5963dc7bd96cb281babd5d6c14e67fd78f34c0f3ec7a3c8247162fbf5c7ac baseline-1/mixed_write/nested/1000/new/estimates.json +f6c0a74774a015244a9bb84ee410e9b4860b95e956611805fea762dcc0a919e2 baseline-1/mixed_write/nested/1000/new/sample.json +b04bcecbb428e88d183969e4937a4027c26830e07208f7d7f9943e42e0d91072 baseline-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/base/benchmark.json +0c0ea0702261ed49dea4302ced5b40916f2a1a178cfe8498f9bb8d4e78b4d01c baseline-1/mixed_write/pattern/1000/base/estimates.json +d1dd0d8bd0135fbf6790074b28f756fe5ccd4c41b54bbf87abc5c3f7405edfee baseline-1/mixed_write/pattern/1000/base/sample.json +b9363874e357c2dcd7a2a1fb997e4ef7101911846f02e12a5c03f6a40de32901 baseline-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 baseline-1/mixed_write/pattern/1000/new/benchmark.json +0c0ea0702261ed49dea4302ced5b40916f2a1a178cfe8498f9bb8d4e78b4d01c baseline-1/mixed_write/pattern/1000/new/estimates.json +d1dd0d8bd0135fbf6790074b28f756fe5ccd4c41b54bbf87abc5c3f7405edfee baseline-1/mixed_write/pattern/1000/new/sample.json +b9363874e357c2dcd7a2a1fb997e4ef7101911846f02e12a5c03f6a40de32901 baseline-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/base/benchmark.json +28a2719c42216725710dc04675318f7c4bda4247c6209cbe43638f984c19ba92 baseline-1/mixed_write/scalar/1000/base/estimates.json +df2c1c4e1a7e9782a8b4633adf4abfec4f6fea6a2a0e3433b9d845d319cfa17b baseline-1/mixed_write/scalar/1000/base/sample.json +1ed0b11d0c2c595d8ef12c902d39ddda00d8d2aa6405b2abe5def7a210c461a7 baseline-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 baseline-1/mixed_write/scalar/1000/new/benchmark.json +28a2719c42216725710dc04675318f7c4bda4247c6209cbe43638f984c19ba92 baseline-1/mixed_write/scalar/1000/new/estimates.json +df2c1c4e1a7e9782a8b4633adf4abfec4f6fea6a2a0e3433b9d845d319cfa17b baseline-1/mixed_write/scalar/1000/new/sample.json +1ed0b11d0c2c595d8ef12c902d39ddda00d8d2aa6405b2abe5def7a210c461a7 baseline-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/base/benchmark.json +53f2f97b974b85c9bb57a687638fc001d4ad1a810c97726c94f9b7f21e6e4b7b baseline-1/mixed_write/text/1000/base/estimates.json +183f04ec9e9cb74704998b7711fd74c10755baf4b1973cea8b869d777b073f3c baseline-1/mixed_write/text/1000/base/sample.json +22f3b1e93e55df8aef043f78e80ca87356a0c1bffb0a2da75c90718405a4df04 baseline-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 baseline-1/mixed_write/text/1000/new/benchmark.json +53f2f97b974b85c9bb57a687638fc001d4ad1a810c97726c94f9b7f21e6e4b7b baseline-1/mixed_write/text/1000/new/estimates.json +183f04ec9e9cb74704998b7711fd74c10755baf4b1973cea8b869d777b073f3c baseline-1/mixed_write/text/1000/new/sample.json +22f3b1e93e55df8aef043f78e80ca87356a0c1bffb0a2da75c90718405a4df04 baseline-1/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/base/benchmark.json +f82a106b1c680f684fe2f876900509cf31f6a81be3c0cf73a9320dd8bae52bb8 current-0/mixed_write/enum/1000/base/estimates.json +66aa24b446c80a8dec201f22d0bb187ebf6118e762d06345a99a7fc15306747d current-0/mixed_write/enum/1000/base/sample.json +38a0d7a6dfad178b7d2adc9e7f3525c4d6f2e976cebfe0f5c535d7902f849f81 current-0/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-0/mixed_write/enum/1000/new/benchmark.json +f82a106b1c680f684fe2f876900509cf31f6a81be3c0cf73a9320dd8bae52bb8 current-0/mixed_write/enum/1000/new/estimates.json +66aa24b446c80a8dec201f22d0bb187ebf6118e762d06345a99a7fc15306747d current-0/mixed_write/enum/1000/new/sample.json +38a0d7a6dfad178b7d2adc9e7f3525c4d6f2e976cebfe0f5c535d7902f849f81 current-0/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/base/benchmark.json +4f508d6e84ffd477232c6e3cce2f15e976d62bbd522807f63bfee49aecde9f5c current-0/mixed_write/nested/1000/base/estimates.json +cfb7eb8336932d8fb3787a21778c9b96e19575eaee55c38e444fdabd389218cc current-0/mixed_write/nested/1000/base/sample.json +64f74e8c5b592f5a7c7a4504c9d7ccc3651f95f35bbee36e6891144f84ad96bd current-0/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-0/mixed_write/nested/1000/new/benchmark.json +4f508d6e84ffd477232c6e3cce2f15e976d62bbd522807f63bfee49aecde9f5c current-0/mixed_write/nested/1000/new/estimates.json +cfb7eb8336932d8fb3787a21778c9b96e19575eaee55c38e444fdabd389218cc current-0/mixed_write/nested/1000/new/sample.json +64f74e8c5b592f5a7c7a4504c9d7ccc3651f95f35bbee36e6891144f84ad96bd current-0/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/base/benchmark.json +af125a0a469a6d45727ceee6572906ca4c5f476fa193ca00853385aeb1b9e78f current-0/mixed_write/pattern/1000/base/estimates.json +fd115c2337b21adbed52d5c678bfdac3c7c59173e10a1e5b236c3b50406f9688 current-0/mixed_write/pattern/1000/base/sample.json +8187558120cde81c8270e3fee5624c2ca33c83a5dd792b4d2ff85c31633426f9 current-0/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-0/mixed_write/pattern/1000/new/benchmark.json +af125a0a469a6d45727ceee6572906ca4c5f476fa193ca00853385aeb1b9e78f current-0/mixed_write/pattern/1000/new/estimates.json +fd115c2337b21adbed52d5c678bfdac3c7c59173e10a1e5b236c3b50406f9688 current-0/mixed_write/pattern/1000/new/sample.json +8187558120cde81c8270e3fee5624c2ca33c83a5dd792b4d2ff85c31633426f9 current-0/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/base/benchmark.json +66d90c2b0a74399b511bcc0a150cc4e4f2eb44ffba65efbba373d35aa6e7181d current-0/mixed_write/scalar/1000/base/estimates.json +b112201e924b05673ba3844f86b66a8c292590e68cedd860580a01ee833acecf current-0/mixed_write/scalar/1000/base/sample.json +7eb9d272c753472633db315aef6011ea4f3c2533e29887766d8e6da295f8b546 current-0/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-0/mixed_write/scalar/1000/new/benchmark.json +66d90c2b0a74399b511bcc0a150cc4e4f2eb44ffba65efbba373d35aa6e7181d current-0/mixed_write/scalar/1000/new/estimates.json +b112201e924b05673ba3844f86b66a8c292590e68cedd860580a01ee833acecf current-0/mixed_write/scalar/1000/new/sample.json +7eb9d272c753472633db315aef6011ea4f3c2533e29887766d8e6da295f8b546 current-0/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/base/benchmark.json +7f599ba5513a8122e2d4b0e70ff121ded7e769140ac009e004885944414be057 current-0/mixed_write/text/1000/base/estimates.json +14618e25ab5654233966fbf87e112d7930013c0f46d972246f9d53a953cdd482 current-0/mixed_write/text/1000/base/sample.json +6c41543ac1536d079c845ed70ee4605b223a1527a328be06e27df89229c79fff current-0/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-0/mixed_write/text/1000/new/benchmark.json +7f599ba5513a8122e2d4b0e70ff121ded7e769140ac009e004885944414be057 current-0/mixed_write/text/1000/new/estimates.json +14618e25ab5654233966fbf87e112d7930013c0f46d972246f9d53a953cdd482 current-0/mixed_write/text/1000/new/sample.json +6c41543ac1536d079c845ed70ee4605b223a1527a328be06e27df89229c79fff current-0/mixed_write/text/1000/new/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/base/benchmark.json +b5d9798a31e486e40b0cbcd32c7cd174e285cd302695885dca9db34d88672dfe current-1/mixed_write/enum/1000/base/estimates.json +86774c13b0391a7fd299c505d66c1dcaf50d71a6cb52c6a3e9a15f6105424d88 current-1/mixed_write/enum/1000/base/sample.json +75a5cd627bf3c61208beb4ab6db9ce968fb28a81e224c91d13df6feadacc66f0 current-1/mixed_write/enum/1000/base/tukey.json +6529489682d31c0d336ad8b0ee07687a895e097e2903d27eb37163d39c6524b1 current-1/mixed_write/enum/1000/new/benchmark.json +b5d9798a31e486e40b0cbcd32c7cd174e285cd302695885dca9db34d88672dfe current-1/mixed_write/enum/1000/new/estimates.json +86774c13b0391a7fd299c505d66c1dcaf50d71a6cb52c6a3e9a15f6105424d88 current-1/mixed_write/enum/1000/new/sample.json +75a5cd627bf3c61208beb4ab6db9ce968fb28a81e224c91d13df6feadacc66f0 current-1/mixed_write/enum/1000/new/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/base/benchmark.json +1aced43ee73d98bd57cc642c1539a77865577334567949b1d36206e7b5806839 current-1/mixed_write/nested/1000/base/estimates.json +914f2a0f33bfd6cbcbde8ce21a23d580256df597340a686e29e55178f099d62a current-1/mixed_write/nested/1000/base/sample.json +31a6d640af17eab41c76317b9e7e1490891e933be1a8849fd052bf237b61bf19 current-1/mixed_write/nested/1000/base/tukey.json +c23e0b0762669a6863ca4bd897e98ca86231fc83d6935e53edd27793484f001f current-1/mixed_write/nested/1000/new/benchmark.json +1aced43ee73d98bd57cc642c1539a77865577334567949b1d36206e7b5806839 current-1/mixed_write/nested/1000/new/estimates.json +914f2a0f33bfd6cbcbde8ce21a23d580256df597340a686e29e55178f099d62a current-1/mixed_write/nested/1000/new/sample.json +31a6d640af17eab41c76317b9e7e1490891e933be1a8849fd052bf237b61bf19 current-1/mixed_write/nested/1000/new/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/base/benchmark.json +79486c75d136b1921d1b82fe945abcdbfefe993ad8a2732b42eb853c95472302 current-1/mixed_write/pattern/1000/base/estimates.json +b6986026ffcd98ba26e57f517ab02c84144173a7137ae117ad36eea666e68501 current-1/mixed_write/pattern/1000/base/sample.json +b4ad58577a3901d1eb78699925f76c1b1519d92dcf19a4ee442ecc6cd958411a current-1/mixed_write/pattern/1000/base/tukey.json +acfa1b2f251cc53a50a15203e0cd1aee31f888be663520352588c1c1865a1728 current-1/mixed_write/pattern/1000/new/benchmark.json +79486c75d136b1921d1b82fe945abcdbfefe993ad8a2732b42eb853c95472302 current-1/mixed_write/pattern/1000/new/estimates.json +b6986026ffcd98ba26e57f517ab02c84144173a7137ae117ad36eea666e68501 current-1/mixed_write/pattern/1000/new/sample.json +b4ad58577a3901d1eb78699925f76c1b1519d92dcf19a4ee442ecc6cd958411a current-1/mixed_write/pattern/1000/new/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/base/benchmark.json +8e344181a9460f7aede23b30f2833e8426eb46cba662afee6fd5c1e015cccade current-1/mixed_write/scalar/1000/base/estimates.json +10ed06d5d6870ecfcb2b5d145c2146091b97ca2c7b4ad7c8b1e530c9a12095f8 current-1/mixed_write/scalar/1000/base/sample.json +f4fee52ba5883c58ca17db3b531e960719753ed5dd024adf75aef17de6f87146 current-1/mixed_write/scalar/1000/base/tukey.json +6af25d220f1ad8bfedcf49e598b62ebf76c22d6023852c682e68099c7827fcf1 current-1/mixed_write/scalar/1000/new/benchmark.json +8e344181a9460f7aede23b30f2833e8426eb46cba662afee6fd5c1e015cccade current-1/mixed_write/scalar/1000/new/estimates.json +10ed06d5d6870ecfcb2b5d145c2146091b97ca2c7b4ad7c8b1e530c9a12095f8 current-1/mixed_write/scalar/1000/new/sample.json +f4fee52ba5883c58ca17db3b531e960719753ed5dd024adf75aef17de6f87146 current-1/mixed_write/scalar/1000/new/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/base/benchmark.json +d2235be524e8fc225ad07373f88375c37d5d7044b7ffce21209d3219a4609edb current-1/mixed_write/text/1000/base/estimates.json +6dcd482e95ae12b46e35644b6942d76e3e17ef610ff7c8699a2176b843413bcc current-1/mixed_write/text/1000/base/sample.json +5ee8882bb2e6b2172b7421cb210ca790d05eea42578cedf759e23b5dd0a346d9 current-1/mixed_write/text/1000/base/tukey.json +d68d1cb13bc4c6a7b3e4aa8065fb376fad7be0898c84236a8abc6e66c2f8e182 current-1/mixed_write/text/1000/new/benchmark.json +d2235be524e8fc225ad07373f88375c37d5d7044b7ffce21209d3219a4609edb current-1/mixed_write/text/1000/new/estimates.json +6dcd482e95ae12b46e35644b6942d76e3e17ef610ff7c8699a2176b843413bcc current-1/mixed_write/text/1000/new/sample.json +5ee8882bb2e6b2172b7421cb210ca790d05eea42578cedf759e23b5dd0a346d9 current-1/mixed_write/text/1000/new/tukey.json diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/criterion-results.tar.gz b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/criterion-results.tar.gz new file mode 100644 index 0000000..5cc3535 Binary files /dev/null and b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/criterion-results.tar.gz differ diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current-0.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current-0.txt new file mode 100644 index 0000000..ee246b7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current-0.txt @@ -0,0 +1,46 @@ +memcap: <=7774 MiB (60% of 12957 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0023 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [143.01 µs 144.75 µs 146.99 µs] + thrpt: [187.53 MiB/s 190.43 MiB/s 192.74 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 3 (6.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0030 s (17k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [118.36 µs 119.46 µs 120.87 µs] + thrpt: [330.62 MiB/s 334.51 MiB/s 337.62 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 1 (2.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0010 s (26k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [75.178 µs 76.163 µs 77.283 µs] + thrpt: [246.96 MiB/s 250.59 MiB/s 253.88 MiB/s] +Found 8 outliers among 50 measurements (16.00%) + 4 (8.00%) high mild + 4 (8.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0027 s (14k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [137.91 µs 138.81 µs 139.84 µs] + thrpt: [129.66 MiB/s 130.63 MiB/s 131.48 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 4 (8.00%) high mild + 2 (4.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0043 s (21k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [95.759 µs 96.769 µs 98.066 µs] + thrpt: [368.60 MiB/s 373.54 MiB/s 377.48 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 5 (10.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current-1.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current-1.txt new file mode 100644 index 0000000..31a22cf --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current-1.txt @@ -0,0 +1,47 @@ +memcap: <=7775 MiB (60% of 12959 MiB available) [systemd MemoryMax, swap off] +Benchmarking mixed_write/text/1000 +Benchmarking mixed_write/text/1000: Warming up for 1.0000 s +Benchmarking mixed_write/text/1000: Collecting 50 samples in estimated 2.0040 s (14k iterations) +Benchmarking mixed_write/text/1000: Analyzing +mixed_write/text/1000 time: [142.17 µs 142.62 µs 143.16 µs] + thrpt: [192.54 MiB/s 193.26 MiB/s 193.88 MiB/s] +Found 2 outliers among 50 measurements (4.00%) + 1 (2.00%) high mild + 1 (2.00%) high severe +Benchmarking mixed_write/scalar/1000 +Benchmarking mixed_write/scalar/1000: Warming up for 1.0000 s +Benchmarking mixed_write/scalar/1000: Collecting 50 samples in estimated 2.0038 s (18k iterations) +Benchmarking mixed_write/scalar/1000: Analyzing +mixed_write/scalar/1000 time: [107.84 µs 109.57 µs 112.00 µs] + thrpt: [356.80 MiB/s 364.71 MiB/s 370.58 MiB/s] +Found 5 outliers among 50 measurements (10.00%) + 5 (10.00%) high severe +Benchmarking mixed_write/enum/1000 +Benchmarking mixed_write/enum/1000: Warming up for 1.0000 s +Benchmarking mixed_write/enum/1000: Collecting 50 samples in estimated 2.0015 s (25k iterations) +Benchmarking mixed_write/enum/1000: Analyzing +mixed_write/enum/1000 time: [75.641 µs 75.907 µs 76.201 µs] + thrpt: [250.47 MiB/s 251.44 MiB/s 252.32 MiB/s] +Found 3 outliers among 50 measurements (6.00%) + 2 (4.00%) high mild + 1 (2.00%) high severe +Benchmarking mixed_write/pattern/1000 +Benchmarking mixed_write/pattern/1000: Warming up for 1.0000 s +Benchmarking mixed_write/pattern/1000: Collecting 50 samples in estimated 2.0052 s (14k iterations) +Benchmarking mixed_write/pattern/1000: Analyzing +mixed_write/pattern/1000 + time: [139.79 µs 141.37 µs 143.19 µs] + thrpt: [126.63 MiB/s 128.26 MiB/s 129.71 MiB/s] +Found 10 outliers among 50 measurements (20.00%) + 7 (14.00%) high mild + 3 (6.00%) high severe +Benchmarking mixed_write/nested/1000 +Benchmarking mixed_write/nested/1000: Warming up for 1.0000 s +Benchmarking mixed_write/nested/1000: Collecting 50 samples in estimated 2.0005 s (20k iterations) +Benchmarking mixed_write/nested/1000: Analyzing +mixed_write/nested/1000 time: [96.815 µs 99.112 µs 102.19 µs] + thrpt: [353.72 MiB/s 364.71 MiB/s 373.36 MiB/s] +Found 6 outliers among 50 measurements (12.00%) + 2 (4.00%) high mild + 4 (8.00%) high severe + diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current-build.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current-build.txt new file mode 100644 index 0000000..6a7e72a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current-build.txt @@ -0,0 +1,4 @@ +memcap: <=7744 MiB (60% of 12907 MiB available) [systemd MemoryMax, swap off] + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-writer/crates/polyxml-core) + Compiling core-regression v0.0.0 (/home/bailey/github/polyxml-mixed-writer/benchmarks/rust-xml-regression/target/core-current) + Finished `bench` profile [optimized] target(s) in 27.06s diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current.lock b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current.lock new file mode 100644 index 0000000..78a11b2 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/current.lock @@ -0,0 +1,633 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloca" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7d05ea6aea7e9e64d25b9156ba2fee3fdd659e34e41063cd2fc7cd020d7f4" +dependencies = [ + "cc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa8876b300ab35ba921adea3dfd70157a46249b33f95c9084ae5709785478946" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstyle", + "clap_lex", +] + +[[package]] +name = "clap_lex" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c133bc6a41be0d194c306b5506d15e6feeea7b1d6604bd3f8310dfb2ca96486" + +[[package]] +name = "core-regression" +version = "0.0.0" +dependencies = [ + "criterion", + "polyxml", +] + +[[package]] +name = "criterion" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" +dependencies = [ + "alloca", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools", + "num-traits", + "oorandom", + "page_size", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "find-msvc-tools" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484" + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "libc" +version = "0.2.190" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memo-map" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c8c750f1a07ea702bbd212bd999fceece9b3d1508b17023b3e174583124b" + +[[package]] +name = "minijinja" +version = "2.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86886cf6dbf4e614b19c9a1eec9775f021869d7eadde0fc73921a81b90c9b4c9" +dependencies = [ + "memo-map", + "serde", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "phf_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_shared" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89" +dependencies = [ + "siphasher", +] + +[[package]] +name = "polyxml" +version = "0.34.6" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b1177fdf999d2321d3fb46ff47159d9c1fb9ad66a4879f8c50a0b504615e9b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "siphasher" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33f4fe9184a62d842c9ef383018f3306d8ba224fd9d836f56d7288308847c256" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "unicode-ident" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zerocopy" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df92bf3d9227be3d53173901ddbffac2babc27ae50f397776ffd6dc33f800cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac4f328cf2f05d084e496c3e9c3f33ed0a183656a16e1fcec4d464d8373aec82" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/harness.rs b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/harness.rs new file mode 100644 index 0000000..7d0413e --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/harness.rs @@ -0,0 +1,120 @@ +use criterion::{ + criterion_group, criterion_main, BenchmarkId, Criterion, SamplingMode, Throughput, +}; +use polyxml::schema::ModelSchema; +use polyxml::schema_parser::XsdParser; +use polyxml::{deserialize, serialize, PolyValue}; +use std::{hint::black_box, sync::Arc}; + +fn fixture(kind: &str, count: usize) -> (Arc, Vec) { + let xsd = r#" + + + + + + + + + + "#; + let ir = XsdParser::new().parse_str(xsd).unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); + let mut xml = String::from(""); + for index in 0..count { + let part = match kind { + "text" => format!("text-{index}&"), + "scalar" => format!("item-{index}&"), + "enum" => "Ready".into(), + "pattern" => format!("ABC{:03}", index % 1000), + "nested" => format!("item-{index}"), + _ => unreachable!(), + }; + xml.push_str(&part); + } + xml.push_str(""); + let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + let items_name = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; + let items = value.get(items_name).and_then(PolyValue::as_list).unwrap(); + if kind == "text" { + // Text, GeneralRef and CData become separate ordered items. + assert_eq!(items.len(), count * 3); + for (index, items) in items.chunks_exact(3).enumerate() { + for (item, expected) in + items + .iter() + .zip([format!("text-{index}"), "&".into(), "more".into()]) + { + assert_eq!(item.get("kind").and_then(PolyValue::as_str), Some("#text")); + assert_eq!( + item.get("value").and_then(PolyValue::as_str), + Some(expected.as_str()) + ); + } + } + } else { + assert_eq!(items.len(), count); + for (index, item) in items.iter().enumerate() { + let value = item.get("value").unwrap(); + match kind { + "scalar" => assert_eq!(value.as_str(), Some(format!("item-{index}&more").as_str())), + "enum" => assert_eq!(value.as_str(), Some("Ready")), + "pattern" => assert_eq!( + value.as_str(), + Some(format!("ABC{:03}", index % 1000).as_str()) + ), + "nested" => assert_eq!( + value.get("value").and_then(PolyValue::as_str), + Some(format!("item-{index}").as_str()) + ), + _ => unreachable!(), + } + } + } + let output = serialize("Root", &value, &schema, None).unwrap(); + let reparsed = deserialize(&output, Arc::clone(&schema)).unwrap(); + if kind == "text" { + // XML writers coalesce adjacent text segments. Compare their text value + // rather than treating the reader's segmentation as XML semantics. + let text = |value: &PolyValue| -> String { + value + .get(items_name) + .unwrap() + .as_list() + .unwrap() + .iter() + .map(|item| item.get("value").unwrap().as_str().unwrap()) + .collect() + }; + assert_eq!(text(&value), text(&reparsed)); + } else { + assert_eq!(value, reparsed); + } + (schema, xml.into_bytes()) +} + +fn benchmarks(c: &mut Criterion) { + for operation in ["mixed_read", "mixed_write"] { + let mut group = c.benchmark_group(operation); + group.sampling_mode(SamplingMode::Flat); + for kind in ["text", "scalar", "enum", "pattern", "nested"] { + let (schema, xml) = fixture(kind, 1000); + let value = deserialize(&xml, Arc::clone(&schema)).unwrap(); + group.throughput(Throughput::Bytes(xml.len() as u64)); + group.bench_function(BenchmarkId::new(kind, 1000), |b| { + if operation == "mixed_read" { + b.iter(|| { + black_box(deserialize(black_box(&xml), Arc::clone(&schema)).unwrap()) + }); + } else { + b.iter(|| { + black_box(serialize("Root", black_box(&value), &schema, None).unwrap()) + }); + } + }); + } + group.finish(); + } +} +criterion_group!(benches, benchmarks); +criterion_main!(benches); diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/metadata.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/metadata.json new file mode 100644 index 0000000..b57e4dc --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/metadata.json @@ -0,0 +1,19 @@ +{ + "revisions": { + "baseline": "1819c91b0808b9242c642d82350d2b657b60108c", + "current": "39ed44899b3dcd9104a7acd09be20269f98dd1eb" + }, + "core_status": { + "baseline": "", + "current": "" + }, + "sample_size": 50, + "warmup_seconds": 1.0, + "measurement_seconds": 2.0, + "rounds": 2, + "filter": "^mixed_write/", + "order": "alternate baseline/current per round", + "os": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz", + "rustc": "rustc 1.99.0 (b940084d7 2026-09-28)\nbinary: rustc\ncommit-hash: b940084d7eb6a299eb4bfeb8e34901bc051e7ac4\ncommit-date: 2026-09-28\nhost: x86_64-unknown-linux-gnu\nrelease: 1.99.0\nLLVM version: 23.1.1\n" +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/summary.json b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/summary.json new file mode 100644 index 0000000..f5e63b5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-isolation-screen/summary.json @@ -0,0 +1,262 @@ +{ + "mixed_write/enum/1000": { + "baseline_ns": 80943.0238289008, + "candidate_ns": 76034.92368455851, + "delta_percent": -6.06364812206317, + "speedup": 1.0645506026244496, + "process_deltas_percent": [ + -6.087085795213431, + -6.04011952429876 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80398.95971169356, + "upper_bound": 82062.9725141129 + }, + "point_estimate": 81099.72592741932, + "standard_error": 432.5588122586862 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 80276.59149396379, + "upper_bound": 81389.48680382293 + }, + "point_estimate": 80786.32173038229, + "standard_error": 283.91149913220653 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 75177.98598282442, + "upper_bound": 77282.54520801526 + }, + "point_estimate": 76163.11603053435, + "standard_error": 539.6818695111473 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 75641.19872440945, + "upper_bound": 76200.5406988189 + }, + "point_estimate": 75906.73133858266, + "standard_error": 142.8056119017304 + } + ] + } + }, + "mixed_write/nested/1000": { + "baseline_ns": 98095.82745121427, + "candidate_ns": 97940.60947018498, + "delta_percent": -0.15823097175716727, + "speedup": 1.0015848173895276, + "process_deltas_percent": [ + -1.3162215956187606, + 0.9988999805125909 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97582.39182425747, + "upper_bound": 98629.27502599008 + }, + "point_estimate": 98059.40163366338, + "standard_error": 268.97338433511254 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 97382.90191646488, + "upper_bound": 99039.93573002424 + }, + "point_estimate": 98132.25326876515, + "standard_error": 425.2729430091747 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 95758.70726840853, + "upper_bound": 98066.49614845606 + }, + "point_estimate": 96768.72261282656, + "standard_error": 596.385755294267 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 96815.16179776675, + "upper_bound": 102192.06058560796 + }, + "point_estimate": 99112.49632754341, + "standard_error": 1382.6264655199313 + } + ] + } + }, + "mixed_write/pattern/1000": { + "baseline_ns": 147297.40687329433, + "candidate_ns": 140086.74070658936, + "delta_percent": -4.895311003612979, + "speedup": 1.0514728669561073, + "process_deltas_percent": [ + -6.218543246919994, + -3.5592226419707718 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 146299.35187407405, + "upper_bound": 150050.11688703706 + }, + "point_estimate": 148009.49585185185, + "standard_error": 959.4522045837475 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 144414.80199190282, + "upper_bound": 149524.6106417004 + }, + "point_estimate": 146585.3178947368, + "standard_error": 1323.0680823054886 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 137908.3658409894, + "upper_bound": 139844.35776325088 + }, + "point_estimate": 138805.4613427562, + "standard_error": 495.4473875141164 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 139793.6776443662, + "upper_bound": 143193.627915493 + }, + "point_estimate": 141368.0200704225, + "standard_error": 870.4665474805945 + } + ] + } + }, + "mixed_write/scalar/1000": { + "baseline_ns": 112379.09573751435, + "candidate_ns": 114517.41352818992, + "delta_percent": 1.9027718426121387, + "speedup": 0.98132757521502, + "process_deltas_percent": [ + 12.558204101465641, + -7.630816482003066 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 105548.61943351061, + "upper_bound": 106917.48299601064 + }, + "point_estimate": 106134.52303191488, + "standard_error": 355.54824325556365 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 117908.61883083828, + "upper_bound": 119548.6554880239 + }, + "point_estimate": 118623.66844311383, + "standard_error": 423.1173950858115 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 118363.76258605348, + "upper_bound": 120867.97351186948 + }, + "point_estimate": 119463.11305637982, + "standard_error": 644.1515791678934 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 107835.3255666666, + "upper_bound": 112001.49328472222 + }, + "point_estimate": 109571.71400000002, + "standard_error": 1083.117039975249 + } + ] + } + }, + "mixed_write/text/1000": { + "baseline_ns": 144296.0699592075, + "candidate_ns": 143685.29500815616, + "delta_percent": -0.4232789924382585, + "speedup": 1.0042507825941178, + "process_deltas_percent": [ + 1.4880213739523418, + -2.2907945647203776 + ], + "process_estimates": { + "baseline": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142231.524507326, + "upper_bound": 143095.28006043955 + }, + "point_estimate": 142624.12461538464, + "standard_error": 221.25600911639467 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 145294.08716477276, + "upper_bound": 146830.3591420455 + }, + "point_estimate": 145968.01530303032, + "standard_error": 395.69350093639514 + } + ], + "current": [ + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 143013.6117444444, + "upper_bound": 146985.28786851853 + }, + "point_estimate": 144746.402074074, + "standard_error": 1018.5617694058635 + }, + { + "confidence_interval": { + "confidence_level": 0.95, + "lower_bound": 142169.0568646209, + "upper_bound": 143161.27109927795 + }, + "point_estimate": 142624.1879422383, + "standard_error": 254.6050521279341 + } + ] + } + } +} diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-tests.log b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-tests.log new file mode 100644 index 0000000..d0927e6 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/mixed-writer-tests.log @@ -0,0 +1,30 @@ +memcap: <=7766 MiB (60% of 12944 MiB available) [systemd MemoryMax, swap off] + Compiling polyxml v0.34.6 (/home/bailey/github/polyxml-mixed-writer/crates/polyxml-core) + Finished `test` profile [unoptimized + debuginfo] target(s) in 1.08s + Running tests/test_mixed_nil.rs (/home/bailey/github/PolyXML/target/followup-borrow-verification/debug/deps/test_mixed_nil-1aec7ae934470d6f) + +running 2 tests +test nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings ... FAILED +test nil_instance_prefix_does_not_rebind_the_element_namespace ... FAILED + +failures: + +---- nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings stdout ---- + +thread 'nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings' (503936) panicked at crates/polyxml-core/tests/test_mixed_nil.rs:41:63: +called `Result::unwrap()` on an `Err` value: SerializationError("Invalid mixed content value for text") + +---- nil_instance_prefix_does_not_rebind_the_element_namespace stdout ---- + +thread 'nil_instance_prefix_does_not_rebind_the_element_namespace' (503935) panicked at crates/polyxml-core/tests/test_mixed_nil.rs:61:10: +called `Result::unwrap()` on an `Err` value: SerializationError("Invalid mixed content value for text") +note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace + + +failures: + nil_instance_prefix_does_not_rebind_the_element_namespace + nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings + +test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + +error: test failed, to rerun pass `-p polyxml --test test_mixed_nil` diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-branch-allocations.py.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-branch-allocations.py.txt new file mode 100644 index 0000000..f8696e7 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-branch-allocations.py.txt @@ -0,0 +1,29 @@ +from pathlib import Path +import json,os,subprocess,shutil,sys +root=Path('/home/bailey/github/PolyXML');repo=Path(sys.argv[1]).resolve();label=sys.argv[2];out=Path(sys.argv[3]);out.mkdir(parents=True,exist_ok=True) +crate=root/'benchmarks/rust-runtime-investigation/target'/('branch-allocations-'+label);(crate/'src').mkdir(parents=True,exist_ok=True) +source=Path('/home/bailey/github/polyxml-mixed-index/benchmarks/rust-runtime-investigation/mixed_branches.rs').read_text() +fixture=source[source.index('fn fixture('):source.index('fn benchmarks(')] +allocator=(root/'benchmarks/rust-runtime-investigation/diagnostics.rs').read_text();allocator=allocator[allocator.index('use std::alloc'):allocator.index('fn main()')] +harness='use polyxml::schema::ModelSchema;\nuse polyxml::schema_parser::XsdParser;\nuse polyxml::{deserialize,serialize,PolyValue};\nuse std::{hint::black_box,sync::Arc};\n'+allocator+fixture+r''' +fn main() { + for branches in [1,16,64,256] { for count in [1,1000] { + let (schema,xml)=fixture(branches,count); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root",&value,&schema,None).unwrap()); } + ALLOCATIONS.store(0,Ordering::Relaxed);REALLOCATIONS.store(0,Ordering::Relaxed);BYTES.store(0,Ordering::Relaxed); + COUNTING.store(true,Ordering::Relaxed); + let output=serialize("Root",&value,&schema,None).unwrap(); + COUNTING.store(false,Ordering::Relaxed); + println!("branches={branches},items={count},allocations={},reallocations={},requested_bytes={},output_bytes={}",ALLOCATIONS.load(Ordering::Relaxed),REALLOCATIONS.load(Ordering::Relaxed),BYTES.load(Ordering::Relaxed),output.len()); + } } +} +''' +(crate/'src/main.rs').write_text(harness) +(crate/'Cargo.toml').write_text('[package]\nname="branch-allocations"\nversion="0.0.0"\nedition="2021"\n[workspace]\n[dependencies]\npolyxml={path='+json.dumps(str(repo/'crates/polyxml-core'))+'}\n') +shutil.copy2(root/'benchmarks/rust-runtime-investigation/target/selected/Cargo.lock',crate/'Cargo.lock') +env=os.environ|{'CARGO_BUILD_JOBS':'1','POLYXML_MEMCAP_BACKEND':'systemd'} +with (out/(label+'-build.txt')).open('w') as log:subprocess.run([str(root/'scripts/memcap.sh'),'cargo','build','--release','--manifest-path',str(crate/'Cargo.toml')],env=env,stdout=log,stderr=subprocess.STDOUT,check=True) +for name,path in [('harness.rs',crate/'src/main.rs'),('Cargo.toml',crate/'Cargo.toml'),('Cargo.lock',crate/'Cargo.lock')]:shutil.copy2(path,out/(label+'-'+name)) +with (out/(label+'-allocations.txt')).open('w') as log:subprocess.run([str(root/'scripts/memcap.sh'),str(crate/'target/release/branch-allocations')],env=env,stdout=log,stderr=subprocess.STDOUT,check=True) +(out/(label+'-metadata.json')).write_text(json.dumps({'revision':subprocess.check_output(['git','-C',str(repo),'rev-parse','HEAD'],text=True).strip(),'items':[1,1000],'branches':[1,16,64,256],'operations':1,'warmup_operations':3,'rustc':subprocess.check_output(['rustc','-Vv'],text=True)},indent=2)+'\n') diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-mixed-index-verify-sampled.sh.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-mixed-index-verify-sampled.sh.txt new file mode 100644 index 0000000..857abf5 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-mixed-index-verify-sampled.sh.txt @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -euo pipefail +cd /home/bailey/github/polyxml-mixed-index +export POLYXML_MEMCAP_BACKEND=systemd CARGO_BUILD_JOBS=1 DOTNET_ROLL_FORWARD=Major +export PATH=/tmp/polyxml-corpus-tools/node_modules/.bin:$PATH +root=/home/bailey/github/PolyXML +ln -s "$root/benchmarks/rust-xml-regression/target" benchmarks/rust-xml-regression/target +python3 benchmarks/rust-xml-regression/run_core.py --baseline ../polyxml-perf-selected --harness /tmp/polyxml-mixed-branch-concentrated.rs --output "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-concentrated-final-sampled" --rounds 2 --samples 50 --warmup 1 --measurement 2 --filter '^branch_write/' +python3 benchmarks/rust-xml-regression/run_core.py --baseline ../polyxml-perf-selected --harness benchmarks/rust-runtime-investigation/mixed_branches.rs --output "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-final-sampled" --rounds 3 --samples 100 --warmup 3 --measurement 5 --filter '^branch_write/.*/1000$' +python3 benchmarks/rust-xml-regression/run_core.py --baseline ../polyxml-perf-selected --harness benchmarks/rust-runtime-investigation/mixed_branches.rs --output "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-controls-sampled" --rounds 2 --samples 50 --warmup 1 --measurement 2 --filter '^branch_read/.*/(1|1000)$|^branch_write/.*/1$' +python3 benchmarks/rust-xml-regression/run_core.py --baseline ../polyxml-perf-selected --harness benchmarks/rust-runtime-investigation/mixed.rs --output "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-common-sampled" --rounds 3 --samples 100 --warmup 3 --measurement 5 --filter '^mixed_write/' +python3 benchmarks/rust-xml-regression/run_core.py --baseline ../polyxml-perf-selected --output "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-core-sampled" --rounds 2 --samples 50 --warmup 1 --measurement 2 +unlink benchmarks/rust-xml-regression/target +python3 /tmp/polyxml-branch-allocations.py ../polyxml-perf-selected baseline "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-allocations-sampled" +python3 /tmp/polyxml-branch-allocations.py . current "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-allocations-sampled" +export CARGO_TARGET_DIR="$root/target/followup-mixed-index-verification" +ln -s "$CARGO_TARGET_DIR" target +ln -s "$root/.venv" .venv +scripts/memcap.sh scripts/gate.sh > /tmp/polyxml-mixed-index-gate-sampled.log 2>&1 +unlink target +unlink .venv diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-mixed-index-verify.sh.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-mixed-index-verify.sh.txt new file mode 100644 index 0000000..c8f651a --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-mixed-index-verify.sh.txt @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -euo pipefail +cd /home/bailey/github/polyxml-mixed-index +export POLYXML_MEMCAP_BACKEND=systemd CARGO_BUILD_JOBS=1 DOTNET_ROLL_FORWARD=Major +export PATH=/tmp/polyxml-corpus-tools/node_modules/.bin:$PATH +root=/home/bailey/github/PolyXML +ln -s "$root/benchmarks/rust-xml-regression/target" benchmarks/rust-xml-regression/target +python3 benchmarks/rust-xml-regression/run_core.py --baseline ../polyxml-perf-selected --harness benchmarks/rust-runtime-investigation/mixed_branches.rs --output "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-final" --rounds 3 --samples 100 --warmup 3 --measurement 5 --filter '^branch_write/.*/1000$' +python3 benchmarks/rust-xml-regression/run_core.py --baseline ../polyxml-perf-selected --harness benchmarks/rust-runtime-investigation/mixed_branches.rs --output "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-controls" --rounds 2 --samples 50 --warmup 1 --measurement 2 --filter '^branch_read/|^branch_write/.*/1$' +python3 benchmarks/rust-xml-regression/run_core.py --baseline ../polyxml-perf-selected --harness benchmarks/rust-runtime-investigation/mixed.rs --output "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-common" --rounds 3 --samples 100 --warmup 3 --measurement 5 --filter '^mixed_write/' +python3 benchmarks/rust-xml-regression/run_core.py --baseline ../polyxml-perf-selected --output "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-core" --rounds 2 --samples 50 --warmup 1 --measurement 2 +unlink benchmarks/rust-xml-regression/target +python3 /tmp/polyxml-branch-allocations.py ../polyxml-perf-selected baseline "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-allocations" +python3 /tmp/polyxml-branch-allocations.py . current "$root/benchmarks/rust-runtime-investigation/target/evidence/mixed-branch-index-allocations" +export CARGO_TARGET_DIR="$root/target/followup-mixed-index-verification" +ln -s "$CARGO_TARGET_DIR" target +ln -s "$root/.venv" .venv +scripts/memcap.sh scripts/gate.sh > /tmp/polyxml-mixed-index-gate.log 2>&1 +unlink target +unlink .venv diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-profile-mixed.py.txt b/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-profile-mixed.py.txt new file mode 100644 index 0000000..c4f3dd9 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/polyxml-profile-mixed.py.txt @@ -0,0 +1,41 @@ +from pathlib import Path +import json,os,subprocess,shutil,sys +root=Path('/home/bailey/github/PolyXML') +repo=Path(sys.argv[1]).resolve();label=sys.argv[2];out=Path(sys.argv[3]);out.mkdir(parents=True,exist_ok=True) +crate=root/'benchmarks/rust-runtime-investigation/target'/('mixed-profile-'+label);(crate/'src').mkdir(parents=True,exist_ok=True) +source=Path('/home/bailey/github/polyxml-mixed-nil/benchmarks/rust-runtime-investigation/mixed.rs').read_text() +fixture=source[source.index('fn fixture('):source.index('fn benchmarks(')] +harness='use polyxml::schema::ModelSchema;\nuse polyxml::schema_parser::XsdParser;\nuse polyxml::{deserialize, serialize, PolyValue};\nuse std::{hint::black_box,sync::Arc};\n'+fixture+r''' +#[inline(never)] +#[no_mangle] +fn measured_region(schema: &ModelSchema, value: &PolyValue, count: usize) { + for _ in 0..count { black_box(serialize("Root", black_box(value), black_box(schema), None).unwrap()); } +} +fn main() { + let kind=std::env::args().nth(1).unwrap(); + let (schema,xml)=fixture(&kind,1000); + let value=deserialize(&xml,Arc::clone(&schema)).unwrap(); + for _ in 0..3 { black_box(serialize("Root", &value, &schema,None).unwrap()); } + measured_region(&schema,&value,25); +} +''' +(crate/'src/main.rs').write_text(harness) +(crate/'Cargo.toml').write_text('[package]\nname="mixed-profile"\nversion="0.0.0"\nedition="2021"\n[workspace]\n[dependencies]\npolyxml={path='+json.dumps(str(repo/'crates/polyxml-core'))+'}\n[profile.release]\ndebug=1\n') +shutil.copy2(root/'benchmarks/rust-runtime-investigation/target/selected/Cargo.lock',crate/'Cargo.lock') +env=os.environ|{'CARGO_BUILD_JOBS':'1','POLYXML_MEMCAP_BACKEND':'systemd'} +with (out/(label+'-build.txt')).open('w') as log: + subprocess.run([str(root/'scripts/memcap.sh'),'cargo','build','--release','--manifest-path',str(crate/'Cargo.toml')],env=env,stdout=log,stderr=subprocess.STDOUT,check=True) +for name,path in [('harness.rs',crate/'src/main.rs'),('Cargo.toml',crate/'Cargo.toml'),('Cargo.lock',crate/'Cargo.lock')]:shutil.copy2(path,out/(label+'-'+name)) +(out/(label+'-metadata.json')).write_text(json.dumps({'revision':subprocess.check_output(['git','-C',str(repo),'rev-parse','HEAD'],text=True).strip(),'kind':['scalar','pattern'],'items':1000,'operations':25,'warmup_operations':3,'rustc':subprocess.check_output(['rustc','-Vv'],text=True)},indent=2)+'\n') +tools=root/'benchmarks/rust-runtime-investigation/target/tools/root/usr' +env['VALGRIND_LIB']=str(tools/'libexec/valgrind') +for kind in ['scalar','pattern']: + subprocess.run([str(root/'scripts/memcap.sh'),str(tools/'bin/valgrind'),'--tool=callgrind','--collect-atstart=no','--toggle-collect=measured_region','--callgrind-out-file='+str(out/(label+'-'+kind+'.callgrind')),'--log-file='+str(out/(label+'-'+kind+'-valgrind.txt')),'--error-exitcode=93',str(crate/'target/release/mixed-profile'),kind],env=env,check=True) + with (out/(label+'-'+kind+'-annotated.txt')).open('w') as log: + subprocess.run([str(tools/'bin/callgrind_annotate'),'--auto=no','--inclusive=no','--threshold=95',str(out/(label+'-'+kind+'.callgrind'))],env=env,stdout=log,check=True) + +for kind in ["scalar", "pattern"]: + text=(out/(label+"-"+kind+"-valgrind.txt")).read_text() + import re + match=re.search(r"Collected :\s*([\d,]+)",text) + assert match and int(match.group(1).replace(",","")) > 0, "measurement marker collected no instructions" diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/sampled-selector.patch b/research/data/runtime-followups-2026-10-03/mixed-writer/sampled-selector.patch new file mode 100644 index 0000000..305a444 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/sampled-selector.patch @@ -0,0 +1,539 @@ +diff --git a/crates/polyxml-core/src/serializer.rs b/crates/polyxml-core/src/serializer.rs +index f68ba99..f6de2f4 100644 +--- a/crates/polyxml-core/src/serializer.rs ++++ b/crates/polyxml-core/src/serializer.rs +@@ -523,93 +523,7 @@ impl XmlSerializer { + if let Some(PolyValue::List(items)) = + get_field(mixed.items_index, &schema.fields[mixed.items_index].name) + { +- for item in items { +- let tagged_field = |name: &str| -> Option<&PolyValue> { +- match item { +- PolyValue::Object(tagged) => tagged.get(name), +- PolyValue::Record { schema, values } => schema +- .fields +- .iter() +- .position(|field| field.name == name) +- .and_then(|idx| values.get(idx)) +- .and_then(Option::as_ref), +- _ => None, +- } +- }; +- let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { +- return Err(PolyXmlError::SerializationError( +- "Mixed content item has no kind".into(), +- )); +- }; +- let Some(content) = tagged_field("value") else { +- return Err(PolyXmlError::SerializationError( +- "Mixed content item has no value".into(), +- )); +- }; +- if kind == "#text" { +- let Some(text) = content.as_str() else { +- return Err(PolyXmlError::SerializationError( +- "Mixed text item must be a string".into(), +- )); +- }; +- writer +- .write_event(Event::Text(BytesText::new(text))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- continue; +- } +- let Some(branch) = mixed +- .branches +- .iter() +- .find(|branch| branch.variant_name == kind) +- else { +- return Err(PolyXmlError::SerializationError(format!( +- "Unknown mixed content kind: {kind}" +- ))); +- }; +- let local_name = std::str::from_utf8(&branch.xml_name)?; +- let qualified = if let Some(ctx) = ns_ctx { +- ctx.qualify_element( +- local_name, +- branch.namespace.as_deref().or(schema.namespace.as_deref()), +- ) +- } else { +- Cow::Borrowed(local_name) +- }; +- match &branch.val_type { +- ValueType::Scalar(_) => { +- let mut buf = [0u8; lexical_core::BUFFER_SIZE]; +- let Some(text) = Self::format_scalar_to(content, &mut buf) else { +- return Err(PolyXmlError::SerializationError(format!( +- "Invalid mixed content value for {kind}" +- ))); +- }; +- Self::validate_scalar(&branch.val_type, &text, kind)?; +- writer +- .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- writer +- .write_event(Event::Text(BytesText::new(&text))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- writer +- .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- } +- ValueType::Nested(nested) => Self::write_model( +- writer, +- &branch.xml_name, +- content, +- nested, +- ns_ctx, +- false, +- branch.namespace.as_deref().or(nested.namespace.as_deref()), +- )?, +- ValueType::List(_) => { +- return Err(PolyXmlError::SerializationError( +- "Nested lists are invalid mixed content branches".into(), +- )) +- } +- } +- } ++ Self::write_mixed_items(writer, items, schema, mixed, ns_ctx)?; + } + } else { + for (idx, field) in schema.fields.iter().enumerate() { +@@ -759,6 +673,198 @@ impl XmlSerializer { + Ok(()) + } + ++ fn write_mixed_items( ++ writer: &mut Writer, ++ items: &[PolyValue], ++ schema: &ModelSchema, ++ mixed: &crate::schema::MixedContentSchema, ++ ns_ctx: Option<&NamespaceContext>, ++ ) -> Result<()> { ++ // Amortize the temporary index only for sufficiently large schemas and ++ // repeated payloads. References avoid cloning keys or branch metadata. ++ if mixed.branches.len() >= 64 ++ && items.len() >= 64 ++ && items.len() >= mixed.branches.len().div_ceil(2) ++ && Self::mixed_lookup_sample_favors_index(items, mixed) ++ { ++ let mut index = std::collections::HashMap::with_capacity(mixed.branches.len()); ++ for branch in &mixed.branches { ++ // Preserve the linear lookup's first-match behavior for public ++ // metadata containing duplicate variant names. ++ index.entry(branch.variant_name.as_str()).or_insert(branch); ++ } ++ Self::write_mixed_items_using(writer, items, schema, ns_ctx, |kind| { ++ index.get(kind).copied() ++ }) ++ } else { ++ Self::write_mixed_items_using(writer, items, schema, ns_ctx, |kind| { ++ mixed ++ .branches ++ .iter() ++ .find(|branch| branch.variant_name == kind) ++ }) ++ } ++ } ++ ++ fn mixed_lookup_sample_favors_index( ++ items: &[PolyValue], ++ mixed: &crate::schema::MixedContentSchema, ++ ) -> bool { ++ // Spread a bounded sample across the payload. Early-branch reuse and ++ // text-only items otherwise pay for an index that saves little work. ++ let stride = items.len() / 16; ++ let mut tagged = 0; ++ let mut comparisons = 0; ++ for sample in 0..16 { ++ // Offset within each bin to avoid sampling the same tag when a ++ // repeated choice cycle divides the stride exactly. ++ let offset = (sample * 17 + 7) % stride; ++ let Some(kind) = items[sample * stride + offset] ++ .get("kind") ++ .and_then(PolyValue::as_str) ++ else { ++ continue; ++ }; ++ if kind == "#text" { ++ continue; ++ } ++ if let Some(position) = mixed ++ .branches ++ .iter() ++ .position(|branch| branch.variant_name == kind) ++ { ++ tagged += 1; ++ comparisons += position + 1; ++ } ++ } ++ tagged >= 4 && comparisons >= tagged * 16 ++ } ++ ++ #[inline(never)] ++ fn write_mixed_items_using<'a, W: std::io::Write, F>( ++ writer: &mut Writer, ++ items: &[PolyValue], ++ schema: &ModelSchema, ++ ns_ctx: Option<&NamespaceContext>, ++ lookup: F, ++ ) -> Result<()> ++ where ++ F: Fn(&str) -> Option<&'a crate::schema::MixedBranchSchema>, ++ { ++ for item in items { ++ let tagged_field = |name: &str| -> Option<&PolyValue> { ++ match item { ++ PolyValue::Object(tagged) => tagged.get(name), ++ PolyValue::Record { schema, values } => schema ++ .fields ++ .iter() ++ .position(|field| field.name == name) ++ .and_then(|idx| values.get(idx)) ++ .and_then(Option::as_ref), ++ _ => None, ++ } ++ }; ++ let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed content item has no kind".into(), ++ )); ++ }; ++ let Some(content) = tagged_field("value") else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed content item has no value".into(), ++ )); ++ }; ++ if kind == "#text" { ++ let Some(text) = content.as_str() else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed text item must be a string".into(), ++ )); ++ }; ++ writer ++ .write_event(Event::Text(BytesText::new(text))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ continue; ++ } ++ let Some(branch) = lookup(kind) else { ++ return Err(PolyXmlError::SerializationError(format!( ++ "Unknown mixed content kind: {kind}" ++ ))); ++ }; ++ let local_name = std::str::from_utf8(&branch.xml_name)?; ++ let qualified = if let Some(ctx) = ns_ctx { ++ ctx.qualify_element( ++ local_name, ++ branch.namespace.as_deref().or(schema.namespace.as_deref()), ++ ) ++ } else { ++ Cow::Borrowed(local_name) ++ }; ++ match &branch.val_type { ++ ValueType::Scalar(_) => { ++ let mut buf = [0u8; lexical_core::BUFFER_SIZE]; ++ let Some(text) = Self::format_scalar_to(content, &mut buf) else { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ continue; ++ } ++ return Err(PolyXmlError::SerializationError(format!( ++ "Invalid mixed content value for {kind}" ++ ))); ++ }; ++ Self::validate_scalar(&branch.val_type, &text, kind)?; ++ writer ++ .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ writer ++ .write_event(Event::Text(BytesText::new(&text))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ writer ++ .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ } ++ ValueType::Nested(nested) => { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ } else { ++ Self::write_model( ++ writer, ++ &branch.xml_name, ++ content, ++ nested, ++ ns_ctx, ++ false, ++ branch.namespace.as_deref().or(nested.namespace.as_deref()), ++ )?; ++ } ++ } ++ ValueType::List(_) => { ++ return Err(PolyXmlError::SerializationError( ++ "Nested lists are invalid mixed content branches".into(), ++ )) ++ } ++ } ++ } ++ Ok(()) ++ } ++ ++ // A tagged null is a present nil element, unlike an absent ordinary field. ++ // Bind the instance prefix locally without shadowing the element's QName. ++ // Scalar callers reach this through their existing failed-format path. ++ #[cold] ++ fn write_mixed_nil(writer: &mut Writer, qualified: &str) -> Result<()> { ++ let (declaration, attribute) = if qualified.starts_with("xsi:") { ++ ("xmlns:xsi1", "xsi1:nil") ++ } else { ++ ("xmlns:xsi", "xsi:nil") ++ }; ++ let mut element = BytesStart::new(qualified); ++ element.push_attribute((declaration, XSI_NS)); ++ element.push_attribute((attribute, "true")); ++ writer ++ .write_event(Event::Empty(element)) ++ .map_err(|error| PolyXmlError::SerializationError(error.to_string())) ++ } ++ + fn write_any_wildcard_element( + writer: &mut quick_xml::Writer, + val: &PolyValue, +diff --git a/crates/polyxml-core/tests/test_mixed_branch_lookup.rs b/crates/polyxml-core/tests/test_mixed_branch_lookup.rs +new file mode 100644 +index 0000000..52996dc +--- /dev/null ++++ b/crates/polyxml-core/tests/test_mixed_branch_lookup.rs +@@ -0,0 +1,122 @@ ++use polyxml::schema::{FieldKind, FieldSchema, ModelSchema, ScalarType, ValueType}; ++use polyxml::schema_parser::XsdParser; ++use polyxml::{deserialize, serialize, PolyValue}; ++use std::{collections::HashMap, sync::Arc}; ++ ++fn tagged(kind: &str, value: PolyValue) -> PolyValue { ++ PolyValue::Object(HashMap::from([ ++ ("kind".into(), PolyValue::String(kind.into())), ++ ("value".into(), value), ++ ])) ++} ++ ++#[test] ++fn large_mixed_tables_keep_first_match_metadata_edits_records_and_nil() { ++ let declarations = (0..64) ++ .map(|i| format!(r#""#)) ++ .collect::(); ++ let xsd = format!( ++ r#"{declarations}"# ++ ); ++ let ir = XsdParser::new().parse_str(&xsd).unwrap(); ++ let mut schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); ++ let mixed = schema.mixed_content.as_ref().unwrap(); ++ let items_name = schema.fields[mixed.items_index].name.clone(); ++ let kinds = (0..64) ++ .map(|i| { ++ mixed ++ .branches ++ .iter() ++ .find(|b| b.xml_name == format!("B{i}").as_bytes()) ++ .unwrap() ++ .variant_name ++ .clone() ++ }) ++ .collect::>(); ++ let first_index = mixed ++ .branches ++ .iter() ++ .position(|b| b.xml_name == b"B0") ++ .unwrap(); ++ let old_kind = kinds[0].clone(); ++ let record_schema = ModelSchema::builder("Tagged") ++ .field(FieldSchema::new( ++ "value", ++ b"value", ++ FieldKind::Element, ++ ValueType::Scalar(ScalarType::Int), ++ )) ++ .field(FieldSchema::new( ++ "kind", ++ b"kind", ++ FieldKind::Element, ++ ValueType::Scalar(ScalarType::String), ++ )) ++ .build(); ++ let mut items = (0..256) ++ .map(|i| tagged(&kinds[i % 64], PolyValue::Int(i as i64))) ++ .collect::>(); ++ items[0] = PolyValue::Record { ++ schema: record_schema, ++ values: vec![ ++ Some(PolyValue::Int(0)), ++ Some(PolyValue::String(old_kind.clone())), ++ ] ++ .into_boxed_slice(), ++ }; ++ items.push(tagged(&kinds[63], PolyValue::Null)); ++ let mut value = PolyValue::Object(HashMap::from([( ++ items_name.clone(), ++ PolyValue::List(items), ++ )])); ++ { ++ let mixed = Arc::get_mut(&mut schema) ++ .unwrap() ++ .mixed_content ++ .as_mut() ++ .unwrap(); ++ let mut duplicate = mixed.branches[first_index].clone(); ++ duplicate.xml_name = b"Duplicate".to_vec(); ++ mixed.branches.push(duplicate); ++ } ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert!(std::str::from_utf8(&output).unwrap().contains("0")); ++ assert!(!std::str::from_utf8(&output).unwrap().contains(" { ++ fields.insert("kind".into(), PolyValue::String("changed_kind".into())); ++ } ++ PolyValue::Record { values, .. } => { ++ values[1] = Some(PolyValue::String("changed_kind".into())) ++ } ++ _ => unreachable!(), ++ } ++ } ++ } ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ let PolyValue::Object(root) = &mut value else { ++ unreachable!() ++ }; ++ let PolyValue::List(items) = root.get_mut(&items_name).unwrap() else { ++ unreachable!() ++ }; ++ items[0] = tagged("unregistered", PolyValue::Int(0)); ++ assert!(serialize("Root", &value, &schema, None).is_err()); ++} +diff --git a/crates/polyxml-core/tests/test_mixed_nil.rs b/crates/polyxml-core/tests/test_mixed_nil.rs +new file mode 100644 +index 0000000..95cc765 +--- /dev/null ++++ b/crates/polyxml-core/tests/test_mixed_nil.rs +@@ -0,0 +1,93 @@ ++use std::collections::HashMap; ++use std::sync::Arc; ++ ++use polyxml::schema::ModelSchema; ++use polyxml::schema_parser::XsdParser; ++use polyxml::serializer::XmlSerializer; ++use polyxml::{deserialize, serialize, PolyValue}; ++ ++fn schema(namespace: Option<&str>) -> Arc { ++ let declaration = namespace ++ .map(|ns| format!("targetNamespace='{ns}' xmlns:t='{ns}' elementFormDefault='qualified'")) ++ .unwrap_or_default(); ++ let xsd = format!(" ++ ++ ++ ++ ++ ++ ++ "); ++ let ir = XsdParser::new().parse_str(&xsd).unwrap(); ++ ModelSchema::from_ir(&ir, Some("Root")).unwrap() ++} ++ ++#[test] ++fn nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings() { ++ let schema = schema(None); ++ for nil in [ ++ "", ++ "", ++ "", ++ "", ++ ] { ++ let xml = format!("before{nil}nested{nil}after"); ++ let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); ++ let items_field = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; ++ let items = value.get(items_field).and_then(PolyValue::as_list).unwrap(); ++ assert!(items[1].get("value").unwrap().is_null()); ++ assert_eq!(items[2].get("value").and_then(PolyValue::as_str), Some("")); ++ assert!(items[4].get("value").unwrap().is_null()); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++} ++ ++#[test] ++fn nil_instance_prefix_does_not_rebind_the_element_namespace() { ++ let schema = schema(Some("urn:document")); ++ let xml = b"after"; ++ let value = deserialize(xml, Arc::clone(&schema)).unwrap(); ++ for prefix in ["", "doc", "xsi", "xsi1"] { ++ let ns_map = HashMap::from([(prefix.to_owned(), "urn:document".to_owned())]); ++ let output = XmlSerializer::serialize_with_options( ++ "Root", ++ &value, ++ &schema, ++ None, ++ Some(true), ++ Some(&ns_map), ++ ) ++ .unwrap(); ++ let mut reader = quick_xml::NsReader::from_reader(output.as_slice()); ++ let mut nils = 0; ++ loop { ++ let (namespace, event) = reader.read_resolved_event().unwrap(); ++ match event { ++ quick_xml::events::Event::Empty(element) => { ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "urn:document") ++ ); ++ for attribute in element.attributes() { ++ let attribute = attribute.unwrap(); ++ if attribute.key.local_name().as_ref() == "nil" { ++ let (namespace, _) = reader.resolver().resolve_attribute(attribute.key); ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "http://www.w3.org/2001/XMLSchema-instance") ++ ); ++ nils += 1; ++ } ++ } ++ } ++ quick_xml::events::Event::Eof => break, ++ _ => {} ++ } ++ } ++ assert_eq!(nils, 3); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++ let output = ++ XmlSerializer::serialize_with_options("Root", &value, &schema, None, Some(false), None) ++ .unwrap(); ++ assert_eq!(value, deserialize(&output, schema).unwrap()); ++} +diff --git a/crates/polyxml-core/tests/test_runtime_fast_paths.rs b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +index c0f13f1..07aa439 100644 +--- a/crates/polyxml-core/tests/test_runtime_fast_paths.rs ++++ b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +@@ -239,6 +239,8 @@ fn unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames() { + assert_eq!(value,deserialize(&output,Arc::clone(&schema)).unwrap()); + } + let nil_document = b"Ready"; +- assert!(deserialize(nil_document, Arc::clone(&schema)).is_ok()); ++ let value = deserialize(nil_document, Arc::clone(&schema)).unwrap(); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + assert!(deserialize(b"invalid", schema).is_err()); + } diff --git a/research/data/runtime-followups-2026-10-03/mixed-writer/scaled-trigger.patch b/research/data/runtime-followups-2026-10-03/mixed-writer/scaled-trigger.patch new file mode 100644 index 0000000..2fa01e9 --- /dev/null +++ b/research/data/runtime-followups-2026-10-03/mixed-writer/scaled-trigger.patch @@ -0,0 +1,504 @@ +diff --git a/crates/polyxml-core/src/serializer.rs b/crates/polyxml-core/src/serializer.rs +index f68ba99..1f461bf 100644 +--- a/crates/polyxml-core/src/serializer.rs ++++ b/crates/polyxml-core/src/serializer.rs +@@ -523,93 +523,7 @@ impl XmlSerializer { + if let Some(PolyValue::List(items)) = + get_field(mixed.items_index, &schema.fields[mixed.items_index].name) + { +- for item in items { +- let tagged_field = |name: &str| -> Option<&PolyValue> { +- match item { +- PolyValue::Object(tagged) => tagged.get(name), +- PolyValue::Record { schema, values } => schema +- .fields +- .iter() +- .position(|field| field.name == name) +- .and_then(|idx| values.get(idx)) +- .and_then(Option::as_ref), +- _ => None, +- } +- }; +- let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { +- return Err(PolyXmlError::SerializationError( +- "Mixed content item has no kind".into(), +- )); +- }; +- let Some(content) = tagged_field("value") else { +- return Err(PolyXmlError::SerializationError( +- "Mixed content item has no value".into(), +- )); +- }; +- if kind == "#text" { +- let Some(text) = content.as_str() else { +- return Err(PolyXmlError::SerializationError( +- "Mixed text item must be a string".into(), +- )); +- }; +- writer +- .write_event(Event::Text(BytesText::new(text))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- continue; +- } +- let Some(branch) = mixed +- .branches +- .iter() +- .find(|branch| branch.variant_name == kind) +- else { +- return Err(PolyXmlError::SerializationError(format!( +- "Unknown mixed content kind: {kind}" +- ))); +- }; +- let local_name = std::str::from_utf8(&branch.xml_name)?; +- let qualified = if let Some(ctx) = ns_ctx { +- ctx.qualify_element( +- local_name, +- branch.namespace.as_deref().or(schema.namespace.as_deref()), +- ) +- } else { +- Cow::Borrowed(local_name) +- }; +- match &branch.val_type { +- ValueType::Scalar(_) => { +- let mut buf = [0u8; lexical_core::BUFFER_SIZE]; +- let Some(text) = Self::format_scalar_to(content, &mut buf) else { +- return Err(PolyXmlError::SerializationError(format!( +- "Invalid mixed content value for {kind}" +- ))); +- }; +- Self::validate_scalar(&branch.val_type, &text, kind)?; +- writer +- .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- writer +- .write_event(Event::Text(BytesText::new(&text))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- writer +- .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) +- .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; +- } +- ValueType::Nested(nested) => Self::write_model( +- writer, +- &branch.xml_name, +- content, +- nested, +- ns_ctx, +- false, +- branch.namespace.as_deref().or(nested.namespace.as_deref()), +- )?, +- ValueType::List(_) => { +- return Err(PolyXmlError::SerializationError( +- "Nested lists are invalid mixed content branches".into(), +- )) +- } +- } +- } ++ Self::write_mixed_items(writer, items, schema, mixed, ns_ctx)?; + } + } else { + for (idx, field) in schema.fields.iter().enumerate() { +@@ -759,6 +673,163 @@ impl XmlSerializer { + Ok(()) + } + ++ fn write_mixed_items( ++ writer: &mut Writer, ++ items: &[PolyValue], ++ schema: &ModelSchema, ++ mixed: &crate::schema::MixedContentSchema, ++ ns_ctx: Option<&NamespaceContext>, ++ ) -> Result<()> { ++ // Amortize the temporary index only for sufficiently large schemas and ++ // repeated payloads. References avoid cloning keys or branch metadata. ++ if mixed.branches.len() >= 64 ++ && items.len() >= 64 ++ && items.len() >= mixed.branches.len().div_ceil(2) ++ { ++ let mut index = std::collections::HashMap::with_capacity(mixed.branches.len()); ++ for branch in &mixed.branches { ++ // Preserve the linear lookup's first-match behavior for public ++ // metadata containing duplicate variant names. ++ index.entry(branch.variant_name.as_str()).or_insert(branch); ++ } ++ Self::write_mixed_items_using(writer, items, schema, ns_ctx, |kind| { ++ index.get(kind).copied() ++ }) ++ } else { ++ Self::write_mixed_items_using(writer, items, schema, ns_ctx, |kind| { ++ mixed ++ .branches ++ .iter() ++ .find(|branch| branch.variant_name == kind) ++ }) ++ } ++ } ++ ++ #[inline(never)] ++ fn write_mixed_items_using<'a, W: std::io::Write, F>( ++ writer: &mut Writer, ++ items: &[PolyValue], ++ schema: &ModelSchema, ++ ns_ctx: Option<&NamespaceContext>, ++ lookup: F, ++ ) -> Result<()> ++ where ++ F: Fn(&str) -> Option<&'a crate::schema::MixedBranchSchema>, ++ { ++ for item in items { ++ let tagged_field = |name: &str| -> Option<&PolyValue> { ++ match item { ++ PolyValue::Object(tagged) => tagged.get(name), ++ PolyValue::Record { schema, values } => schema ++ .fields ++ .iter() ++ .position(|field| field.name == name) ++ .and_then(|idx| values.get(idx)) ++ .and_then(Option::as_ref), ++ _ => None, ++ } ++ }; ++ let Some(kind) = tagged_field("kind").and_then(PolyValue::as_str) else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed content item has no kind".into(), ++ )); ++ }; ++ let Some(content) = tagged_field("value") else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed content item has no value".into(), ++ )); ++ }; ++ if kind == "#text" { ++ let Some(text) = content.as_str() else { ++ return Err(PolyXmlError::SerializationError( ++ "Mixed text item must be a string".into(), ++ )); ++ }; ++ writer ++ .write_event(Event::Text(BytesText::new(text))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ continue; ++ } ++ let Some(branch) = lookup(kind) else { ++ return Err(PolyXmlError::SerializationError(format!( ++ "Unknown mixed content kind: {kind}" ++ ))); ++ }; ++ let local_name = std::str::from_utf8(&branch.xml_name)?; ++ let qualified = if let Some(ctx) = ns_ctx { ++ ctx.qualify_element( ++ local_name, ++ branch.namespace.as_deref().or(schema.namespace.as_deref()), ++ ) ++ } else { ++ Cow::Borrowed(local_name) ++ }; ++ match &branch.val_type { ++ ValueType::Scalar(_) => { ++ let mut buf = [0u8; lexical_core::BUFFER_SIZE]; ++ let Some(text) = Self::format_scalar_to(content, &mut buf) else { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ continue; ++ } ++ return Err(PolyXmlError::SerializationError(format!( ++ "Invalid mixed content value for {kind}" ++ ))); ++ }; ++ Self::validate_scalar(&branch.val_type, &text, kind)?; ++ writer ++ .write_event(Event::Start(BytesStart::new(qualified.as_ref()))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ writer ++ .write_event(Event::Text(BytesText::new(&text))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ writer ++ .write_event(Event::End(BytesEnd::new(qualified.as_ref()))) ++ .map_err(|e| PolyXmlError::SerializationError(e.to_string()))?; ++ } ++ ValueType::Nested(nested) => { ++ if content.is_null() { ++ Self::write_mixed_nil(writer, qualified.as_ref())?; ++ } else { ++ Self::write_model( ++ writer, ++ &branch.xml_name, ++ content, ++ nested, ++ ns_ctx, ++ false, ++ branch.namespace.as_deref().or(nested.namespace.as_deref()), ++ )?; ++ } ++ } ++ ValueType::List(_) => { ++ return Err(PolyXmlError::SerializationError( ++ "Nested lists are invalid mixed content branches".into(), ++ )) ++ } ++ } ++ } ++ Ok(()) ++ } ++ ++ // A tagged null is a present nil element, unlike an absent ordinary field. ++ // Bind the instance prefix locally without shadowing the element's QName. ++ // Scalar callers reach this through their existing failed-format path. ++ #[cold] ++ fn write_mixed_nil(writer: &mut Writer, qualified: &str) -> Result<()> { ++ let (declaration, attribute) = if qualified.starts_with("xsi:") { ++ ("xmlns:xsi1", "xsi1:nil") ++ } else { ++ ("xmlns:xsi", "xsi:nil") ++ }; ++ let mut element = BytesStart::new(qualified); ++ element.push_attribute((declaration, XSI_NS)); ++ element.push_attribute((attribute, "true")); ++ writer ++ .write_event(Event::Empty(element)) ++ .map_err(|error| PolyXmlError::SerializationError(error.to_string())) ++ } ++ + fn write_any_wildcard_element( + writer: &mut quick_xml::Writer, + val: &PolyValue, +diff --git a/crates/polyxml-core/tests/test_mixed_branch_lookup.rs b/crates/polyxml-core/tests/test_mixed_branch_lookup.rs +new file mode 100644 +index 0000000..52996dc +--- /dev/null ++++ b/crates/polyxml-core/tests/test_mixed_branch_lookup.rs +@@ -0,0 +1,122 @@ ++use polyxml::schema::{FieldKind, FieldSchema, ModelSchema, ScalarType, ValueType}; ++use polyxml::schema_parser::XsdParser; ++use polyxml::{deserialize, serialize, PolyValue}; ++use std::{collections::HashMap, sync::Arc}; ++ ++fn tagged(kind: &str, value: PolyValue) -> PolyValue { ++ PolyValue::Object(HashMap::from([ ++ ("kind".into(), PolyValue::String(kind.into())), ++ ("value".into(), value), ++ ])) ++} ++ ++#[test] ++fn large_mixed_tables_keep_first_match_metadata_edits_records_and_nil() { ++ let declarations = (0..64) ++ .map(|i| format!(r#""#)) ++ .collect::(); ++ let xsd = format!( ++ r#"{declarations}"# ++ ); ++ let ir = XsdParser::new().parse_str(&xsd).unwrap(); ++ let mut schema = ModelSchema::from_ir(&ir, Some("Root")).unwrap(); ++ let mixed = schema.mixed_content.as_ref().unwrap(); ++ let items_name = schema.fields[mixed.items_index].name.clone(); ++ let kinds = (0..64) ++ .map(|i| { ++ mixed ++ .branches ++ .iter() ++ .find(|b| b.xml_name == format!("B{i}").as_bytes()) ++ .unwrap() ++ .variant_name ++ .clone() ++ }) ++ .collect::>(); ++ let first_index = mixed ++ .branches ++ .iter() ++ .position(|b| b.xml_name == b"B0") ++ .unwrap(); ++ let old_kind = kinds[0].clone(); ++ let record_schema = ModelSchema::builder("Tagged") ++ .field(FieldSchema::new( ++ "value", ++ b"value", ++ FieldKind::Element, ++ ValueType::Scalar(ScalarType::Int), ++ )) ++ .field(FieldSchema::new( ++ "kind", ++ b"kind", ++ FieldKind::Element, ++ ValueType::Scalar(ScalarType::String), ++ )) ++ .build(); ++ let mut items = (0..256) ++ .map(|i| tagged(&kinds[i % 64], PolyValue::Int(i as i64))) ++ .collect::>(); ++ items[0] = PolyValue::Record { ++ schema: record_schema, ++ values: vec![ ++ Some(PolyValue::Int(0)), ++ Some(PolyValue::String(old_kind.clone())), ++ ] ++ .into_boxed_slice(), ++ }; ++ items.push(tagged(&kinds[63], PolyValue::Null)); ++ let mut value = PolyValue::Object(HashMap::from([( ++ items_name.clone(), ++ PolyValue::List(items), ++ )])); ++ { ++ let mixed = Arc::get_mut(&mut schema) ++ .unwrap() ++ .mixed_content ++ .as_mut() ++ .unwrap(); ++ let mut duplicate = mixed.branches[first_index].clone(); ++ duplicate.xml_name = b"Duplicate".to_vec(); ++ mixed.branches.push(duplicate); ++ } ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert!(std::str::from_utf8(&output).unwrap().contains("0")); ++ assert!(!std::str::from_utf8(&output).unwrap().contains(" { ++ fields.insert("kind".into(), PolyValue::String("changed_kind".into())); ++ } ++ PolyValue::Record { values, .. } => { ++ values[1] = Some(PolyValue::String("changed_kind".into())) ++ } ++ _ => unreachable!(), ++ } ++ } ++ } ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ let PolyValue::Object(root) = &mut value else { ++ unreachable!() ++ }; ++ let PolyValue::List(items) = root.get_mut(&items_name).unwrap() else { ++ unreachable!() ++ }; ++ items[0] = tagged("unregistered", PolyValue::Int(0)); ++ assert!(serialize("Root", &value, &schema, None).is_err()); ++} +diff --git a/crates/polyxml-core/tests/test_mixed_nil.rs b/crates/polyxml-core/tests/test_mixed_nil.rs +new file mode 100644 +index 0000000..95cc765 +--- /dev/null ++++ b/crates/polyxml-core/tests/test_mixed_nil.rs +@@ -0,0 +1,93 @@ ++use std::collections::HashMap; ++use std::sync::Arc; ++ ++use polyxml::schema::ModelSchema; ++use polyxml::schema_parser::XsdParser; ++use polyxml::serializer::XmlSerializer; ++use polyxml::{deserialize, serialize, PolyValue}; ++ ++fn schema(namespace: Option<&str>) -> Arc { ++ let declaration = namespace ++ .map(|ns| format!("targetNamespace='{ns}' xmlns:t='{ns}' elementFormDefault='qualified'")) ++ .unwrap_or_default(); ++ let xsd = format!(" ++ ++ ++ ++ ++ ++ ++ "); ++ let ir = XsdParser::new().parse_str(&xsd).unwrap(); ++ ModelSchema::from_ir(&ir, Some("Root")).unwrap() ++} ++ ++#[test] ++fn nil_scalar_and_nested_items_keep_order_and_differ_from_empty_strings() { ++ let schema = schema(None); ++ for nil in [ ++ "", ++ "", ++ "", ++ "", ++ ] { ++ let xml = format!("before{nil}nested{nil}after"); ++ let value = deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); ++ let items_field = &schema.fields[schema.mixed_content.as_ref().unwrap().items_index].name; ++ let items = value.get(items_field).and_then(PolyValue::as_list).unwrap(); ++ assert!(items[1].get("value").unwrap().is_null()); ++ assert_eq!(items[2].get("value").and_then(PolyValue::as_str), Some("")); ++ assert!(items[4].get("value").unwrap().is_null()); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++} ++ ++#[test] ++fn nil_instance_prefix_does_not_rebind_the_element_namespace() { ++ let schema = schema(Some("urn:document")); ++ let xml = b"after"; ++ let value = deserialize(xml, Arc::clone(&schema)).unwrap(); ++ for prefix in ["", "doc", "xsi", "xsi1"] { ++ let ns_map = HashMap::from([(prefix.to_owned(), "urn:document".to_owned())]); ++ let output = XmlSerializer::serialize_with_options( ++ "Root", ++ &value, ++ &schema, ++ None, ++ Some(true), ++ Some(&ns_map), ++ ) ++ .unwrap(); ++ let mut reader = quick_xml::NsReader::from_reader(output.as_slice()); ++ let mut nils = 0; ++ loop { ++ let (namespace, event) = reader.read_resolved_event().unwrap(); ++ match event { ++ quick_xml::events::Event::Empty(element) => { ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "urn:document") ++ ); ++ for attribute in element.attributes() { ++ let attribute = attribute.unwrap(); ++ if attribute.key.local_name().as_ref() == "nil" { ++ let (namespace, _) = reader.resolver().resolve_attribute(attribute.key); ++ assert!( ++ matches!(namespace, quick_xml::name::ResolveResult::Bound(uri) if uri.as_ref() == "http://www.w3.org/2001/XMLSchema-instance") ++ ); ++ nils += 1; ++ } ++ } ++ } ++ quick_xml::events::Event::Eof => break, ++ _ => {} ++ } ++ } ++ assert_eq!(nils, 3); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); ++ } ++ let output = ++ XmlSerializer::serialize_with_options("Root", &value, &schema, None, Some(false), None) ++ .unwrap(); ++ assert_eq!(value, deserialize(&output, schema).unwrap()); ++} +diff --git a/crates/polyxml-core/tests/test_runtime_fast_paths.rs b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +index c0f13f1..07aa439 100644 +--- a/crates/polyxml-core/tests/test_runtime_fast_paths.rs ++++ b/crates/polyxml-core/tests/test_runtime_fast_paths.rs +@@ -239,6 +239,8 @@ fn unified_scalar_state_keeps_mixed_branch_order_nil_and_nested_frames() { + assert_eq!(value,deserialize(&output,Arc::clone(&schema)).unwrap()); + } + let nil_document = b"Ready"; +- assert!(deserialize(nil_document, Arc::clone(&schema)).is_ok()); ++ let value = deserialize(nil_document, Arc::clone(&schema)).unwrap(); ++ let output = serialize("Root", &value, &schema, None).unwrap(); ++ assert_eq!(value, deserialize(&output, Arc::clone(&schema)).unwrap()); + assert!(deserialize(b"invalid", schema).is_err()); + } diff --git a/research/runtime-mixed-writer-2026-10-03.md b/research/runtime-mixed-writer-2026-10-03.md new file mode 100644 index 0000000..aea9a5f --- /dev/null +++ b/research/runtime-mixed-writer-2026-10-03.md @@ -0,0 +1,213 @@ +# Mixed XML writer investigation — October 3, 2026 + +Final implementation `58cb346`; initial prototype `6965d33` with harness `d3bf172`, +compared with selected runtime baseline `1819c91` (draft PR #137). Main is unchanged. + +The selected writer fixes mixed nil round trips and accelerates distributed +large-table writes by 31% (64 tags) and 55% (256 tags) in the final longer run. +A sampled selector avoids the measured short/concentrated-payload regressions +of the initial index. The final results are below under “Final selector”; earlier +sections preserve the prototypes and their failures. Tiny-document differences +and process variance remain explicit. Main is unchanged. + +## Correctness + +The reader produced tagged nulls for present mixed elements carrying xsi:nil, +but the writer rejected those values. Emit a present nil element for scalar and +nested branches, preserving order and the distinction from an empty string. +Bind the instance namespace locally, avoiding shadowing the element QName prefix. +Independent namespace-aware output checks cover default/custom prefixes and +namespace-disabled output. Mixed branch metadata currently omits nillability +constraints; this fix preserves the dynamic reader's existing permissive behavior. + +## Algorithm + +The previous writer searched every mixed branch for each tagged item. For sufficiently large tables/payloads and sampled costly lookups, +build a temporary borrowed-key hash index once per container. Smaller cases retain linear search. Select the lookup once before +the loop. The index borrows metadata, preserves the first match for duplicate +variant names, and is rebuilt each write so public metadata edits remain visible. +A regression exercises indexed nulls, objects, records, duplicate names, metadata +mutation and invalid kinds. This adds no persistent cache or public schema fields. + +## Initial long branch-table comparison (`6965d33`) + +Three alternating process pairs, 100 samples, 3-second warmup, 5-second measurement. +Fixtures validate every integer/kind and complete ordered round trips before timing. + +| Possible child tags | Items | Baseline | Candidate | Time change | +| ---: | ---: | ---: | ---: | ---: | +| 1 | 1,000 | 64.850 us | 59.922 us | -7.60% | +| 16 | 1,000 | 69.575 us | 65.136 us | -6.38% | +| 64 | 1,000 | 99.859 us | 73.502 us | -26.39% | +| 256 | 1,000 | 169.214 us | 78.286 us | -53.74% | + +These measure the complete nil/factored-loop/index candidate. Small-table gains +cannot be attributed to the hash index because those cases retain linear search. + +## Rejected and diagnostic attempts + +The first nil implementation's scalar/pattern timing changed substantially between +short and longer runs. A cold nil helper removed hot-path guards and two nil-only +string allocations, but scalar process pairs still varied. Even pinning to CPU 4 +gave +17.34%, -1.56% and +2.18%; a median alone obscures that instability. + +A valid Callgrind run over 25 warm writes reported scalar instructions down 2.58% +and pattern instructions up 0.25% for the cold-helper prototype. Simulated +instructions are not cycles or latency. The first profile missed the measured +marker and collected zero; it is retained as a rejected attempt. + +A shared workspace debug target also supplied a stale test executable for the +factored-loop prototype. Its missing helper symbols exposed the mismatch. The +same source passed in a worktree-owned target; both preflight logs are retained. +Standalone timing consumers use separate baseline/current targets and explicit +source dependencies. All heavy runs are serial, one Cargo worker, under the +systemd memory cap. Results describe this WSL2 host, not concurrent throughput. + +## Initial sparse and read screen (`6965d33`) + +Two process pairs, 50 samples, 1-second warmup, 2-second measurement. One-item +writes changed +3.42%, +2.31%, +4.19% and +2.72% for 1/16/64/256 branches, +respectively (roughly 3–6 ns slower). One-item reads range from -1.62% to +0.81%; +1,000-item reads range from -1.00% to +2.77%. This writer optimization does not +establish improved read speed or better latency for tiny documents. Retain these +controls alongside the larger write gains; the short screen is not precise enough +to attribute small read changes to a particular source change. + +## Initial common mixed-content controls (`6965d33`) + +Same long-run settings as the branch-table comparison. + +| 1,000-item writer | Time change | Process-pair changes | +| --- | ---: | --- | +| enum | -3.34% | -2.80%, -3.74%, -1.75% | +| nested | +1.71% | +1.71%, -0.68%, +2.99% | +| pattern | -1.66% | -2.44%, -1.66%, +10.07% | +| scalar | -0.59% | -1.23%, -1.64%, +10.77% | +| text | -2.32% | -2.98%, -1.48%, -1.78% | + +These small changes do not establish a universal mixed-content speedup. The large +branch-table result is the principal performance finding. Nested writes retain a +small measured slowdown; scalar writes are roughly flat in this comparison. + +## Initial plain-record screen (`6965d33`) + +Two process pairs with the short-screen settings. + +| Consumer | Time change | +| --- | ---: | +| deserialization/catalog_items/1000 | +0.49% | +| deserialization/catalog_items/10000 | +0.29% | +| deserialization/sensor_micro | +3.29% | +| serialization/catalog_items/1000 | -2.04% | +| serialization/catalog_items/10000 | -0.83% | +| serialization/sensor_micro | -0.79% | + +Ordinary catalog parsing is roughly flat. The tiny sensor read is about 33 ns +slower; writer source changes do not guarantee unchanged whole-binary read timing. + +## Initial allocation diagnostics (`6965d33`) + +A counting allocator surrounds one warmed write, using the exact branch-table +fixture. Sparse writes and the 1/16-branch large cases match baseline allocations. +The 64-branch/1,000-item case adds one allocation and 3,216 requested bytes; +256 branches add one allocation and 12,816 requested bytes. Output bytes and +buffer reallocations match. Keys borrow existing strings. Requested bytes are +cumulative allocator requests, not peak or retained memory. The table is dropped +after each container write. + +## Crossover correction + +The initial 64-item trigger (`6965d33`) was too eager for large tables. A short +32/64/128-item screen found 256 branches with 64 items 30.45% slower, despite +being 16.56% faster at 128 items and 53.74% faster at 1,000. With 64 branches, +64 and 128 items improved 14.76% and 22.64%. The final trigger additionally +requires at least half as many items as branches. This avoids building a large +index for the observed short-document loss. The heuristic is workload dependent; +text-only content and repeatedly using an early branch can save less lookup work. +The initial source's full gate and all measurements remain archived as provenance. + +## Distribution-aware selection + +A size-only trigger still slowed 1,000 repeated first-tag writes by 11.20% +(64 branches) and 19.88% (256). Sample up to 16 items across the payload before +indexing: require four tagged samples and average linear search depth of 16. +Text samples and low-cost early-tag reuse retain linear lookup. Normal validation +still processes every item. Offsets inside the sample bins avoid repeatedly +sampling one tag when a choice cycle divides the stride; 1,024-item controls +check that common power-of-two case. Sampling is bounded and deterministic, +with no allocation. It can miss other distributions, so this remains a heuristic. + +## Final selector (`58cb346`) + +Three process pairs, 100 samples, 3-second warmup, 5-second measurement. + +| 1,000-item writer | Baseline | Candidate | Time change | Process-pair changes | +| --- | ---: | ---: | ---: | --- | +| branches_1 | 64.841 us | 61.384 us | -5.33% | -6.57%, -3.85%, -7.98% | +| branches_16 | 70.082 us | 65.587 us | -6.41% | -6.09%, -6.41%, -12.35% | +| branches_256 | 176.588 us | 79.247 us | -55.12% | -54.79%, -54.88%, -57.18% | +| branches_64 | 106.933 us | 73.844 us | -30.94% | -29.58%, -30.94%, -31.45% | + +The 64/256-branch cases improve in every pair. The source retains linear search +for small tables, so their improvement belongs to the complete writer change, +not the index alone. Final concentrated first-tag screens improve 3.67% and +2.44% with 64/256 branches, respectively. Power-of-two distributed screens +improve 26.64% and 54.44%. Text-heavy content with 261 possible branches is +roughly flat (-1.73%). These controls use the shorter two-pair settings. + +### Final common-content comparison + +Same long-run settings as the final branch-table comparison. + +| 1,000-item writer | Time change | Process-pair changes | +| --- | ---: | --- | +| enum | -4.47% | -3.42%, -6.94%, -3.58% | +| nested | -2.01% | -2.71%, -1.41%, -1.69% | +| pattern | -5.40% | -5.86%, -5.40%, -5.54% | +| scalar | -1.85% | -12.49%, -1.85%, +0.89% | +| text | -5.11% | -5.31%, -3.96%, -5.04% | + +These are complete writer-binary results, with process variation retained above. +No hash table is used for these five-branch fixtures. Earlier prototypes did +show small regressions; keep their evidence instead of replacing the history +with only this favorable final run. Tiny sparse writes still differ by a few +nanoseconds. Read controls remain roughly flat, not a claimed read optimization. + +### Final plain-record screen + +Two pairs, 50 samples, 1-second warmup, 2-second measurement. + +| Consumer | Time change | +| --- | ---: | +| deserialization/catalog_items/1000 | -0.53% | +| deserialization/catalog_items/10000 | +1.05% | +| deserialization/sensor_micro | +0.58% | +| serialization/catalog_items/1000 | -1.01% | +| serialization/catalog_items/10000 | -1.76% | +| serialization/sensor_micro | -3.75% | + +The final allocation rerun matches the initial counts and table-size costs; +sampling adds no allocation. These are single-host latency measurements. +They do not establish concurrent throughput or a compiled-schema memory budget. + +## Verification and evidence + +The complete final quality gate passes: 324 Rust tests, strict workspace formatting +and Clippy, Ruff, and 112 Python tests with 100% statement and branch coverage. +The worktree-owned target is `target/followup-mixed-index-verification` in the +primary checkout. Compiler/toolchain consumer tests run as part of the full gate. + +[Raw evidence](data/runtime-followups-2026-10-03/mixed-writer/) includes every +Criterion sample and per-process confidence interval, matching locks/harnesses, +allocation diagnostics, source patches for each prototype, instruction profiles, +both final/initial gates and the rejected preflights. SHA256SUMS covers all files. +The final selector is `58cb346`; historical sections identify their older source. +All heavy work ran serially under the memory cap with one Cargo worker. + +Criterion process directories are stored in each experiment's +`criterion-results.tar.gz` to keep thousands of small JSON files out of the code +diff. `criterion-SHA256SUMS` records every original path and checksum. Packaging +checked the original manifest, then read the archive back and verified every +member before removing the loose copies. Extract into a scratch directory with +the adjacent metadata.json to rerun summarize.py; all original raw bytes remain. +The verified packaging script is retained as archive-criterion.py.txt.