diff --git a/.agents/skills/polyxml-benchmark-workflow/SKILL.md b/.agents/skills/polyxml-benchmark-workflow/SKILL.md index 81dc9e07..6855e814 100644 --- a/.agents/skills/polyxml-benchmark-workflow/SKILL.md +++ b/.agents/skills/polyxml-benchmark-workflow/SKILL.md @@ -72,3 +72,42 @@ description: Use when running, adding, or publishing PolyXML language and runtim Its allocation and Callgrind consumers are diagnostic only. Confirm wins with the uninstrumented Criterion runner, and anchor write-only filters as `^serialization/` because `serialization` also matches deserialization. + +12. For matched serializer comparisons, use `benchmarks/serializer-comparison/`. + Measure uninstrumented builds; the Rust allocation feature is a separate + diagnostic binary, and Python timings must not run under `tracemalloc`. + Typed stdlib/DOM adapters must include model construction and integer + conversion. Check every decoded field, escaped text, declared XML root, + and outputs with an independent XML implementation before publishing. + Generated Rust JSON and handwritten Serde JSON use the same `serde_json` + engine; Go/C# generated and handwritten models use the same native XML + serializer. Label these model comparisons, not separate engine wins. + Keep dynamic value graphs and Pydantic validation distinct from dataclass + binding. Report medians of process medians and their range; raw samples + within one process are correlated. Current and historical host/revision + results belong in separate tables. + +13. C# `XmlSerializer` timings require enough warmup for tiered compilation: + at least 500 read/write pairs and two seconds per model, plus alternating + model order in fresh processes. Include `StringWriter.ToString()` in + timed writes when the promised result is a string. Record the actual + runtime (a net8.0 target rolled forward to .NET 10 measures .NET 10). + Go full-field assertions belong in preflight, outside measured reads. + + In the October 4 .NET 10 refresh, that longer warmup still left a + first-model effect for small operations. Do not call it model overhead: + preserve the default runs as diagnostics and use the separate + `serializer-comparison/control_csharp.py` full-JIT comparison, which + explicitly sets `DOTNET_TieredCompilation=0` in six balanced processes. + Label this configuration; it is not a default-tiered-PGO benchmark. + +14. Record the actual StAX providers on the benchmark classpath, not just the + JDK version. Jackson brings Woodstox into the shaded JMH jar, and generated + `XMLInputFactory.newFactory()` codecs select it through SPI as well. The + direct codec uses the JDK API but need not use the JDK default parser. + `serializer-comparison/Providers.java` records both factory classes. + +15. Retained benchmark-source READMEs contain repository-relative links. Store + them byte-for-byte as `.md.txt` inside docs data artifacts so the docs site + does not render them in the wrong relative-link context. Keep actual + result summaries as Markdown and check the final site strictly. diff --git a/benchmarks/README.md b/benchmarks/README.md index d15ec094..ed59f830 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -34,6 +34,7 @@ equivalent) and never at this root. | Suite | Location | Tooling | How to run | | :--- | :--- | :--- | :--- | +| Matched serializer comparison | [`serializer-comparison/`](serializer-comparison/README.md) | Fresh-process Rust/Python, native Go/C#, Java JMH | See suite README | | Rust core engine | [`crates/polyxml-core/benches/`](../crates/polyxml-core/benches/) | [Criterion.rs](https://github.com/bheisler/criterion.rs) | `cargo bench --bench core_benchmarks` | | Rust same-host XML/Serde regression | [`rust-xml-regression/`](rust-xml-regression/README.md) | Generated consumers + Criterion | See suite README | | Rust runtime investigation | [`rust-runtime-investigation/`](rust-runtime-investigation/README.md) | Dynamic core constraints, allocations and instruction profiles | See suite README | diff --git a/benchmarks/csharp/Program.cs b/benchmarks/csharp/Program.cs index f3076be5..768e2e0f 100644 --- a/benchmarks/csharp/Program.cs +++ b/benchmarks/csharp/Program.cs @@ -29,24 +29,33 @@ static void Measure(string name, int count, Func make) where T : class using (var check = new StringReader(xml)) { var decoded = serializer.Deserialize(check) as T ?? throw new Exception("Round trip failed"); - int mid = count / 2; - if (decoded is Batch generated && ( - generated.Sensors.Length != count || - generated.Sensors[0].Id != "sensor-0" || generated.Sensors[0].Value != 0 || - generated.Sensors[mid].Id != $"sensor-{mid}" || generated.Sensors[mid].Value != mid || - generated.Sensors[^1].Id != $"sensor-{count-1}" || generated.Sensors[^1].Value != count-1)) - throw new Exception("Generated batch mismatch"); - if (decoded is Batch baseline && ( - baseline.Sensors.Length != count || - baseline.Sensors[0].Id != "sensor-0" || baseline.Sensors[0].Value != 0 || - baseline.Sensors[mid].Id != $"sensor-{mid}" || baseline.Sensors[mid].Value != mid || - baseline.Sensors[^1].Id != $"sensor-{count-1}" || baseline.Sensors[^1].Value != count-1)) - throw new Exception("Baseline batch mismatch"); + var fields = decoded switch { + Batch generated => generated.Sensors.Select(s => (s.Id, s.Value)), + Batch baseline => baseline.Sensors.Select(s => (s.Id, s.Value)), + _ => throw new Exception("Unknown model") + }; + int index = 0; + foreach (var (id, number) in fields) { + if (id != $"sensor-{index}" || number != index) throw new Exception($"Field mismatch at {index}"); + index++; + } + if (index != count) throw new Exception("Sensor count mismatch"); using var verify = new StringWriter(); serializer.Serialize(verify, decoded); if (verify.ToString() != initial.ToString()) throw new Exception("Round trip mismatch"); } - for (var i = 0; i < 100; i++) { using var reader = new StringReader(xml); _ = serializer.Deserialize(reader); using var writer = new StringWriter(); serializer.Serialize(writer, value); } + var warmup = Stopwatch.StartNew(); + int warmed = 0; + int warmupMs = int.TryParse(Environment.GetEnvironmentVariable("BENCH_WARMUP_MS"), out var ms) ? ms : 2000; + while (warmed < 500 || warmup.ElapsedMilliseconds < warmupMs) { + using var reader = new StringReader(xml); + GC.KeepAlive(serializer.Deserialize(reader)); + using var writer = new StringWriter(); + serializer.Serialize(writer, value); + GC.KeepAlive(writer.ToString()); + warmed++; + } + warmup.Stop(); foreach (var operation in new[] { "read", "write" }) { GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); @@ -54,11 +63,11 @@ static void Measure(string name, int count, Func make) where T : class var timer = Stopwatch.StartNew(); for (var i = 0; i < Iterations; i++) { - if (operation == "read") { using var reader = new StringReader(xml); _ = serializer.Deserialize(reader); } - else { using var writer = new StringWriter(); serializer.Serialize(writer, value); } + if (operation == "read") { using var reader = new StringReader(xml); GC.KeepAlive(serializer.Deserialize(reader)); } + else { using var writer = new StringWriter(); serializer.Serialize(writer, value); GC.KeepAlive(writer.ToString()); } } timer.Stop(); - Console.WriteLine($"{name},size={count},{operation},ns/op={timer.Elapsed.TotalNanoseconds / Iterations:F0},B/op={(GC.GetAllocatedBytesForCurrentThread()-bytes)/Iterations},xml_bytes={System.Text.Encoding.UTF8.GetByteCount(xml)}"); + Console.WriteLine($"{name},size={count},{operation},ns/op={timer.Elapsed.TotalNanoseconds / Iterations:F0},B/op={(GC.GetAllocatedBytesForCurrentThread()-bytes)/Iterations},xml_bytes={System.Text.Encoding.UTF8.GetByteCount(xml)},output_chars={initial.ToString().Length},warmup_iterations={warmed},warmup_ms={warmup.ElapsedMilliseconds}"); } } @@ -67,8 +76,10 @@ public static void Main() Console.WriteLine($"dotnet={Environment.Version},os={System.Runtime.InteropServices.RuntimeInformation.OSDescription},cpu={Environment.ProcessorCount},iterations={Iterations}"); foreach (var count in new[] { 1, 1000 }) { - Measure("generated", count, n => new Batch { Sensors = Enumerable.Range(0, n).Select(i => new Sensor { Id = $"sensor-{i}", Value = i }).ToArray() }); - Measure("baseline", count, n => new Batch { Sensors = Enumerable.Range(0, n).Select(i => new BaselineSensor { Id = $"sensor-{i}", Value = i }).ToArray() }); + Action generated = () => Measure("generated", count, n => new Batch { Sensors = Enumerable.Range(0, n).Select(i => new Sensor { Id = $"sensor-{i}", Value = i }).ToArray() }); + Action baseline = () => Measure("baseline", count, n => new Batch { Sensors = Enumerable.Range(0, n).Select(i => new BaselineSensor { Id = $"sensor-{i}", Value = i }).ToArray() }); + if (Environment.GetEnvironmentVariable("BENCH_BASELINE_FIRST") == "1") { baseline(); generated(); } + else { generated(); baseline(); } } } } diff --git a/benchmarks/csharp/README.md b/benchmarks/csharp/README.md index 5f8d4754..26cb22d0 100644 --- a/benchmarks/csharp/README.md +++ b/benchmarks/csharp/README.md @@ -15,3 +15,11 @@ native PolyXML codec. Use `BENCH_ITERATIONS=2 ./benchmarks/csharp/run.sh` for a smoke run. Repeat full runs on an idle host, retain raw output, and record Git revision, CPU, and `dotnet --version` before publishing numbers. Generated code stays in `target/`. + +For steady-state comparisons, warmup runs for at least two seconds and 500 +read/write pairs per model. Writes materialize a UTF-16 `string`; reads start +from the shared XML decoded to a string outside timing. Set +`BENCH_BASELINE_FIRST=1` in alternate fresh processes to rotate model order. +`BENCH_ITERATIONS` defaults to 1,000 and `BENCH_WARMUP_MS` to 2,000. Every +sensor field is checked before timing. Record the actual .NET runtime when +rolling a `net8.0` build forward; it is not a .NET 8 timing in that case. diff --git a/benchmarks/go/README.md b/benchmarks/go/README.md index 8dc7fc33..2fdf0734 100644 --- a/benchmarks/go/README.md +++ b/benchmarks/go/README.md @@ -13,3 +13,9 @@ For a smoke run use `BENCH_TIME=1x ./benchmarks/go/run.sh`. For reportable measurements, run on an idle host with `BENCH_COUNT=5 BENCH_TIME=3s`, retain the raw output, and record the Git revision, OS/CPU, and `go version`. Generated sources are ignored under `target/`. + +Every sensor field is checked outside timing; timed reads only unmarshal. +Set `BENCH_BASELINE_FIRST=1` in alternate fresh processes to rotate model +order. For a repeated comparison, run five separate processes with +`BENCH_COUNT=1 BENCH_TIME=2s` and retain every output, including `B/op` and +`allocs/op`. Both models use the same native `encoding/xml` implementation. diff --git a/benchmarks/go/bench_test.go b/benchmarks/go/bench_test.go index 249df719..33e08ba1 100644 --- a/benchmarks/go/bench_test.go +++ b/benchmarks/go/bench_test.go @@ -25,47 +25,59 @@ func BenchmarkXML(b *testing.B) { generated[i] = models.Sensor{ID: fmt.Sprintf("sensor-%d", i), Value: int32(i)} plain[i] = baseline{ID: generated[i].ID, Value: generated[i].Value} } - for _, tc := range []struct { + cases := []struct { name string values any - read func([]byte) error + read func([]byte, bool) error }{ - {"generated", generated, func(data []byte) error { + {"generated", generated, func(data []byte, verify bool) error { var v struct { Items []models.Sensor `xml:"Sensor"` } if err := xml.Unmarshal(data, &v); err != nil { return err } - if len(v.Items) != count || - v.Items[0].ID != generated[0].ID || v.Items[0].Value != generated[0].Value || - v.Items[count/2].ID != generated[count/2].ID || v.Items[count/2].Value != generated[count/2].Value || - v.Items[count-1].ID != generated[count-1].ID || v.Items[count-1].Value != generated[count-1].Value { - return fmt.Errorf("generated round trip mismatch") + if verify { + if len(v.Items) != count { + return fmt.Errorf("generated count mismatch") + } + for i, sensor := range v.Items { + if sensor.ID != generated[i].ID || sensor.Value != generated[i].Value { + return fmt.Errorf("generated field mismatch at %d", i) + } + } } return nil }}, - {"baseline", plain, func(data []byte) error { + {"baseline", plain, func(data []byte, verify bool) error { var v struct { Items []baseline `xml:"Sensor"` } if err := xml.Unmarshal(data, &v); err != nil { return err } - if len(v.Items) != count || - v.Items[0].ID != plain[0].ID || v.Items[0].Value != plain[0].Value || - v.Items[count/2].ID != plain[count/2].ID || v.Items[count/2].Value != plain[count/2].Value || - v.Items[count-1].ID != plain[count-1].ID || v.Items[count-1].Value != plain[count-1].Value { - return fmt.Errorf("baseline round trip mismatch") + if verify { + if len(v.Items) != count { + return fmt.Errorf("baseline count mismatch") + } + for i, sensor := range v.Items { + if sensor.ID != plain[i].ID || sensor.Value != plain[i].Value { + return fmt.Errorf("baseline field mismatch at %d", i) + } + } } return nil }}, - } { + } + if os.Getenv("BENCH_BASELINE_FIRST") == "1" { + cases[0], cases[1] = cases[1], cases[0] + } + for _, tc := range cases { input, err := os.ReadFile(fmt.Sprintf("../workloads/sensor-batch/sensor-%d.xml", count)) if err != nil { b.Fatal(err) } - if err := tc.read(input); err != nil { + if err := tc.read(input, true); err != nil { b.Fatal(err) } output, err := xml.Marshal(struct { @@ -83,7 +95,7 @@ func BenchmarkXML(b *testing.B) { b.ReportAllocs() b.ResetTimer() for i := 0; i < b.N; i++ { - if err := tc.read(input); err != nil { + if err := tc.read(input, false); err != nil { b.Fatal(err) } } diff --git a/benchmarks/java/README.md b/benchmarks/java/README.md index ee6b32cd..29aa8dbe 100644 --- a/benchmarks/java/README.md +++ b/benchmarks/java/README.md @@ -91,3 +91,8 @@ harness; these JMH results do not measure them. Generated direct codecs have sta model calls, but StAX provider selection and application dependencies still determine native-image configuration. Do not infer universal zero-configuration AOT support from the absence of model reflection. + +The matched serializer refresh checks every input against all three typed +readers before measurement. JMH logs include aggregate input bytes and +per-message writer output lengths. Reads use varying IDs; writes repeatedly +serialize the same preconstructed ID-0 model to fresh output bytes. diff --git a/benchmarks/java/src/main/java/io/polyxml/bench/BindingBenchmark.java b/benchmarks/java/src/main/java/io/polyxml/bench/BindingBenchmark.java index e695fcee..7b48c3ea 100644 --- a/benchmarks/java/src/main/java/io/polyxml/bench/BindingBenchmark.java +++ b/benchmarks/java/src/main/java/io/polyxml/bench/BindingBenchmark.java @@ -58,6 +58,15 @@ record = io.polyxml.bench.records.MessageCodec.readXml(new ByteArrayInputStream( verify(); } public void verify() throws Exception { + // Check every input and field across the matched typed readers before timing. + for (byte[] xml : documents) { + var expected = MessageCodec.readXml(new ByteArrayInputStream(xml)); + if (!expected.equals(mapper.readValue(xml, Message.class))) throw new AssertionError("Jackson input mismatch"); + var decoded = unmarshaller.unmarshal(new javax.xml.transform.stream.StreamSource(new ByteArrayInputStream(xml)), io.polyxml.bench.jaxb.Message.class).getValue(); + var encoded = new ByteArrayOutputStream(); + marshaller.marshal(new JAXBElement<>(root, io.polyxml.bench.jaxb.Message.class, decoded), encoded); + if (!expected.equals(MessageCodec.readXml(new ByteArrayInputStream(encoded.toByteArray())))) throw new AssertionError("JAXB input mismatch"); + } var direct = new ByteArrayOutputStream(); MessageCodec.writeXml(pojo, direct); if (!pojo.equals(MessageCodec.readXml(new ByteArrayInputStream(direct.toByteArray())))) throw new AssertionError("direct round trip"); if (!pojo.equals(mapper.readValue(mapper.writeValueAsBytes(pojo), Message.class))) throw new AssertionError("Jackson round trip"); @@ -65,6 +74,9 @@ public void verify() throws Exception { if (!pojo.equals(json.readValue(json.writeValueAsBytes(pojo), Message.class))) throw new AssertionError("JSON round trip"); var jaxb = new ByteArrayOutputStream(); marshaller.marshal(new JAXBElement<>(root, io.polyxml.bench.jaxb.Message.class, legacy), jaxb); if (!pojo.equals(MessageCodec.readXml(new ByteArrayInputStream(jaxb.toByteArray())))) throw new AssertionError("JAXB round trip"); + long inputBytes = 0; for (byte[] xml : documents) inputBytes += xml.length; + System.out.printf("fixture: workload=%s,batch=%d,input_bytes=%d,direct_output_bytes=%d,jackson_output_bytes=%d,jaxb_output_bytes=%d%n", + workload, batchSize, inputBytes, direct.size(), mapper.writeValueAsBytes(pojo).length, jaxb.size()); var records = new ByteArrayOutputStream(); io.polyxml.bench.records.MessageCodec.writeXml(record,records); if (!pojo.equals(MessageCodec.readXml(new ByteArrayInputStream(records.toByteArray())))) throw new AssertionError("record round trip"); } diff --git a/benchmarks/serializer-comparison/.gitignore b/benchmarks/serializer-comparison/.gitignore new file mode 100644 index 00000000..b83d2226 --- /dev/null +++ b/benchmarks/serializer-comparison/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/benchmarks/serializer-comparison/Providers.java b/benchmarks/serializer-comparison/Providers.java new file mode 100644 index 00000000..ee9099ba --- /dev/null +++ b/benchmarks/serializer-comparison/Providers.java @@ -0,0 +1,7 @@ +/** Record the StAX provider actually selected by the shaded benchmark classpath. */ +public class Providers { + public static void main(String[] args) { + System.out.println("input=" + javax.xml.stream.XMLInputFactory.newFactory().getClass().getName()); + System.out.println("output=" + javax.xml.stream.XMLOutputFactory.newFactory().getClass().getName()); + } +} diff --git a/benchmarks/serializer-comparison/README.md b/benchmarks/serializer-comparison/README.md new file mode 100644 index 00000000..5cb58d75 --- /dev/null +++ b/benchmarks/serializer-comparison/README.md @@ -0,0 +1,111 @@ +# Matched serializer comparison + +Compare serializers within one runtime, on identical inputs and equivalent +values. Rust generated XML codecs compete with `quick-xml` Serde and +`serde-xml-rs`; generated Rust JSON uses `serde_json`, so those rows compare +models. Python PolyXML and xsdata bind the same generated dataclasses; +ElementTree/lxml adapters also construct those models. Pydantic XML has a +separate validating model graph. The Rust dynamic value graph is separate. + +## Prepare and run + +From the repository root, with systemd cgroups, Rust, uv and Python 3.12: + +```bash +CARGO_BUILD_JOBS=1 scripts/memcap.sh cargo build -p polyxml-cli +python3 benchmarks/serializer-comparison/prepare.py +uv venv --python 3.12 benchmarks/serializer-comparison/target/venv +CARGO_BUILD_JOBS=1 scripts/memcap.sh uv pip install \ + --python benchmarks/serializer-comparison/target/venv/bin/python \ + -e './crates/polyxml-python[dev]' xsdata lxml pydantic-xml +python3 benchmarks/serializer-comparison/run.py \ + --output benchmarks/serializer-comparison/target/results +python3 benchmarks/serializer-comparison/summarize.py \ + benchmarks/serializer-comparison/target/results +``` + +The editable native extension must be a **release** build matching the local +source and CLI (uv's maturin backend builds release by default). Updating the +CLI after codegen requires regenerating the models. For a published rerun, +use the retained dependency versions: install the recorded Python packages and +copy `source/rust-consumer.lock` to `target/rust-consumer/Cargo.lock` before +building. `run.py` refuses to overwrite an existing output directory. + +Defaults: six fresh processes per runtime, five 150 ms samples per operation, +64 warmup calls and ten pilot calls to select a small timing chunk. The run +rotates case/lane order, alternates runtime order, and runs builds and measured +processes serially. Cyclic GC stays enabled in Python. Input is preloaded; +schema/model setup is outside timing. Reads include complete materialization +and result destruction. Writes allocate fresh UTF-8 output bytes, including +str-to-bytes conversion where needed. No output buffer reuse. XML formatting +need not be byte-identical; semantic values must match. JSON inputs use the +same field aliases; every writer must return the same JSON values. + +Rust allocation calls and total **requested** bytes are recorded in a separate +feature build, never the timing binary. Reallocations count as calls and their +full new sizes count as bytes; this is neither retained nor peak memory. +Python has no comparable total allocation measure here: tracing Python alone +misses native allocations. Do not put the two in one memory ranking. + +Every field is checked before timing. Python XML outputs pass lxml XSD +validation; Rust outputs are decoded through handwritten Serde models and +checked again with Python's independent ElementTree implementation. Plain +Rust XML input must actually borrow strings in both Cow lanes. Escaped text +may require owned strings. The generated Cow **JSON** lane is a model choice, +not a claim that its Serde implementation borrows input strings. + +The retained artifact directory contains source, locks, generated models, +fixtures, metadata/hashes, output samples, all timing CSVs and build logs. +The summary uses the median of each process's sample median and reports the +minimum/maximum process medians. These are descriptive ranges, not confidence +intervals. Ratios divide a specified baseline's median latency by the row's +median latency; above 1 means faster. Near-parity results need more evidence +before calling a win. + +One/1,000 sensor workloads and escaped 1,000-sensor text exercise list sizes, +integer conversion, UTF-8 and entity handling. They are not a conformance suite, +large-schema benchmark, streaming-memory test or universal XML ranking. Java, +Go and C# have dedicated harnesses; the comparison page labels older results +separately until refreshed. C++ and JS need matched-return-value comparisons +before they can join a typed serializer ranking. + +## Native models and Java + +After the Rust/Python suite finishes, refresh the other matched comparisons: + +```bash +python3 benchmarks/serializer-comparison/run_models.py \ + --maven /path/to/apache-maven/bin/mvn \ + --output benchmarks/serializer-comparison/target/model-results +``` + +Requires Go, the .NET SDK/runtime, Maven and JDK 22+. Go/C# use five fresh +processes with model order alternating. Java uses two JMH forks per case, +three 2-second warmups and five 2-second measurements with GC profiling. +It returns complete equivalent POJO/JAXB graphs; Panama is excluded. Its +80-field synthetic projections differ from the sensor batch. + +The default-tiering .NET 10 runs showed a first-model timing effect even +after the longer warmup. Retain them as diagnostics and run this separate +controlled comparison after every other measured suite has finished: + +```bash +python3 benchmarks/serializer-comparison/control_csharp.py \ + benchmarks/serializer-comparison/target/model-results +``` + +This launches six balanced fresh processes with `DOTNET_TieredCompilation=0`. +It measures warmed execution under that explicit JIT configuration, not default +startup or tiered PGO behavior. No build or other benchmark may run concurrently. + +Summarize the native runs after the control finishes: + +```bash +python3 benchmarks/serializer-comparison/summarize_models.py \ + benchmarks/serializer-comparison/target/model-results +``` + +`render.py` builds the dated documentation page from summaries retained under +`docs/benchmarks/data/2026-10-04/{serializer-comparison,native-models}/`. It keeps +the displayed values tied to the raw measurements. Java records its actual +StAX provider: the shaded benchmark uses Woodstox, not the JDK default provider. diff --git a/benchmarks/serializer-comparison/control_csharp.py b/benchmarks/serializer-comparison/control_csharp.py new file mode 100644 index 00000000..cd12340f --- /dev/null +++ b/benchmarks/serializer-comparison/control_csharp.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +"""Repeat an already-built C# comparison with tiered compilation disabled.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import os +import shutil +from pathlib import Path + +from run_models import ROOT, capture, run + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("directory", type=Path) + args = parser.parse_args() + directory = args.directory.resolve() + assert (directory / "metadata.json").is_file(), "Run run_models.py first" + assert not list(directory.glob("csharp-steady-*.txt")), "Preserve existing runs" + dll = ROOT / "benchmarks/csharp/bin/Release/net8.0/Benchmark.dll" + env = dict( + os.environ, + DOTNET_ROLL_FORWARD="Major", + DOTNET_TieredCompilation="0", + POLYXML_MEMCAP_BACKEND="systemd", + BENCH_ITERATIONS="1000", + BENCH_WARMUP_MS="2000", + ) + metadata = { + "revision": capture(["git", "rev-parse", "HEAD"], env), + "tiered_compilation": False, + "processes": 6, + "iterations": 1000, + "minimum_warmup_pairs": 500, + "minimum_warmup_ms": 2000, + "dll_sha256": hashlib.sha256(dll.read_bytes()).hexdigest(), + "note": "Default-tiering runs retained separately as diagnostics; first-model effect persisted after warmup.", + } + (directory / "csharp-control.json").write_text( + json.dumps(metadata, indent=2) + "\n" + ) + shutil.copyfile(Path(__file__), directory / "source/control_csharp.py") + for repeat in range(6): + print(f"C# full-JIT control {repeat + 1}/6", flush=True) + current = dict(env, BENCH_BASELINE_FIRST=str(repeat % 2)) + run( + [ROOT / "scripts/memcap.sh", "dotnet", dll], + current, + directory, + f"csharp-steady-{repeat}.txt", + cwd=ROOT / "benchmarks/csharp", + ) + + +if __name__ == "__main__": + main() diff --git a/benchmarks/serializer-comparison/prepare.py b/benchmarks/serializer-comparison/prepare.py new file mode 100644 index 00000000..105d3f05 --- /dev/null +++ b/benchmarks/serializer-comparison/prepare.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python3 +"""Prepare matched fixtures and standalone Rust consumers; no timing here.""" + +import argparse +import json +import shutil +import subprocess +from pathlib import Path +from xml.sax.saxutils import escape + +import tomllib + +ROOT = Path(__file__).resolve().parents[2] +SUITE = ROOT / "benchmarks/serializer-comparison" + + +def prepare(output: Path, cli: Path) -> None: + expected_version = tomllib.loads( + (ROOT / "crates/polyxml-python/pyproject.toml").read_text() + )["project"]["version"] + version = subprocess.run( + [str(cli), "--version"], check=True, capture_output=True, text=True + ).stdout.strip() + if version != f"polyxml {expected_version}": + raise RuntimeError( + f"Rebuild the local CLI: expected {expected_version}, got {version}" + ) + output.mkdir(parents=True, exist_ok=True) + fixtures = output / "fixtures" + fixtures.mkdir(exist_ok=True) + for count in [1, 1000]: + shutil.copyfile( + ROOT / f"benchmarks/workloads/sensor-batch/sensor-{count}.xml", + fixtures / f"sensor_{count}.xml", + ) + xml = ( + "" + + "".join( + f"{escape(f'sensor-{i} & <é> {chr(34)}quoted{chr(34)}')}{i}" + for i in range(1000) + ) + + "" + ) + (fixtures / "escaped_1000.xml").write_text(xml, encoding="utf-8") + for mode, flags in [("owned", ["--zero-copy", "false"]), ("borrowed", [])]: + directory = output / "generated" / mode + subprocess.run( + [ + str(cli), + "generate", + str(ROOT / "benchmarks/workloads/sensor-batch/batch.xsd"), + "--lang", + "rust", + "--out", + str(directory), + *flags, + ], + check=True, + ) + consumer = output / "rust-consumer" + source = consumer / "src" + source.mkdir(parents=True, exist_ok=True) + shutil.copyfile(SUITE / "rust.rs", source / "main.rs") + for mode in ["owned", "borrowed"]: + shutil.copyfile(output / f"generated/{mode}/batch.rs", source / f"{mode}.rs") + shutil.copyfile( + ROOT / "benchmarks/workloads/sensor-batch/batch.xsd", source / "schema.xsd" + ) + core = json.dumps(str(ROOT / "crates/polyxml-core")) + (consumer / "Cargo.toml").write_text(f"""[package] +name="polyxml-serializer-comparison" +version="0.0.0" +edition="2021" +[workspace] +[features] +allocations=[] +[dependencies] +polyxml={{path={core}}} +quick-xml={{version="=0.42.0",features=["serialize"]}} +serde={{version="1",features=["derive"]}} +serde_json="1" +serde-xml-rs="=0.8.2" +""") + subprocess.run( + [ + str(cli), + "generate", + str(ROOT / "benchmarks/workloads/sensor-batch/batch.xsd"), + "--lang", + "python", + "--out", + str(output / "python-models"), + ], + check=True, + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--output", type=Path, default=SUITE / "target") + parser.add_argument("--cli", type=Path, default=ROOT / "target/debug/polyxml") + args = parser.parse_args() + prepare(args.output.resolve(), args.cli.resolve()) diff --git a/benchmarks/serializer-comparison/python_bench.py b/benchmarks/serializer-comparison/python_bench.py new file mode 100644 index 00000000..096b60a9 --- /dev/null +++ b/benchmarks/serializer-comparison/python_bench.py @@ -0,0 +1,251 @@ +#!/usr/bin/env python3 +"""Matched typed consumers; no tracemalloc or allocation counter in timings.""" + +from __future__ import annotations + +import csv +import importlib +import json +import os +import sys +import time +import xml.etree.ElementTree as ET +from dataclasses import dataclass +from pathlib import Path + +import polyxml +import tomllib +from lxml import etree +from pydantic_xml import BaseXmlModel, element +from xsdata.formats.dataclass.parsers import XmlParser +from xsdata.formats.dataclass.parsers.json import JsonParser +from xsdata.formats.dataclass.serializers import XmlSerializer +from xsdata.formats.dataclass.serializers.config import SerializerConfig +from xsdata.formats.dataclass.serializers.json import JsonSerializer + +TARGET = Path(sys.argv[1]).resolve() +sys.path.insert(0, str(TARGET / "python-models")) +models = importlib.import_module("batch") + + +@dataclass(slots=True, kw_only=True) +class Batch(models.BatchType): + """Give the generated type its declared XSD element name for every lane.""" + + class Meta: + name = "Batch" + strict_root = True + + +class PSensor(BaseXmlModel, tag="Sensor"): + id: str = element(tag="Id") + value: int = element(tag="Value") + + +class PBatch(BaseXmlModel, tag="Batch"): + sensor: list[PSensor] = element(tag="Sensor") + + +def expected(count, escaped): + return [ + (f'sensor-{i} & <é> "quoted"' if escaped else f"sensor-{i}", i) + for i in range(count) + ] + + +def check(value, pairs): + assert [(sensor.id, sensor.value) for sensor in value.sensor] == pairs + + +def tree_read(xml, api): + tree = api.fromstring(xml) + return Batch( + sensor=[ + models.SensorType(id=node.findtext("Id"), value=int(node.findtext("Value"))) + for node in tree.findall("Sensor") + ] + ) + + +def tree_write(value, api): + root = api.Element("Batch") + for sensor in value.sensor: + node = api.SubElement(root, "Sensor") + api.SubElement(node, "Id").text = sensor.id + api.SubElement(node, "Value").text = str(sensor.value) + return api.tostring(root, encoding="utf-8") + + +def standard_json_read(raw): + value = json.loads(raw) + return Batch( + sensor=[ + models.SensorType(id=s["Id"], value=s["Value"]) for s in value["Sensor"] + ] + ) + + +def standard_json_write(value): + return json.dumps( + {"Sensor": [{"Id": s.id, "Value": s.value} for s in value.sensor]}, + ensure_ascii=False, + separators=(",", ":"), + ).encode("utf-8") + + +def measure(writer, lane, case, op, input_size, output_size, fn): + for _ in range(64): + fn() + start = time.perf_counter_ns() + for _ in range(10): + fn() + cost = (time.perf_counter_ns() - start) / 10 + chunk = max(1, min(100, int(10_000_000 / max(1, cost)))) + samples = int(os.environ.get("BENCH_SAMPLES", "9")) + duration = int(os.environ.get("BENCH_MILLIS", "250")) * 1_000_000 + for sample in range(samples): + iterations = 0 + start = time.perf_counter_ns() + while time.perf_counter_ns() - start < duration: + for _ in range(chunk): + fn() # result destruction included; normal cyclic GC stays enabled + iterations += chunk + elapsed = time.perf_counter_ns() - start + writer.writerow( + [ + "sample", + lane, + case, + op, + sample, + iterations, + f"{elapsed / iterations:.3f}", + "", + "", + input_size, + output_size, + ] + ) + + +def main(): + root = Path(__file__).resolve().parents[2] + expected_version = tomllib.loads( + (root / "crates/polyxml-python/pyproject.toml").read_text() + )["project"]["version"] + assert polyxml.__version__ == expected_version, ( + polyxml.__version__, + expected_version, + ) + xp = XmlParser() + xs = XmlSerializer(config=SerializerConfig(xml_declaration=False)) + jp = JsonParser() + js = JsonSerializer(config=SerializerConfig(indent=None)) + writer = csv.writer(sys.stdout, lineterminator="\n") + writer.writerow( + [ + "kind", + "lane", + "case", + "op", + "sample", + "iterations", + "ns_per_op", + "allocations", + "requested_bytes", + "input_bytes", + "output_bytes", + ] + ) + order = int(os.environ.get("BENCH_ORDER", "0")) + cases = [ + ("sensor_1", 1, False), + ("sensor_1000", 1000, False), + ("escaped_1000", 1000, True), + ] + cases = cases[order % 3 :] + cases[: order % 3] + for case, count, escaped in cases: + xml = (TARGET / f"fixtures/{case}.xml").read_bytes() + pairs = expected(count, escaped) + value = Batch(sensor=[models.SensorType(id=s, value=i) for s, i in pairs]) + pvalue = PBatch(sensor=[PSensor(id=s, value=i) for s, i in pairs]) + raw_json = standard_json_write(value) + lanes = [ + ( + "polyxml_dataclass", + "xml", + lambda xml=xml: polyxml.deserialize(xml, Batch), + lambda value=value: polyxml.serialize(value), + ), + ( + "xsdata_dataclass", + "xml", + lambda xml=xml: xp.from_bytes(xml, Batch), + lambda value=value: xs.render(value).encode("utf-8"), + ), + ( + "stdlib_elementtree_typed_adapter", + "xml", + lambda xml=xml: tree_read(xml, ET), + lambda value=value: tree_write(value, ET), + ), + ( + "lxml_typed_adapter", + "xml", + lambda xml=xml: tree_read(xml, etree), + lambda value=value: tree_write(value, etree), + ), + ( + "pydantic_xml", + "xml", + lambda xml=xml: PBatch.from_xml(xml), + lambda pvalue=pvalue: pvalue.to_xml(encoding="utf-8"), + ), + ( + "polyxml_dataclass", + "json", + lambda raw_json=raw_json: polyxml.deserialize_json(raw_json, Batch), + lambda value=value: polyxml.serialize_json(value), + ), + ( + "xsdata_dataclass", + "json", + lambda raw_json=raw_json: jp.from_bytes(raw_json, Batch), + lambda value=value: js.render(value).encode("utf-8"), + ), + ( + "stdlib_json_typed_adapter", + "json", + lambda raw_json=raw_json: standard_json_read(raw_json), + lambda value=value: standard_json_write(value), + ), + ] + # Fully validate every lane before any lane is timed. + sizes = {} + schema = etree.XMLSchema( + etree.parse(str(TARGET / "rust-consumer/src/schema.xsd")) + ) + for lane, fmt, read, write in lanes: + check(read(), pairs) + out = write() + assert isinstance(out, bytes) + if fmt == "xml": + schema.assertValid(etree.fromstring(out)) + check(tree_read(out, ET), pairs) + else: + assert json.loads(out) == json.loads(raw_json) + sizes[(lane, fmt)] = len(out) + export = os.environ.get("BENCH_EXPORT") + if export: + path = Path(export) + path.mkdir(parents=True, exist_ok=True) + (path / f"python-{lane}-{case}.{fmt}").write_bytes(out) + shift = order % len(lanes) + for lane, fmt, read, write in lanes[shift:] + lanes[:shift]: + size = len(xml) if fmt == "xml" else len(raw_json) + measure(writer, lane, case, f"{fmt}_read", size, 0, read) + measure(writer, lane, case, f"{fmt}_write", size, sizes[(lane, fmt)], write) + + +if __name__ == "__main__": + main() diff --git a/benchmarks/serializer-comparison/render.py b/benchmarks/serializer-comparison/render.py new file mode 100644 index 00000000..b68d98ad --- /dev/null +++ b/benchmarks/serializer-comparison/render.py @@ -0,0 +1,403 @@ +#!/usr/bin/env python3 +"""Render the October comparison page directly from the retained summaries.""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +DATA = ROOT / "docs/benchmarks/data/2026-10-04" + + +def render(output): + values = json.loads((DATA / "serializer-comparison/summary.json").read_text()) + native = json.loads((DATA / "native-models/summary.json").read_text()) + lookup = {(v["runtime"], v["case"], v["op"], v["lane"]): v for v in values} + models = { + (v["runtime"], v.get("count", v.get("workload")), v["op"], v["lane"]): v + for v in native + } + lines = [] + + def text(value): + lines.extend(value.strip("\n").splitlines()) + lines.append("") + + def table(headers, rows): + lines.append("| " + " | ".join(headers) + " |") + lines.append("| " + " | ".join([":---"] + ["---:"] * (len(headers) - 1)) + " |") + for row in rows: + lines.append("| " + " | ".join(row) + " |") + lines.append("") + + def timing(runtime, case, fmt, lanes, baseline): + rows = [] + for lane, label in lanes: + read = lookup[runtime, case, f"{fmt}_read", lane]["median_us"] + write = lookup[runtime, case, f"{fmt}_write", lane]["median_us"] + base = baseline(lane) if callable(baseline) else baseline + bread = lookup[runtime, case, f"{fmt}_read", base]["median_us"] + bwrite = lookup[runtime, case, f"{fmt}_write", base]["median_us"] + rows.append( + [ + label, + f"{read:.2f}", + f"{write:.2f}", + f"{bread / read:.2f}×", + f"{bwrite / write:.2f}×", + ] + ) + table( + [ + "Serializer / model", + "Read µs ↓", + "Write µs ↓", + "Read relative ↑", + "Write relative ↑", + ], + rows, + ) + + rust_lanes = [ + ("polyxml_generated_owned", "**PolyXML generated · String**"), + ("quick_xml_serde_owned", "quick-xml Serde · String"), + ("serde_xml_rs_owned", "serde-xml-rs · String"), + ("polyxml_generated_borrowed", "**PolyXML generated · Cow**"), + ("quick_xml_serde_borrowed", "quick-xml Serde · Cow"), + ] + python_lanes = [ + ("polyxml_dataclass", "**PolyXML · generated dataclasses**"), + ("xsdata_dataclass", "xsdata · same dataclasses"), + ("stdlib_elementtree_typed_adapter", "stdlib ElementTree · typed adapter¹"), + ("lxml_typed_adapter", "lxml · typed adapter¹"), + ] + rust_baseline = lambda lane: ( + "quick_xml_serde_borrowed" + if lane.endswith("borrowed") + else "quick_xml_serde_owned" + ) + text("""--- +title: Serializer comparisons (October 2026) +description: Matched XML and JSON serializer tables for PolyXML 0.34.8, with native baselines, competitor bindings, allocations, repeated samples and coverage limits. +--- + +# XML and JSON serializer comparisons + +These tables compare **the same inputs and decoded values within each runtime**. +They show native options, competitor libraries and PolyXML's generated bindings. +They do not rank languages against one another. Read and write costs are separate; +**lower latency is better**, and a relative score above 1 means faster than the +stated baseline. All results are from **PolyXML 0.34.8, October 4, 2026**. + +The main sensor tables use **1,000 records / 53,795 XML bytes**. Every `Id` and +integer `Value` is checked before timing. Setup and file I/O are excluded; +reads construct the complete model, and writes allocate fresh output. The +[retained samples and all-case summary](data/2026-10-04/serializer-comparison/summary.md) +include single-record and escaped-text cases plus process variation. + +## What is actually being compared? + +| Runtime | Native option in this comparison | PolyXML path | Competitor / baseline | Meaning | +| :--- | :--- | :--- | :--- | :--- | +| Rust | No stdlib XML binding used; `serde_json` for JSON | Generated XML codec; Serde-derived JSON models | quick-xml Serde, serde-xml-rs; handwritten Serde JSON | XML binding engines; JSON model overhead | +| Python | ElementTree / `json` plus handwritten typed mapping | Rust-backed binding into generated dataclasses | xsdata on the same dataclasses; lxml typed adapter; Pydantic XML reference | End-to-end typed binding; specialized adapters labeled separately | +| Java | StAX API; Woodstox provider on this classpath | Generated POJOs with direct StAX codec | Jackson XML on the same POJOs; XJC-generated JAXB | Typed XML binding, on a separate 80-field workload | +| Go | `encoding/xml` | Generated root model and native serializer | Flat handwritten struct and same native serializer | Generated model / root-method overhead | +| C# | `XmlSerializer` | Generated inherited classes and native serializer | Flat handwritten class and same native serializer | Generated model overhead under an explicit JIT configuration | +| C++ | Existing C ABI binding | Native value graph mapped into models | Equivalent competitor not measured here | Coverage gap; narrow string-search adapter excluded | +| TypeScript / Wasm | Existing JS object parsers | Wasm binding | Equivalent typed return graph not measured here | Coverage gap; existing parser studies remain separate | + +## Rust XML: generated codecs versus Serde adapters + +[Source, generated models and dependency lock](https://github.com/polyxml/PolyXML/tree/main/docs/benchmarks/data/2026-10-04/serializer-comparison/source), +[raw summary](data/2026-10-04/serializer-comparison/summary.json). +Both the generated codecs and quick-xml's Serde adapter use **quick-xml 0.42.0**; +this compares their binding code, not different tokenizers. Ratios use quick-xml +Serde **with the same string ownership** as the row. +""") + timing("rust", "sensor_1000", "xml", rust_lanes, rust_baseline) + text("""The generated owned codec takes about half the read time of quick-xml Serde, +and its writer takes roughly a quarter of the time on this fixture. Borrowed +XML avoids string copies for plain text; escaping can require owned strings. +Both Cow readers are checked to actually borrow on the plain fixture. See +[quick-xml's borrowing rules](https://docs.rs/quick-xml/0.42.0/quick_xml/de/index.html). + +The dynamic Rust engine returns a `PolyValue` record/list graph rather than the +typed structs above. Its separate reference result is:""") + row = ["PolyXML dynamic · PolyValue"] + for op in ("xml_read", "xml_write"): + row.append( + f"{lookup['rust', 'sensor_1000', op, 'polyxml_dynamic']['median_us']:.2f}" + ) + table(["Value representation", "Read µs ↓", "Write µs ↓"], [row]) + text("""### Rust allocation diagnostics + +[Separate instrumented output](data/2026-10-04/serializer-comparison/rust-allocations.csv). +These are **total requested allocation bytes and allocation/reallocation calls** +per operation, not peak RAM or retained memory. Timings above come from a +separate binary without the allocation counter.""") + rows = [] + for lane, label in rust_lanes + [ + ("polyxml_dynamic", "PolyXML dynamic · different value graph") + ]: + r = lookup["rust", "sensor_1000", "xml_read", lane] + w = lookup["rust", "sensor_1000", "xml_write", lane] + rows.append( + [ + label, + f"{r['requested_bytes']:,}", + f"{w['requested_bytes']:,}", + f"{r['allocation_calls']:,}", + f"{w['allocation_calls']:,}", + ] + ) + table( + [ + "Serializer / model", + "Read requested B", + "Write requested B", + "Read calls", + "Write calls", + ], + rows, + ) + text("""## Python XML: complete typed results + +[Same-run samples and source](data/2026-10-04/serializer-comparison/summary.md). +PolyXML and xsdata construct the **same generated slotted dataclasses**. The +stdlib and lxml adapters construct those same models and convert integers +inside timing; they are not DOM-only parser timings. Ratios use **xsdata**.""") + timing("python", "sensor_1000", "xml", python_lanes, "xsdata_dataclass") + text("""¹ These handwritten adapters are specialized to this two-field schema. They +are useful native baselines, but do not implement a general schema-driven binder. +ElementTree's adapter reads this batch faster than PolyXML; PolyXML writes it +faster. That distinction matters alongside the larger gains over xsdata. + +Pydantic XML builds a different, validating model graph. Keep it as a reference +rather than treating it as the same dataclass task:""") + r = lookup["python", "sensor_1000", "xml_read", "pydantic_xml"]["median_us"] + w = lookup["python", "sensor_1000", "xml_write", "pydantic_xml"]["median_us"] + table( + ["Reference representation", "Read µs ↓", "Write µs ↓"], + [["pydantic-xml · Pydantic v2 models", f"{r:.2f}", f"{w:.2f}"]], + ) + text("""Python timings use a **release native extension, without tracemalloc**. +The old traced Python measurements are not mixed into this table. We do not +report Python-only traced bytes as total Rust/libxml2 allocation. + +## JSON: separate from XML + +[All JSON samples, source and allocation diagnostics](data/2026-10-04/serializer-comparison/summary.md). +The plain 1,000-sensor JSON input is identical within each runtime; all writers +are checked against the same JSON values. + +### Rust JSON: the same serde_json engine + +Generated Rust JSON models and handwritten models all use **serde_json 1.0.151**. +These rows measure model choices, not a separate PolyXML JSON engine. The +generated Cow JSON model does not carry field-level Serde borrowing annotations; +its strings deserialize as owned. The XML borrowing result above does not apply.""") + rows = [] + for lane, label in [ + ("polyxml_generated_owned", "PolyXML-generated · String"), + ("polyxml_generated_borrowed", "PolyXML-generated · Cow"), + ("serde_json_handwritten", "Handwritten Serde · String"), + ]: + rows.append( + [ + label, + f"{lookup['rust', 'sensor_1000', 'json_read', lane]['median_us']:.2f}", + f"{lookup['rust', 'sensor_1000', 'json_write', lane]['median_us']:.2f}", + ] + ) + table(["Model / serde_json", "Read µs ↓", "Write µs ↓"], rows) + text("""### Python JSON: typed dataclasses + +Ratios use **xsdata JSON**. The stdlib adapter includes JSON parsing and complete +model construction, or model-to-dict conversion and UTF-8 output, inside timing.""") + timing( + "python", + "sensor_1000", + "json", + [ + ("polyxml_dataclass", "**PolyXML · generated dataclasses**"), + ("xsdata_dataclass", "xsdata · same dataclasses"), + ("stdlib_json_typed_adapter", "stdlib json · specialized typed adapter"), + ], + "xsdata_dataclass", + ) + text("""PolyXML is faster than xsdata here, while the specialized stdlib adapter is +faster than both. This fixture does not justify claiming PolyXML is the fastest +Python JSON serializer. + +## Go and C#: generated models using native XML serializers + +[All native-model samples, sources and runtime settings](https://github.com/polyxml/PolyXML/tree/main/docs/benchmarks/data/2026-10-04/native-models), +[computed summary](data/2026-10-04/native-models/summary.json). +These are **model comparisons using the same serializer in each language**. +Readers use the shared sensor fixture; writers produce equivalent sensor values. +Go writes UTF-8 bytes, while C# writes a materialized UTF-16 string. Compare +within each runtime, not between these rows. Allocations are Go's `benchmem` +bytes/op or .NET's current-thread managed bytes/op.""") + rows = [] + for runtime, label in [ + ("go", "Go · encoding/xml"), + ("csharp", "C# · XmlSerializer"), + ]: + for lane, model in [("generated", "generated"), ("baseline", "handwritten")]: + r = models[runtime, 1000, "read", lane] + w = models[runtime, 1000, "write", lane] + rows.append( + [ + f"{label} · {model}", + f"{r['median_us']:.2f}", + f"{w['median_us']:.2f}", + f"{r['allocated_bytes']:,.0f}", + f"{w['allocated_bytes']:,.0f}", + ] + ) + table( + [ + "Runtime / model", + "Read µs ↓", + "Write µs ↓", + "Read allocated B", + "Write allocated B", + ], + rows, + ) + text("""Go's generated root type has custom `MarshalXML`/`UnmarshalXML` methods for +root naming and namespace checks. The flat handwritten baseline lacks those +methods. The custom root writer adds allocations and timing overhead in this +comparison. + +C# uses **.NET 10.0.12**, with the `net8.0` build rolled forward. The published +control sets **`DOTNET_TieredCompilation=0`**, excludes serializer construction, +and warms each model for at least two seconds / 500 read-write pairs. This is +an explicit warmed JIT configuration, not default startup/tiered-PGO behavior. +The [default-tiering diagnostics and control settings](https://github.com/polyxml/PolyXML/tree/main/docs/benchmarks/data/2026-10-04/native-models) +are retained: their first-model effect persisted despite longer warmup, so they +are not used to rank models. See the +[.NET compilation settings](https://learn.microsoft.com/en-us/dotnet/core/runtime-config/compilation). + +## Java XML: direct StAX, Jackson and JAXB + +[Raw JMH JSON, including every fork, score error and GC metric](data/2026-10-04/native-models/java-jmh.json), +[fixture/output lengths and execution log](data/2026-10-04/native-models/java-jmh.txt). +Java uses its own **80-field synthetic projections**, with seven populated +string fields and 73 absent optional fields. Each operation processes **1,000 +independent messages**. These are not official ISO/UCI documents and are not +the sensor workload. Read IDs vary; writes serialize the preconstructed ID-0 +model to fresh bytes 1,000 times. Setup checks every input across typed readers. + +The [recorded StAX providers](data/2026-10-04/native-models/java-stax-providers.txt) +are Woodstox 7.1.1 on this shaded classpath. The direct codec uses the JDK StAX +API with that provider; this is not a claim about the JDK's default XML parser. + +Numbers are **batches/s**, with JMH's reported score error; higher is better. +Direct StAX and Jackson populate the same generated POJOs. JAXB populates the +equivalent XJC models. Panama's different native return graph is excluded.""") + rows = [] + for workload in ("settlement", "telemetry"): + for lane, label in [ + ("direct", "PolyXML direct StAX"), + ("jackson", "Jackson XML"), + ("jaxb", "JAXB / XJC"), + ]: + r = models["java", workload, "read", lane] + w = models["java", workload, "write", lane] + rows.append( + [ + f"{workload.title()} · {label}", + f"{r['batches_per_second']:.1f} ± {r['jmh_score_error']:.1f}", + f"{w['batches_per_second']:.1f} ± {w['jmh_score_error']:.1f}", + f"{r['allocated_bytes_per_message']:,.0f}", + f"{w['allocated_bytes_per_message']:,.0f}", + ] + ) + table( + [ + "Workload / typed binding", + "Read batches/s ↑", + "Write batches/s ↑", + "Read heap B/message", + "Write heap B/message", + ], + rows, + ) + text("""Output lengths differ because serializers emit different declarations and +namespace formatting; the log records them. Overlapping JMH errors do not +establish a winner. GC metrics cover the Java heap. + +## Small inputs and escaped text + +The [complete summary](data/2026-10-04/serializer-comparison/summary.md) retains +all lanes. The compact checks below show that the relative result changes with +input size and escaping. Same timing method and ownership-matched baselines +as the main Rust table.""") + for case, title in [ + ("sensor_1", "Rust · one sensor (65 B XML)"), + ("escaped_1000", "Rust · 1,000 sensors with entities, quotes and UTF-8"), + ]: + text(f"### {title}") + timing("rust", case, "xml", rust_lanes, rust_baseline) + text("""For Python, the [all-case summary](data/2026-10-04/serializer-comparison/summary.md) +includes the same single-record and escaped-text fixtures. Native call overhead, +model construction and escaping matter differently at each size; the main +1,000-record ratio should not be applied to every XML document. + +## Environment, variation and reproduction + +[Exact metadata, hashes and dependency versions](data/2026-10-04/serializer-comparison/metadata.json), +[native-model toolchains and settings](data/2026-10-04/native-models/metadata.json), +[reproducible suite](https://github.com/polyxml/PolyXML/tree/main/benchmarks/serializer-comparison). +The engine/compiler source is release **0.34.8 / `89786c3`**. Harness revisions +and generated-source hashes are recorded separately in the artifacts. + +| Item | Configuration | +| :--- | :--- | +| Host | Intel Core i5-11600K, 6 cores / 12 logical CPUs; WSL2, Ubuntu 26.04.1; 15.5 GiB visible RAM | +| Rust | rustc/cargo 1.99.0; release; quick-xml 0.42.0, serde-xml-rs 0.8.2, Serde 1.0.229, serde_json 1.0.151 | +| Python | CPython 3.12.15; release ABI3 extension; xsdata 26.2, lxml 6.1.3, pydantic-xml 2.21.1, Pydantic 2.13.5 | +| Go / .NET | Go 1.26.0; .NET SDK 10.0.112 / runtime 10.0.12; C# control disables tiered compilation | +| Java | JDK 25.0.4.1; JMH 1.37; Jackson XML 2.21.2; JAXB 4.0.5; two forks, three 2-second warmups, five 2-second measurements; 256 MiB initial / 1 GiB max heap | +| Scheduling | Builds and timings serial; model/case order rotated; memory-capped processes; IDE background services present; no CPU affinity/frequency control | + +Rust/Python use **six independent processes**, each with five samples of at +least 150 ms per operation after warmup. Tables report the **median of process +medians**. [All process ranges](data/2026-10-04/serializer-comparison/summary.md) +are descriptive minimum–maximum ranges, not confidence intervals. Samples +within a process are correlated. Go uses five fresh processes / 2-second bench +windows; C# control uses six fresh processes / 1,000 calls per operation, +with first-model order balanced. Their +[process ranges](data/2026-10-04/native-models/summary.json) are also retained. +Java reports JMH throughput and its own score error rather than these medians. + +Every reader field and writer value is checked outside timing. Python XML +outputs pass XSD validation through lxml; all 33 exported Rust/Python XML +outputs are checked again using independent stdlib ElementTree parsing. +JSON outputs are compared as complete values. Writer byte lengths are retained +in the raw CSVs. This is a performance comparison of these valid fixtures, +not a conformance score or a full-schema-validation timing. + +[September results](language-results-2026-09.md) remain historical; they use a +different host/version and are not blended with these figures. C++ and +TypeScript need equivalent return graphs and repeated matched measurements +before joining this typed comparison. Existing +[C++ native results](language-results-2026-09.md#c-native-c-abi-binding-and-model-adapter) +and [Wasm parser studies](wasm-vs-js.md) retain their own scope. +""") + output.write_text("\n".join(lines)) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--output", + type=Path, + default=ROOT / "docs/benchmarks/serializer-comparison-2026-10.md", + ) + args = parser.parse_args() + render(args.output) diff --git a/benchmarks/serializer-comparison/run.py b/benchmarks/serializer-comparison/run.py new file mode 100644 index 00000000..5461b15c --- /dev/null +++ b/benchmarks/serializer-comparison/run.py @@ -0,0 +1,185 @@ +#!/usr/bin/env python3 +"""Build separately instrumented consumers, retain all samples and verify outputs.""" + +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +import os +import platform +import shutil +import subprocess +import xml.etree.ElementTree as ET +from datetime import datetime, timezone +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +SUITE = Path(__file__).resolve().parent +TARGET = SUITE / "target" + + +def command(args, **kwargs): + return subprocess.run([str(a) for a in args], cwd=ROOT, check=True, **kwargs) + + +def capture(args): + return command(args, stdout=subprocess.PIPE, text=True).stdout.strip() + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def validate_exports(directory): + checked = [] + for path in sorted(directory.glob("*.xml")): + count = 1 if path.stem.endswith("sensor_1") else 1000 + escaped = path.stem.endswith("escaped_1000") + root = ET.fromstring(path.read_bytes()) + assert root.tag == "Batch", path + children = list(root) + assert len(children) == count, path + for i, node in enumerate(children): + assert node.tag == "Sensor" and [c.tag for c in node] == ["Id", "Value"], ( + path + ) + expected = f'sensor-{i} & <é> "quoted"' if escaped else f"sensor-{i}" + assert node[0].text == expected and int(node[1].text) == i, path + checked.append( + {"file": path.name, "sha256": sha(path), "bytes": path.stat().st_size} + ) + assert len(checked) == 33, ( + f"Expected 18 Rust + 15 Python XML outputs, got {len(checked)}" + ) + return checked + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--output", type=Path, required=True) + parser.add_argument("--python", type=Path, default=TARGET / "venv/bin/python") + parser.add_argument("--rounds", type=int, default=6) + parser.add_argument("--samples", type=int, default=5) + parser.add_argument("--millis", type=int, default=150) + args = parser.parse_args() + if min(args.rounds, args.samples, args.millis) < 1: + parser.error("rounds, samples and millis must be positive") + output = args.output.resolve() + output.mkdir(parents=True, exist_ok=False) # preserve previous measurements + source = output / "source" + source.mkdir() + for path in SUITE.glob("*.py"): + shutil.copyfile(path, source / path.name) + shutil.copyfile(SUITE / "rust.rs", source / "rust.rs") + env = dict(os.environ, CARGO_BUILD_JOBS="1", POLYXML_MEMCAP_BACKEND="systemd") + manifest = TARGET / "rust-consumer/Cargo.toml" + binary = TARGET / "rust-consumer/target/release/polyxml-serializer-comparison" + binaries = TARGET / "bin" + binaries.mkdir(exist_ok=True) + metadata = { + "started_utc": datetime.now(timezone.utc).isoformat(), + "revision": capture(["git", "rev-parse", "HEAD"]), + "git_status": capture(["git", "status", "--short"]), + "polyxml_cli": capture([ROOT / "target/debug/polyxml", "--version"]), + "platform": platform.platform(), + "cpu": capture(["lscpu"]), + "memory": Path("/proc/meminfo").read_text(), + "rustc": capture(["rustc", "-Vv"]), + "cargo": capture(["cargo", "-V"]), + "python": capture([args.python, "--version"]), + "python_packages": capture(["uv", "pip", "freeze", "--python", args.python]), + "native": json.loads( + capture( + [ + args.python, + "-c", + "import hashlib,json,polyxml,polyxml._polyxml as n; from pathlib import Path; print(json.dumps(dict(version=polyxml.__version__,path=n.__file__,sha256=hashlib.sha256(Path(n.__file__).read_bytes()).hexdigest())))", + ] + ) + ), + "rounds": args.rounds, + "samples": args.samples, + "millis": args.millis, + "source_sha256": {p.name: sha(p) for p in source.iterdir()}, + "host_note": "WSL host with IDE services; no concurrent local build or benchmark during measured rounds. No CPU affinity or frequency controls.", + } + (output / "metadata.json").write_text(json.dumps(metadata, indent=2) + "\n") + for feature, name in [(False, "timing"), (True, "allocations")]: + build = [ + ROOT / "scripts/memcap.sh", + "cargo", + "build", + "--release", + "--manifest-path", + manifest, + ] + if feature: + build += ["--features", "allocations"] + with (output / f"build-{name}.log").open("w") as log: + command(build, env=env, stdout=log, stderr=subprocess.STDOUT) + shutil.copyfile(binary, binaries / name) + (binaries / name).chmod(0o755) + for path in (TARGET / "rust-consumer/src").iterdir(): + shutil.copyfile( + path, + source / path.name + if path.name != "main.rs" + else source / "consumer-main.rs", + ) + shutil.copyfile(manifest, source / "Cargo.toml") + shutil.copyfile(manifest.parent / "Cargo.lock", source / "rust-consumer.lock") + shutil.copyfile(TARGET / "python-models/batch.py", source / "python-models.py") + shutil.copytree(TARGET / "fixtures", output / "fixtures") + measured_env = dict( + env, + BENCH_SAMPLES=str(args.samples), + BENCH_MILLIS=str(args.millis), + BENCH_EXPORT=str(output / "verified-outputs"), + ) + # Alternate runtime order. Rust and Python are never measured concurrently. + for repeat in range(args.rounds): + measured_env["BENCH_ORDER"] = str(repeat) + lanes = ["rust", "python"] if repeat % 2 == 0 else ["python", "rust"] + for runtime in lanes: + print(f"round {repeat + 1}/{args.rounds}: {runtime}", flush=True) + run = ( + [binaries / "timing", TARGET / "fixtures"] + if runtime == "rust" + else [args.python, SUITE / "python_bench.py", TARGET] + ) + with ( + (output / f"{runtime}-{repeat}.csv").open("w") as raw, + (output / f"{runtime}-{repeat}.log").open("w") as log, + ): + command( + [ROOT / "scripts/memcap.sh", *run], + env=measured_env, + stdout=raw, + stderr=log, + ) + with (output / "rust-allocations.csv").open("w") as raw: + command( + [binaries / "allocations", TARGET / "fixtures"], + env=measured_env, + stdout=raw, + ) + metadata["independent_xml_checks"] = validate_exports(output / "verified-outputs") + metadata["source_sha256"] = {p.name: sha(p) for p in source.iterdir()} + metadata["binary_sha256"] = {p.name: sha(p) for p in binaries.iterdir()} + metadata["fixture_sha256"] = { + p.name: sha(p) for p in (output / "fixtures").iterdir() + } + for runtime, expected in [("rust", 54), ("python", 48)]: + for repeat in range(args.rounds): + with (output / f"{runtime}-{repeat}.csv").open() as stream: + rows = list(csv.DictReader(stream)) + assert len(rows) == expected * args.samples + metadata["finished_utc"] = datetime.now(timezone.utc).isoformat() + (output / "metadata.json").write_text(json.dumps(metadata, indent=2) + "\n") + print(f"Retained samples and verified 33 XML outputs: {output}") + + +if __name__ == "__main__": + main() diff --git a/benchmarks/serializer-comparison/run_models.py b/benchmarks/serializer-comparison/run_models.py new file mode 100644 index 00000000..0d321b19 --- /dev/null +++ b/benchmarks/serializer-comparison/run_models.py @@ -0,0 +1,232 @@ +#!/usr/bin/env python3 +"""Refresh native-model Go/C# and matched Java JMH comparisons, serially.""" + +from __future__ import annotations + +import argparse +import json +import os +import shutil +import subprocess +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] + + +def run(args, env, directory, filename, cwd=ROOT): + with (directory / filename).open("w") as stream: + subprocess.run( + [str(a) for a in args], + env=env, + cwd=cwd, + check=True, + stdout=stream, + stderr=subprocess.STDOUT, + ) + + +def capture(args, env): + return subprocess.run( + [str(a) for a in args], + env=env, + cwd=ROOT, + check=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + text=True, + ).stdout.strip() + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--output", type=Path, required=True) + parser.add_argument("--maven", type=Path, required=True) + args = parser.parse_args() + out = args.output.resolve() + out.mkdir(parents=True, exist_ok=False) + env = dict( + os.environ, + CARGO_BUILD_JOBS="1", + POLYXML_MEMCAP_BACKEND="systemd", + DOTNET_ROLL_FORWARD="Major", + POLYXML_BIN=str(ROOT / "target/debug/polyxml"), + ) + meta = { + "revision": capture(["git", "rev-parse", "HEAD"], env), + "status": capture(["git", "status", "--short"], env), + "go": capture(["go", "version"], env), + "dotnet": capture(["dotnet", "--info"], env), + "java": capture(["java", "-version"], env), + "maven": capture([args.maven, "-version"], env), + "cli": capture([env["POLYXML_BIN"], "--version"], env), + "settings": { + "go_processes": 5, + "go_benchtime": "2s", + "csharp_processes": 5, + "csharp_iterations": 1000, + "csharp_min_warmup_pairs": 500, + "csharp_min_warmup_ms": 2000, + "java_batch_size": 1000, + "java_forks": 2, + "java_warmup": "3 x 2s", + "java_measurement": "5 x 2s", + }, + } + (out / "metadata.json").write_text(json.dumps(meta, indent=2) + "\n") + source = out / "source" + source.mkdir() + for runtime in ("go", "csharp", "java"): + shutil.copytree( + ROOT / f"benchmarks/{runtime}", + source / runtime, + ignore=shutil.ignore_patterns("target", "bin", "obj", "__pycache__"), + ) + for markdown in source.rglob("*.md"): + markdown.rename(markdown.with_suffix(".md.txt")) + for repeat in range(5): + print(f"Go process {repeat + 1}/5", flush=True) + current = dict( + env, BENCH_COUNT="1", BENCH_TIME="2s", BENCH_BASELINE_FIRST=str(repeat % 2) + ) + run( + [ROOT / "scripts/memcap.sh", "bash", ROOT / "benchmarks/go/run.sh"], + current, + out, + f"go-{repeat}.txt", + ) + run( + [ + env["POLYXML_BIN"], + "generate", + "benchmarks/csharp/sensor.xsd", + "--lang", + "csharp", + "--style", + "class", + "--out", + "benchmarks/csharp/target/generated", + ], + env, + out, + "csharp-codegen.log", + ) + run( + [ + ROOT / "scripts/memcap.sh", + "dotnet", + "build", + "-c", + "Release", + "benchmarks/csharp/Benchmark.csproj", + ], + env, + out, + "csharp-build.log", + ) + for repeat in range(5): + print(f"C# process {repeat + 1}/5", flush=True) + current = dict( + env, + BENCH_ITERATIONS="1000", + BENCH_WARMUP_MS="2000", + BENCH_BASELINE_FIRST=str(repeat % 2), + ) + run( + [ + ROOT / "scripts/memcap.sh", + "dotnet", + ROOT / "benchmarks/csharp/bin/Release/net8.0/Benchmark.dll", + ], + current, + out, + f"csharp-{repeat}.txt", + cwd=ROOT / "benchmarks/csharp", + ) + print("Java clean build and interoperability tests", flush=True) + run( + [ + ROOT / "scripts/memcap.sh", + args.maven, + "-f", + "benchmarks/java/pom.xml", + "clean", + "package", + ], + env, + out, + "java-build.log", + ) + run( + [args.maven, "-f", "benchmarks/java/pom.xml", "dependency:tree"], + env, + out, + "java-dependencies.txt", + ) + run( + [ + "java", + "--class-path", + "benchmarks/java/target/benchmarks.jar", + ROOT / "benchmarks/serializer-comparison/Providers.java", + ], + env, + out, + "java-stax-providers.txt", + ) + shutil.copyfile( + ROOT / "benchmarks/serializer-comparison/Providers.java", + source / "Providers.java", + ) + shutil.copyfile( + ROOT / "benchmarks/java/target/workload.xsd", source / "java-workload.xsd" + ) + print("Java JMH: two forks per case", flush=True) + run( + [ + ROOT / "scripts/memcap.sh", + "java", + "-jar", + "benchmarks/java/target/benchmarks.jar", + r"BindingBenchmark\.(direct|jackson|jaxb)(Read|Write)$", + "-p", + "workload=settlement,telemetry", + "-p", + "batchSize=1000", + "-wi", + "3", + "-i", + "5", + "-w", + "2s", + "-r", + "2s", + "-f", + "2", + "-foe", + "true", + "-jvmArgsAppend", + "-Xms256m -Xmx1g", + "-prof", + "gc", + "-rf", + "json", + "-rff", + out / "java-jmh.json", + ], + env, + out, + "java-jmh.txt", + ) + for runtime in ("go", "csharp"): + shutil.copytree( + ROOT / f"benchmarks/{runtime}/target/generated", + source / f"{runtime}-generated", + ) + shutil.copytree( + ROOT / "benchmarks/java/target/generated-sources", source / "java-generated" + ) + print(f"Retained model comparisons: {out}") + + +if __name__ == "__main__": + main() diff --git a/benchmarks/serializer-comparison/rust.rs b/benchmarks/serializer-comparison/rust.rs new file mode 100644 index 00000000..1a667e2c --- /dev/null +++ b/benchmarks/serializer-comparison/rust.rs @@ -0,0 +1,493 @@ +//! Matched XML/JSON consumers. Timings and allocation diagnostics use separate builds. +use polyxml::{schema::ModelSchema, schema_parser::XsdParser, PolyValue}; +use serde::{Deserialize, Serialize}; +#[cfg(not(feature = "allocations"))] +use std::time::{Duration, Instant}; +use std::{borrow::Cow, hint::black_box, sync::Arc}; +#[path = "borrowed.rs"] +mod borrowed; +#[path = "owned.rs"] +mod owned; + +#[derive(Debug, PartialEq, Serialize, Deserialize)] +#[serde(rename = "Batch")] +struct HandBatch { + #[serde(rename = "Sensor")] + sensor: Vec, +} +#[derive(Debug, PartialEq, Serialize, Deserialize)] +struct HandSensor { + #[serde(rename = "Id")] + id: String, + #[serde(rename = "Value")] + value: i32, +} +#[derive(Debug, PartialEq, Serialize, Deserialize)] +#[serde(rename = "Batch")] +struct BorrowBatch<'a> { + #[serde(rename = "Sensor", borrow)] + sensor: Vec>, +} +#[derive(Debug, PartialEq, Serialize, Deserialize)] +struct BorrowSensor<'a> { + #[serde(rename = "Id", borrow)] + id: Cow<'a, str>, + #[serde(rename = "Value")] + value: i32, +} + +#[cfg(feature = "allocations")] +mod allocation { + use std::alloc::{GlobalAlloc, Layout, System}; + use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering::Relaxed}; + static ENABLED: AtomicBool = AtomicBool::new(false); + static CALLS: AtomicUsize = AtomicUsize::new(0); + static BYTES: AtomicUsize = AtomicUsize::new(0); + pub struct Counter; + unsafe impl GlobalAlloc for Counter { + unsafe fn alloc(&self, l: Layout) -> *mut u8 { + if ENABLED.load(Relaxed) { + CALLS.fetch_add(1, Relaxed); + BYTES.fetch_add(l.size(), Relaxed); + } + System.alloc(l) + } + unsafe fn alloc_zeroed(&self, l: Layout) -> *mut u8 { + if ENABLED.load(Relaxed) { + CALLS.fetch_add(1, Relaxed); + BYTES.fetch_add(l.size(), Relaxed); + } + System.alloc_zeroed(l) + } + unsafe fn realloc(&self, p: *mut u8, l: Layout, n: usize) -> *mut u8 { + if ENABLED.load(Relaxed) { + CALLS.fetch_add(1, Relaxed); + BYTES.fetch_add(n, Relaxed); + } + System.realloc(p, l, n) + } + unsafe fn dealloc(&self, p: *mut u8, l: Layout) { + System.dealloc(p, l) + } + } + pub fn count(mut f: impl FnMut()) -> (usize, usize) { + f(); + CALLS.store(0, Relaxed); + BYTES.store(0, Relaxed); + ENABLED.store(true, Relaxed); + f(); + ENABLED.store(false, Relaxed); + (CALLS.load(Relaxed), BYTES.load(Relaxed)) + } +} +#[cfg(feature = "allocations")] +#[global_allocator] +static ALLOCATOR: allocation::Counter = allocation::Counter; + +fn measure(lane: &str, case: &str, op: &str, input: usize, output: usize, mut f: impl FnMut()) { + #[cfg(feature = "allocations")] + { + let (calls, bytes) = allocation::count(&mut f); + println!("allocation,{lane},{case},{op},0,1,,{calls},{bytes},{input},{output}"); + } + #[cfg(not(feature = "allocations"))] + { + for _ in 0..64 { + f(); + } + let pilot = Instant::now(); + for _ in 0..10 { + f(); + } + let cost = pilot.elapsed().as_nanos() / 10; + let chunk = (10_000_000 / cost.max(1)).clamp(1, 100) as usize; + let samples: usize = std::env::var("BENCH_SAMPLES") + .unwrap_or("9".into()) + .parse() + .unwrap(); + let millis: u64 = std::env::var("BENCH_MILLIS") + .unwrap_or("250".into()) + .parse() + .unwrap(); + for sample in 0..samples { + let start = Instant::now(); + let mut iterations = 0; + while start.elapsed() < Duration::from_millis(millis) { + for _ in 0..chunk { + f(); + } + iterations += chunk; + } + println!( + "sample,{lane},{case},{op},{sample},{iterations},{:.3},,,{input},{output}", + start.elapsed().as_nanos() as f64 / iterations as f64 + ); + } + } +} +fn expected(index: usize, escaped: bool) -> String { + if escaped { + format!("sensor-{index} & <é> \"quoted\"") + } else { + format!("sensor-{index}") + } +} +fn check(values: impl Iterator, i32)>, count: usize, escaped: bool) { + let mut seen = 0; + for (index, (id, value)) in values.enumerate() { + assert_eq!(id.as_ref(), expected(index, escaped)); + assert_eq!(value, index as i32); + seen += 1; + } + assert_eq!(seen, count); +} +fn check_dynamic(value: &PolyValue, count: usize, escaped: bool) { + let Some(PolyValue::List(items)) = value.get("sensor") else { + panic!("missing Sensor list") + }; + check( + items.iter().map(|s| { + ( + s.get("id").unwrap().as_str().unwrap(), + match s.get("value").unwrap() { + PolyValue::Int(i) => *i as i32, + _ => panic!("integer required"), + }, + ) + }), + count, + escaped, + ); +} +fn export(lane: &str, case: &str, bytes: &[u8]) { + if let Ok(directory) = std::env::var("BENCH_EXPORT") { + std::fs::create_dir_all(&directory).unwrap(); + std::fs::write(format!("{directory}/rust-{lane}-{case}.xml"), bytes).unwrap(); + } +} +fn main() { + let directory = std::env::args().nth(1).expect("fixture directory"); + let ir = XsdParser::new() + .parse_str(include_str!("schema.xsd")) + .unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Batch")).unwrap(); + println!("kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes"); + let order: usize = std::env::var("BENCH_ORDER") + .unwrap_or("0".into()) + .parse() + .unwrap(); + let cases = [ + ("sensor_1", 1, false), + ("sensor_1000", 1000, false), + ("escaped_1000", 1000, true), + ]; + for offset in 0..cases.len() { + let (case, count, escaped) = cases[(offset + order) % cases.len()]; + let xml = std::fs::read_to_string(format!("{directory}/{case}.xml")).unwrap(); + let own = owned::BatchType::from_xml(&xml).unwrap(); + check(own.sensor.iter().map(|s| (&s.id, s.value)), count, escaped); + let borrow = borrowed::BatchType::from_xml(&xml).unwrap(); + check( + borrow.sensor.iter().map(|s| (&s.id, s.value)), + count, + escaped, + ); + let hand: HandBatch = quick_xml::de::from_str(&xml).unwrap(); + check(hand.sensor.iter().map(|s| (&s.id, s.value)), count, escaped); + let cow: BorrowBatch = quick_xml::de::from_str(&xml).unwrap(); + check(cow.sensor.iter().map(|s| (&s.id, s.value)), count, escaped); + let rs: HandBatch = serde_xml_rs::from_str(&xml).unwrap(); + assert_eq!(rs, hand); + let dynamic = polyxml::deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + check_dynamic(&dynamic, count, escaped); + if !escaped { + assert!(borrow + .sensor + .iter() + .all(|s| matches!(s.id, Cow::Borrowed(_)))); + assert!(cow.sensor.iter().all(|s| matches!(s.id, Cow::Borrowed(_)))); + } + let json = serde_json::to_string(&hand).unwrap(); + assert_eq!(serde_json::to_string(&own).unwrap(), json); + assert_eq!(serde_json::to_string(&borrow).unwrap(), json); + check( + serde_json::from_str::(&json) + .unwrap() + .sensor + .iter() + .map(|s| (&s.id, s.value)), + count, + escaped, + ); + check( + serde_json::from_str::(&json) + .unwrap() + .sensor + .iter() + .map(|s| (&s.id, s.value)), + count, + escaped, + ); + for position in 0..6 { + let lane = (position + order) % 6; + match lane { + 0 => { + let mut writer = quick_xml::Writer::new(Vec::new()); + own.encode_xml(&mut writer, Some("Batch")).unwrap(); + let out = writer.into_inner(); + assert_eq!( + quick_xml::de::from_reader::<_, HandBatch>(out.as_slice()).unwrap(), + hand + ); + export("polyxml_generated_owned", case, &out); + measure( + "polyxml_generated_owned", + case, + "xml_read", + xml.len(), + 0, + || { + black_box(owned::BatchType::from_xml(black_box(&xml)).unwrap()); + }, + ); + measure( + "polyxml_generated_owned", + case, + "xml_write", + xml.len(), + out.len(), + || { + let mut writer = quick_xml::Writer::new(Vec::new()); + black_box(&own) + .encode_xml(&mut writer, Some("Batch")) + .unwrap(); + black_box(writer.into_inner()); + }, + ); + } + 1 => { + let mut writer = quick_xml::Writer::new(Vec::new()); + borrow.encode_xml(&mut writer, Some("Batch")).unwrap(); + let out = writer.into_inner(); + assert_eq!( + quick_xml::de::from_reader::<_, HandBatch>(out.as_slice()).unwrap(), + hand + ); + export("polyxml_generated_borrowed", case, &out); + measure( + "polyxml_generated_borrowed", + case, + "xml_read", + xml.len(), + 0, + || { + black_box(borrowed::BatchType::from_xml(black_box(&xml)).unwrap()); + }, + ); + measure( + "polyxml_generated_borrowed", + case, + "xml_write", + xml.len(), + out.len(), + || { + let mut writer = quick_xml::Writer::new(Vec::new()); + black_box(&borrow) + .encode_xml(&mut writer, Some("Batch")) + .unwrap(); + black_box(writer.into_inner()); + }, + ); + } + 2 => { + let out = quick_xml::se::to_string(&hand).unwrap(); + assert_eq!(quick_xml::de::from_str::(&out).unwrap(), hand); + export("quick_xml_serde_owned", case, out.as_bytes()); + measure( + "quick_xml_serde_owned", + case, + "xml_read", + xml.len(), + 0, + || { + black_box( + quick_xml::de::from_str::(black_box(&xml)).unwrap(), + ); + }, + ); + measure( + "quick_xml_serde_owned", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + quick_xml::se::to_string(black_box(&hand)) + .unwrap() + .into_bytes(), + ); + }, + ); + } + 3 => { + let out = quick_xml::se::to_string(&cow).unwrap(); + assert_eq!(quick_xml::de::from_str::(&out).unwrap(), hand); + export("quick_xml_serde_borrowed", case, out.as_bytes()); + measure( + "quick_xml_serde_borrowed", + case, + "xml_read", + xml.len(), + 0, + || { + black_box( + quick_xml::de::from_str::(black_box(&xml)).unwrap(), + ); + }, + ); + measure( + "quick_xml_serde_borrowed", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + quick_xml::se::to_string(black_box(&cow)) + .unwrap() + .into_bytes(), + ); + }, + ); + } + 4 => { + let out = serde_xml_rs::to_string(&hand).unwrap(); + assert_eq!(quick_xml::de::from_str::(&out).unwrap(), hand); + export("serde_xml_rs_owned", case, out.as_bytes()); + measure("serde_xml_rs_owned", case, "xml_read", xml.len(), 0, || { + black_box(serde_xml_rs::from_str::(black_box(&xml)).unwrap()); + }); + measure( + "serde_xml_rs_owned", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + serde_xml_rs::to_string(black_box(&hand)) + .unwrap() + .into_bytes(), + ); + }, + ); + } + 5 => { + let out = polyxml::serialize("Batch", &dynamic, &schema, None).unwrap(); + assert_eq!( + quick_xml::de::from_reader::<_, HandBatch>(out.as_slice()).unwrap(), + hand + ); + export("polyxml_dynamic", case, &out); + measure("polyxml_dynamic", case, "xml_read", xml.len(), 0, || { + black_box( + polyxml::deserialize(black_box(xml.as_bytes()), Arc::clone(&schema)) + .unwrap(), + ); + }); + measure( + "polyxml_dynamic", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + polyxml::serialize("Batch", black_box(&dynamic), &schema, None) + .unwrap(), + ); + }, + ); + } + _ => unreachable!(), + } + } + for position in 0..3 { + match (position + order) % 3 { + 0 => { + measure( + "polyxml_generated_owned", + case, + "json_read", + json.len(), + 0, + || { + black_box( + serde_json::from_str::(black_box(&json)).unwrap(), + ); + }, + ); + measure( + "polyxml_generated_owned", + case, + "json_write", + json.len(), + json.len(), + || { + black_box(serde_json::to_vec(black_box(&own)).unwrap()); + }, + ); + } + 1 => { + measure( + "polyxml_generated_borrowed", + case, + "json_read", + json.len(), + 0, + || { + black_box( + serde_json::from_str::(black_box(&json)) + .unwrap(), + ); + }, + ); + measure( + "polyxml_generated_borrowed", + case, + "json_write", + json.len(), + json.len(), + || { + black_box(serde_json::to_vec(black_box(&borrow)).unwrap()); + }, + ); + } + 2 => { + measure( + "serde_json_handwritten", + case, + "json_read", + json.len(), + 0, + || { + black_box(serde_json::from_str::(black_box(&json)).unwrap()); + }, + ); + measure( + "serde_json_handwritten", + case, + "json_write", + json.len(), + json.len(), + || { + black_box(serde_json::to_vec(black_box(&hand)).unwrap()); + }, + ); + } + _ => unreachable!(), + } + } + } +} diff --git a/benchmarks/serializer-comparison/summarize.py b/benchmarks/serializer-comparison/summarize.py new file mode 100644 index 00000000..82f9e617 --- /dev/null +++ b/benchmarks/serializer-comparison/summarize.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +"""Summarize retained CSV samples without treating samples as independent runs.""" + +from __future__ import annotations + +import argparse +import csv +import json +import statistics +from collections import defaultdict +from pathlib import Path + + +def summarize(directory): + metadata = json.loads((directory / "metadata.json").read_text()) + samples = defaultdict(lambda: defaultdict(list)) + seen = set() + for runtime in ("rust", "python"): + for repeat in range(metadata["rounds"]): + with (directory / f"{runtime}-{repeat}.csv").open() as stream: + for row in csv.DictReader(stream): + assert row["kind"] == "sample" + key = (runtime, row["case"], row["op"], row["lane"]) + identity = (*key, repeat, int(row["sample"])) + assert identity not in seen, identity + seen.add(identity) + ns = float(row["ns_per_op"]) + assert ns > 0 and int(row["iterations"]) > 0 + samples[key][repeat].append(ns / 1000) + allocations = {} + with (directory / "rust-allocations.csv").open() as stream: + for row in csv.DictReader(stream): + key = ("rust", row["case"], row["op"], row["lane"]) + assert key not in allocations + allocations[key] = { + "allocation_calls": int(row["allocations"]), + "requested_bytes": int(row["requested_bytes"]), + } + results = [] + for key, repeats in sorted(samples.items()): + assert len(repeats) == metadata["rounds"] + assert all(len(values) == metadata["samples"] for values in repeats.values()) + medians = [statistics.median(repeats[i]) for i in range(metadata["rounds"])] + results.append( + dict(zip(("runtime", "case", "op", "lane"), key, strict=True)) + | { + "median_us": statistics.median(medians), + "process_medians_us": medians, + "process_range_us": [min(medians), max(medians)], + } + | allocations.get(key, {}) + ) + (directory / "summary.json").write_text(json.dumps(results, indent=2) + "\n") + lines = [ + "# All retained serializer comparisons", + "", + "Microseconds per operation; median of process medians. Range is the", + "minimum–maximum process median, not a confidence interval. Requested", + "bytes and allocation calls come from a separate Rust diagnostic build.", + "", + "| Runtime | Case | Operation | Lane | Median µs | Process range µs | Alloc calls | Requested B |", + "| :--- | :--- | :--- | :--- | ---: | ---: | ---: | ---: |", + ] + for row in results: + low, high = row["process_range_us"] + lines.append( + f"| {row['runtime']} | {row['case']} | {row['op']} | {row['lane']} | {row['median_us']:.3f} | {low:.3f}–{high:.3f} | {row.get('allocation_calls', '—')} | {row.get('requested_bytes', '—')} |" + ) + (directory / "summary.md").write_text("\n".join(lines) + "\n") + return results + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("directory", type=Path) + args = parser.parse_args() + summarize(args.directory) diff --git a/benchmarks/serializer-comparison/summarize_models.py b/benchmarks/serializer-comparison/summarize_models.py new file mode 100644 index 00000000..08e9ec3e --- /dev/null +++ b/benchmarks/serializer-comparison/summarize_models.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python3 +"""Retain process-level native-model statistics and full JMH errors/forks.""" + +from __future__ import annotations + +import argparse +import json +import re +import statistics +from collections import defaultdict +from pathlib import Path + + +def summarize(directory): + samples = defaultdict(list) + for repeat in range(5): + text = (directory / f"go-{repeat}.txt").read_text() + matches = re.findall( + r"BenchmarkXML/size=(\d+)/(generated|baseline)/(read|write)-\d+\s+\d+\s+([\d.]+) ns/op\s+[\d.]+ MB/s\s+(\d+) B/op\s+(\d+) allocs/op", + text, + ) + assert len(matches) == 8, (repeat, matches) + for count, lane, op, ns, size, calls in matches: + samples[("go", int(count), lane, op)].append( + (float(ns) / 1000, int(size), int(calls)) + ) + control = json.loads((directory / "csharp-control.json").read_text()) + assert control["tiered_compilation"] is False and control["processes"] == 6 + for repeat in range(6): + text = (directory / f"csharp-steady-{repeat}.txt").read_text() + matches = re.findall( + r"(generated|baseline),size=(\d+),(read|write),ns/op=([\d.]+),B/op=(\d+)", + text, + ) + assert len(matches) == 8, (repeat, matches) + for lane, count, op, ns, size in matches: + samples[("csharp", int(count), lane, op)].append( + (float(ns) / 1000, int(size), None) + ) + results = [] + for (runtime, count, lane, op), values in sorted(samples.items()): + times = [v[0] for v in values] + row = { + "runtime": runtime, + "count": count, + "lane": lane, + "op": op, + "median_us": statistics.median(times), + "process_us": times, + "process_range_us": [min(times), max(times)], + "allocated_bytes": statistics.median(v[1] for v in values), + } + if runtime == "go": + row["allocation_calls"] = statistics.median(v[2] for v in values) + results.append(row) + jmh = json.loads((directory / "java-jmh.json").read_text()) + assert len(jmh) == 12 + seen = set() + for item in jmh: + lane_op = item["benchmark"].split(".")[-1] + lane, op = re.fullmatch(r"(direct|jackson|jaxb)(Read|Write)", lane_op).groups() + key = (item["params"]["workload"], lane, op) + assert key not in seen + seen.add(key) + metric = item["primaryMetric"] + assert metric["scoreUnit"] == "ops/s" and len(metric["rawData"]) == 2 + assert all(len(fork) == 5 for fork in metric["rawData"]) + results.append( + { + "runtime": "java", + "workload": key[0], + "lane": lane, + "op": op.lower(), + "batches_per_second": metric["score"], + "jmh_score_error": metric["scoreError"], + "jmh_score_confidence": metric["scoreConfidence"], + "fork_means_batches_per_second": [ + statistics.mean(fork) for fork in metric["rawData"] + ], + "allocated_bytes_per_message": item["secondaryMetrics"][ + "gc.alloc.rate.norm" + ]["score"] + / 1000, + } + ) + (directory / "summary.json").write_text(json.dumps(results, indent=2) + "\n") + return results + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("directory", type=Path) + args = parser.parse_args() + summarize(args.directory) diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-0.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-0.txt new file mode 100644 index 00000000..b5cae1a9 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-0.txt @@ -0,0 +1,10 @@ +memcap: <=7505 MiB (60% of 12508 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +generated,size=1,read,ns/op=3222,B/op=12592,xml_bytes=65,output_chars=221,warmup_iterations=371800,warmup_ms=2000 +generated,size=1,write,ns/op=2020,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=371800,warmup_ms=2000 +baseline,size=1,read,ns/op=2234,B/op=12640,xml_bytes=65,output_chars=221,warmup_iterations=524092,warmup_ms=2000 +baseline,size=1,write,ns/op=1466,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=524092,warmup_ms=2000 +generated,size=1000,read,ns/op=331162,B/op=147600,xml_bytes=53795,output_chars=69935,warmup_iterations=3072,warmup_ms=2000 +generated,size=1000,write,ns/op=307286,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=3072,warmup_ms=2000 +baseline,size=1000,read,ns/op=330804,B/op=147648,xml_bytes=53795,output_chars=69935,warmup_iterations=3240,warmup_ms=2000 +baseline,size=1000,write,ns/op=280131,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=3240,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-1.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-1.txt new file mode 100644 index 00000000..9045d94d --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-1.txt @@ -0,0 +1,10 @@ +memcap: <=7509 MiB (60% of 12515 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +baseline,size=1,read,ns/op=3294,B/op=12640,xml_bytes=65,output_chars=221,warmup_iterations=361413,warmup_ms=2000 +baseline,size=1,write,ns/op=2044,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=361413,warmup_ms=2000 +generated,size=1,read,ns/op=2193,B/op=12592,xml_bytes=65,output_chars=221,warmup_iterations=513527,warmup_ms=2000 +generated,size=1,write,ns/op=1580,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=513527,warmup_ms=2000 +baseline,size=1000,read,ns/op=353660,B/op=147648,xml_bytes=53795,output_chars=69935,warmup_iterations=2960,warmup_ms=2000 +baseline,size=1000,write,ns/op=315577,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=2960,warmup_ms=2000 +generated,size=1000,read,ns/op=338115,B/op=147600,xml_bytes=53795,output_chars=69935,warmup_iterations=3184,warmup_ms=2000 +generated,size=1000,write,ns/op=297128,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=3184,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-2.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-2.txt new file mode 100644 index 00000000..09c87eac --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-2.txt @@ -0,0 +1,10 @@ +memcap: <=7516 MiB (60% of 12527 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +generated,size=1,read,ns/op=3188,B/op=12592,xml_bytes=65,output_chars=221,warmup_iterations=366912,warmup_ms=2000 +generated,size=1,write,ns/op=2116,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=366912,warmup_ms=2000 +baseline,size=1,read,ns/op=2217,B/op=12640,xml_bytes=65,output_chars=221,warmup_iterations=504576,warmup_ms=2000 +baseline,size=1,write,ns/op=1546,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=504576,warmup_ms=2000 +generated,size=1000,read,ns/op=332193,B/op=147600,xml_bytes=53795,output_chars=69935,warmup_iterations=3028,warmup_ms=2000 +generated,size=1000,write,ns/op=306974,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=3028,warmup_ms=2000 +baseline,size=1000,read,ns/op=336911,B/op=147648,xml_bytes=53795,output_chars=69935,warmup_iterations=3197,warmup_ms=2000 +baseline,size=1000,write,ns/op=297321,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=3197,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-3.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-3.txt new file mode 100644 index 00000000..e4110542 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-3.txt @@ -0,0 +1,10 @@ +memcap: <=7521 MiB (60% of 12536 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +baseline,size=1,read,ns/op=3270,B/op=12640,xml_bytes=65,output_chars=221,warmup_iterations=349809,warmup_ms=2000 +baseline,size=1,write,ns/op=2102,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=349809,warmup_ms=2000 +generated,size=1,read,ns/op=2552,B/op=12592,xml_bytes=65,output_chars=221,warmup_iterations=511499,warmup_ms=2000 +generated,size=1,write,ns/op=1646,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=511499,warmup_ms=2000 +baseline,size=1000,read,ns/op=333473,B/op=147648,xml_bytes=53795,output_chars=69935,warmup_iterations=2999,warmup_ms=2000 +baseline,size=1000,write,ns/op=310978,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=2999,warmup_ms=2000 +generated,size=1000,read,ns/op=335211,B/op=147600,xml_bytes=53795,output_chars=69935,warmup_iterations=3218,warmup_ms=2000 +generated,size=1000,write,ns/op=279381,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=3218,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-4.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-4.txt new file mode 100644 index 00000000..68d0f5c2 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-4.txt @@ -0,0 +1,10 @@ +memcap: <=7514 MiB (60% of 12524 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +generated,size=1,read,ns/op=3454,B/op=12592,xml_bytes=65,output_chars=221,warmup_iterations=368596,warmup_ms=2000 +generated,size=1,write,ns/op=2160,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=368596,warmup_ms=2000 +baseline,size=1,read,ns/op=3110,B/op=12640,xml_bytes=65,output_chars=221,warmup_iterations=509495,warmup_ms=2000 +baseline,size=1,write,ns/op=1728,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=509495,warmup_ms=2000 +generated,size=1000,read,ns/op=333148,B/op=147600,xml_bytes=53795,output_chars=69935,warmup_iterations=3020,warmup_ms=2000 +generated,size=1000,write,ns/op=300454,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=3020,warmup_ms=2000 +baseline,size=1000,read,ns/op=327801,B/op=147648,xml_bytes=53795,output_chars=69935,warmup_iterations=3268,warmup_ms=2000 +baseline,size=1000,write,ns/op=269185,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=3268,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-build.log b/docs/benchmarks/data/2026-10-04/native-models/csharp-build.log new file mode 100644 index 00000000..1898fe65 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-build.log @@ -0,0 +1,10 @@ +memcap: <=7581 MiB (60% of 12635 MiB available) [systemd MemoryMax, swap off] + Determining projects to restore... + Restored /home/bailey/github/PolyXML/benchmarks/csharp/Benchmark.csproj (in 941 ms). + Benchmark -> /home/bailey/github/PolyXML/benchmarks/csharp/bin/Release/net8.0/Benchmark.dll + +Build succeeded. + 0 Warning(s) + 0 Error(s) + +Time Elapsed 00:00:04.39 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-codegen.log b/docs/benchmarks/data/2026-10-04/native-models/csharp-codegen.log new file mode 100644 index 00000000..eff97d17 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-codegen.log @@ -0,0 +1,4 @@ +Parsing schema: benchmarks/csharp/sensor.xsd + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 1 +Code generation complete. diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-control.json b/docs/benchmarks/data/2026-10-04/native-models/csharp-control.json new file mode 100644 index 00000000..14b59ce2 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-control.json @@ -0,0 +1,10 @@ +{ + "revision": "171c028e2b0c738a72446ea5facb22391432d6c3", + "tiered_compilation": false, + "processes": 6, + "iterations": 1000, + "minimum_warmup_pairs": 500, + "minimum_warmup_ms": 2000, + "dll_sha256": "ecce7317836104c0f2a3c3d206cf3c72e2fb3f266f9482ffdf1f5bc7e37ea625", + "note": "Default-tiering runs retained separately as diagnostics; first-model effect persisted after warmup." +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-0.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-0.txt new file mode 100644 index 00000000..cf82b52e --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-0.txt @@ -0,0 +1,10 @@ +memcap: <=7578 MiB (60% of 12630 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +generated,size=1,read,ns/op=4580,B/op=12512,xml_bytes=65,output_chars=221,warmup_iterations=294785,warmup_ms=2000 +generated,size=1,write,ns/op=2770,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=294785,warmup_ms=2000 +baseline,size=1,read,ns/op=3174,B/op=12560,xml_bytes=65,output_chars=221,warmup_iterations=295503,warmup_ms=2000 +baseline,size=1,write,ns/op=3535,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=295503,warmup_ms=2000 +generated,size=1000,read,ns/op=623722,B/op=147520,xml_bytes=53795,output_chars=69935,warmup_iterations=1720,warmup_ms=2000 +generated,size=1000,write,ns/op=521986,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1720,warmup_ms=2000 +baseline,size=1000,read,ns/op=611038,B/op=147568,xml_bytes=53795,output_chars=69935,warmup_iterations=1791,warmup_ms=2000 +baseline,size=1000,write,ns/op=496338,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1791,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-1.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-1.txt new file mode 100644 index 00000000..c05a6266 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-1.txt @@ -0,0 +1,10 @@ +memcap: <=7580 MiB (60% of 12633 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +baseline,size=1,read,ns/op=4703,B/op=12560,xml_bytes=65,output_chars=221,warmup_iterations=297560,warmup_ms=2000 +baseline,size=1,write,ns/op=3301,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=297560,warmup_ms=2000 +generated,size=1,read,ns/op=3379,B/op=12512,xml_bytes=65,output_chars=221,warmup_iterations=296685,warmup_ms=2000 +generated,size=1,write,ns/op=2687,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=296685,warmup_ms=2000 +baseline,size=1000,read,ns/op=643634,B/op=147568,xml_bytes=53795,output_chars=69935,warmup_iterations=1677,warmup_ms=2001 +baseline,size=1000,write,ns/op=530104,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1677,warmup_ms=2001 +generated,size=1000,read,ns/op=632476,B/op=147520,xml_bytes=53795,output_chars=69935,warmup_iterations=1757,warmup_ms=2000 +generated,size=1000,write,ns/op=498606,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1757,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-2.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-2.txt new file mode 100644 index 00000000..d2385dab --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-2.txt @@ -0,0 +1,10 @@ +memcap: <=7578 MiB (60% of 12631 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +generated,size=1,read,ns/op=4385,B/op=12512,xml_bytes=65,output_chars=221,warmup_iterations=291372,warmup_ms=2000 +generated,size=1,write,ns/op=2712,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=291372,warmup_ms=2000 +baseline,size=1,read,ns/op=3298,B/op=12560,xml_bytes=65,output_chars=221,warmup_iterations=291653,warmup_ms=2000 +baseline,size=1,write,ns/op=3412,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=291653,warmup_ms=2000 +generated,size=1000,read,ns/op=625584,B/op=147520,xml_bytes=53795,output_chars=69935,warmup_iterations=1721,warmup_ms=2000 +generated,size=1000,write,ns/op=529888,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1721,warmup_ms=2000 +baseline,size=1000,read,ns/op=612006,B/op=147568,xml_bytes=53795,output_chars=69935,warmup_iterations=1793,warmup_ms=2000 +baseline,size=1000,write,ns/op=489583,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1793,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-3.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-3.txt new file mode 100644 index 00000000..02cb51ff --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-3.txt @@ -0,0 +1,10 @@ +memcap: <=7577 MiB (60% of 12628 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +baseline,size=1,read,ns/op=4721,B/op=12560,xml_bytes=65,output_chars=221,warmup_iterations=291829,warmup_ms=2000 +baseline,size=1,write,ns/op=3255,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=291829,warmup_ms=2000 +generated,size=1,read,ns/op=3382,B/op=12512,xml_bytes=65,output_chars=221,warmup_iterations=294206,warmup_ms=2000 +generated,size=1,write,ns/op=2849,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=294206,warmup_ms=2000 +baseline,size=1000,read,ns/op=607644,B/op=147568,xml_bytes=53795,output_chars=69935,warmup_iterations=1708,warmup_ms=2000 +baseline,size=1000,write,ns/op=541286,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1708,warmup_ms=2000 +generated,size=1000,read,ns/op=602384,B/op=147520,xml_bytes=53795,output_chars=69935,warmup_iterations=1783,warmup_ms=2000 +generated,size=1000,write,ns/op=504569,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1783,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-4.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-4.txt new file mode 100644 index 00000000..39e40eb3 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-4.txt @@ -0,0 +1,10 @@ +memcap: <=7576 MiB (60% of 12626 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +generated,size=1,read,ns/op=4384,B/op=12512,xml_bytes=65,output_chars=221,warmup_iterations=291918,warmup_ms=2000 +generated,size=1,write,ns/op=2965,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=291918,warmup_ms=2000 +baseline,size=1,read,ns/op=3437,B/op=12560,xml_bytes=65,output_chars=221,warmup_iterations=298214,warmup_ms=2000 +baseline,size=1,write,ns/op=3433,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=298214,warmup_ms=2000 +generated,size=1000,read,ns/op=619223,B/op=147520,xml_bytes=53795,output_chars=69935,warmup_iterations=1709,warmup_ms=2000 +generated,size=1000,write,ns/op=526750,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1709,warmup_ms=2000 +baseline,size=1000,read,ns/op=605550,B/op=147568,xml_bytes=53795,output_chars=69935,warmup_iterations=1793,warmup_ms=2001 +baseline,size=1000,write,ns/op=491516,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1793,warmup_ms=2001 diff --git a/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-5.txt b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-5.txt new file mode 100644 index 00000000..faf11e88 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/csharp-steady-5.txt @@ -0,0 +1,10 @@ +memcap: <=7579 MiB (60% of 12632 MiB available) [systemd MemoryMax, swap off] +dotnet=10.0.12,os=Ubuntu 26.04.1 LTS,cpu=12,iterations=1000 +baseline,size=1,read,ns/op=4572,B/op=12560,xml_bytes=65,output_chars=221,warmup_iterations=291353,warmup_ms=2000 +baseline,size=1,write,ns/op=3300,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=291353,warmup_ms=2000 +generated,size=1,read,ns/op=3564,B/op=12512,xml_bytes=65,output_chars=221,warmup_iterations=293729,warmup_ms=2000 +generated,size=1,write,ns/op=2802,B/op=15512,xml_bytes=65,output_chars=221,warmup_iterations=293729,warmup_ms=2000 +baseline,size=1000,read,ns/op=621163,B/op=147568,xml_bytes=53795,output_chars=69935,warmup_iterations=1722,warmup_ms=2000 +baseline,size=1000,write,ns/op=535787,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1722,warmup_ms=2000 +generated,size=1000,read,ns/op=611889,B/op=147520,xml_bytes=53795,output_chars=69935,warmup_iterations=1793,warmup_ms=2000 +generated,size=1000,write,ns/op=495953,B/op=330120,xml_bytes=53795,output_chars=69935,warmup_iterations=1793,warmup_ms=2000 diff --git a/docs/benchmarks/data/2026-10-04/native-models/go-0.txt b/docs/benchmarks/data/2026-10-04/native-models/go-0.txt new file mode 100644 index 00000000..8beb049a --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/go-0.txt @@ -0,0 +1,20 @@ +memcap: <=7552 MiB (60% of 12588 MiB available) [systemd MemoryMax, swap off] +Parsing schema: sensor.xsd + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 1 +Code generation complete. +goos: linux +goarch: amd64 +pkg: polyxml-bench-go +cpu: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz +BenchmarkXML/size=1/generated/read-12 766422 2849 ns/op 22.82 MB/s 1976 B/op 44 allocs/op +BenchmarkXML/size=1/generated/write-12 1291862 1874 ns/op 34.68 MB/s 5072 B/op 15 allocs/op +BenchmarkXML/size=1/baseline/read-12 850964 2737 ns/op 23.75 MB/s 1912 B/op 43 allocs/op +BenchmarkXML/size=1/baseline/write-12 1364746 1771 ns/op 36.71 MB/s 4832 B/op 12 allocs/op +BenchmarkXML/size=1000/generated/read-12 1168 2044410 ns/op 26.31 MB/s 1035712 B/op 27027 allocs/op +BenchmarkXML/size=1000/generated/write-12 4962 486732 ns/op 110.52 MB/s 266641 B/op 2922 allocs/op +BenchmarkXML/size=1000/baseline/read-12 1227 1961176 ns/op 27.43 MB/s 1035648 B/op 27026 allocs/op +BenchmarkXML/size=1000/baseline/write-12 5388 420988 ns/op 127.78 MB/s 134608 B/op 916 allocs/op +PASS +ok polyxml-bench-go 23.072s +? polyxml-bench-go/target/generated [no test files] diff --git a/docs/benchmarks/data/2026-10-04/native-models/go-1.txt b/docs/benchmarks/data/2026-10-04/native-models/go-1.txt new file mode 100644 index 00000000..4feccebe --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/go-1.txt @@ -0,0 +1,20 @@ +memcap: <=7575 MiB (60% of 12625 MiB available) [systemd MemoryMax, swap off] +Parsing schema: sensor.xsd + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 1 +Code generation complete. +goos: linux +goarch: amd64 +pkg: polyxml-bench-go +cpu: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz +BenchmarkXML/size=1/baseline/read-12 809167 2735 ns/op 23.76 MB/s 1912 B/op 43 allocs/op +BenchmarkXML/size=1/baseline/write-12 1356502 1761 ns/op 36.92 MB/s 4832 B/op 12 allocs/op +BenchmarkXML/size=1/generated/read-12 803125 2855 ns/op 22.76 MB/s 1976 B/op 44 allocs/op +BenchmarkXML/size=1/generated/write-12 1279881 1885 ns/op 34.48 MB/s 5072 B/op 15 allocs/op +BenchmarkXML/size=1000/baseline/read-12 1200 1957180 ns/op 27.49 MB/s 1035648 B/op 27026 allocs/op +BenchmarkXML/size=1000/baseline/write-12 5664 430161 ns/op 125.06 MB/s 134608 B/op 916 allocs/op +BenchmarkXML/size=1000/generated/read-12 1178 2012771 ns/op 26.73 MB/s 1035712 B/op 27027 allocs/op +BenchmarkXML/size=1000/generated/write-12 4918 487448 ns/op 110.36 MB/s 266641 B/op 2922 allocs/op +PASS +ok polyxml-bench-go 23.134s +? polyxml-bench-go/target/generated [no test files] diff --git a/docs/benchmarks/data/2026-10-04/native-models/go-2.txt b/docs/benchmarks/data/2026-10-04/native-models/go-2.txt new file mode 100644 index 00000000..6d47d79e --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/go-2.txt @@ -0,0 +1,20 @@ +memcap: <=7575 MiB (60% of 12625 MiB available) [systemd MemoryMax, swap off] +Parsing schema: sensor.xsd + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 1 +Code generation complete. +goos: linux +goarch: amd64 +pkg: polyxml-bench-go +cpu: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz +BenchmarkXML/size=1/generated/read-12 809940 2849 ns/op 22.81 MB/s 1976 B/op 44 allocs/op +BenchmarkXML/size=1/generated/write-12 1266079 1897 ns/op 34.27 MB/s 5072 B/op 15 allocs/op +BenchmarkXML/size=1/baseline/read-12 836292 2760 ns/op 23.55 MB/s 1912 B/op 43 allocs/op +BenchmarkXML/size=1/baseline/write-12 1345138 1778 ns/op 36.55 MB/s 4832 B/op 12 allocs/op +BenchmarkXML/size=1000/generated/read-12 1186 2031654 ns/op 26.48 MB/s 1035713 B/op 27027 allocs/op +BenchmarkXML/size=1000/generated/write-12 4903 487402 ns/op 110.37 MB/s 266641 B/op 2922 allocs/op +BenchmarkXML/size=1000/baseline/read-12 1224 1955987 ns/op 27.50 MB/s 1035648 B/op 27026 allocs/op +BenchmarkXML/size=1000/baseline/write-12 5562 423059 ns/op 127.16 MB/s 134608 B/op 916 allocs/op +PASS +ok polyxml-bench-go 23.257s +? polyxml-bench-go/target/generated [no test files] diff --git a/docs/benchmarks/data/2026-10-04/native-models/go-3.txt b/docs/benchmarks/data/2026-10-04/native-models/go-3.txt new file mode 100644 index 00000000..66b8c522 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/go-3.txt @@ -0,0 +1,20 @@ +memcap: <=7582 MiB (60% of 12637 MiB available) [systemd MemoryMax, swap off] +Parsing schema: sensor.xsd + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 1 +Code generation complete. +goos: linux +goarch: amd64 +pkg: polyxml-bench-go +cpu: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz +BenchmarkXML/size=1/baseline/read-12 814957 2754 ns/op 23.60 MB/s 1912 B/op 43 allocs/op +BenchmarkXML/size=1/baseline/write-12 1333584 1775 ns/op 36.62 MB/s 4832 B/op 12 allocs/op +BenchmarkXML/size=1/generated/read-12 809497 2864 ns/op 22.69 MB/s 1976 B/op 44 allocs/op +BenchmarkXML/size=1/generated/write-12 1285814 1889 ns/op 34.42 MB/s 5072 B/op 15 allocs/op +BenchmarkXML/size=1000/baseline/read-12 1194 1968870 ns/op 27.32 MB/s 1035648 B/op 27026 allocs/op +BenchmarkXML/size=1000/baseline/write-12 5563 423015 ns/op 127.17 MB/s 134608 B/op 916 allocs/op +BenchmarkXML/size=1000/generated/read-12 1161 2028534 ns/op 26.52 MB/s 1035714 B/op 27027 allocs/op +BenchmarkXML/size=1000/generated/write-12 4921 485583 ns/op 110.78 MB/s 266641 B/op 2922 allocs/op +PASS +ok polyxml-bench-go 23.104s +? polyxml-bench-go/target/generated [no test files] diff --git a/docs/benchmarks/data/2026-10-04/native-models/go-4.txt b/docs/benchmarks/data/2026-10-04/native-models/go-4.txt new file mode 100644 index 00000000..f56b28b9 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/go-4.txt @@ -0,0 +1,20 @@ +memcap: <=7581 MiB (60% of 12636 MiB available) [systemd MemoryMax, swap off] +Parsing schema: sensor.xsd + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 1 +Code generation complete. +goos: linux +goarch: amd64 +pkg: polyxml-bench-go +cpu: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz +BenchmarkXML/size=1/generated/read-12 791352 2868 ns/op 22.66 MB/s 1976 B/op 44 allocs/op +BenchmarkXML/size=1/generated/write-12 1294020 1853 ns/op 35.09 MB/s 5072 B/op 15 allocs/op +BenchmarkXML/size=1/baseline/read-12 821305 2725 ns/op 23.86 MB/s 1912 B/op 43 allocs/op +BenchmarkXML/size=1/baseline/write-12 1347320 1769 ns/op 36.74 MB/s 4832 B/op 12 allocs/op +BenchmarkXML/size=1000/generated/read-12 1192 2031079 ns/op 26.49 MB/s 1035712 B/op 27027 allocs/op +BenchmarkXML/size=1000/generated/write-12 4834 484785 ns/op 110.97 MB/s 266641 B/op 2922 allocs/op +BenchmarkXML/size=1000/baseline/read-12 1224 1985216 ns/op 27.10 MB/s 1035648 B/op 27026 allocs/op +BenchmarkXML/size=1000/baseline/write-12 5614 420260 ns/op 128.00 MB/s 134608 B/op 916 allocs/op +PASS +ok polyxml-bench-go 23.099s +? polyxml-bench-go/target/generated [no test files] diff --git a/docs/benchmarks/data/2026-10-04/native-models/java-build.log b/docs/benchmarks/data/2026-10-04/native-models/java-build.log new file mode 100644 index 00000000..00272594 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/java-build.log @@ -0,0 +1,803 @@ +memcap: <=7514 MiB (60% of 12524 MiB available) [systemd MemoryMax, swap off] +[INFO] Scanning for projects... +[INFO] +[INFO] -----------------< io.polyxml:java-codegen-benchmarks >----------------- +[INFO] Building java-codegen-benchmarks 1.0-SNAPSHOT +[INFO] from pom.xml +[INFO] --------------------------------[ jar ]--------------------------------- +[INFO] Loaded 23986 auto-discovered prefixes for remote repository central (prefixes-central.txt) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/jaxb2-maven-plugin/3.2.0/jaxb2-maven-plugin-3.2.0.pom +Progress (1): 765 B Progress (1): 2.0 kB Progress (1): 4.2 kB Progress (1): 7.4 kB Progress (1): 11 kB Progress (1): 13 kB Progress (1): 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/jaxb2-maven-plugin/3.2.0/jaxb2-maven-plugin-3.2.0.pom (14 kB at 229 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/80/mojo-parent-80.pom +Progress (1): 711 B Progress (1): 2.5 kB Progress (1): 5.8 kB Progress (1): 7.7 kB Progress (1): 11 kB Progress (1): 13 kB Progress (1): 19 kB Progress (1): 20 kB Progress (1): 25 kB Progress (1): 27 kB Progress (1): 30 kB Progress (1): 35 kB Progress (1): 36 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/80/mojo-parent-80.pom (36 kB at 585 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.2/junit-bom-5.10.2.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.2/junit-bom-5.10.2.pom (5.6 kB at 99 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/jaxb2-maven-plugin/3.2.0/jaxb2-maven-plugin-3.2.0.jar +Progress (1): 3.8/177 kB Progress (1): 8.0/177 kB Progress (1): 8.2/177 kB Progress (1): 12/177 kB Progress (1): 17/177 kB Progress (1): 21/177 kB Progress (1): 25/177 kB Progress (1): 29/177 kB Progress (1): 33/177 kB Progress (1): 37/177 kB Progress (1): 41/177 kB Progress (1): 45/177 kB Progress (1): 50/177 kB Progress (1): 54/177 kB Progress (1): 58/177 kB Progress (1): 62/177 kB Progress (1): 66/177 kB Progress (1): 82/177 kB Progress (1): 98/177 kB Progress (1): 115/177 kB Progress (1): 131/177 kB Progress (1): 147/177 kB Progress (1): 164/177 kB Progress (1): 177 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/jaxb2-maven-plugin/3.2.0/jaxb2-maven-plugin-3.2.0.jar (177 kB at 1.7 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/3.5.0/maven-clean-plugin-3.5.0.pom +Progress (1): 797 B Progress (1): 2.2 kB Progress (1): 5.0 kB Progress (1): 5.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/3.5.0/maven-clean-plugin-3.5.0.pom (5.7 kB at 95 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/44/maven-plugins-44.pom +Progress (1): 771 B Progress (1): 2.3 kB Progress (1): 4.9 kB Progress (1): 7.8 kB Progress (1): 8.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/44/maven-plugins-44.pom (8.4 kB at 142 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/44/maven-parent-44.pom +Progress (1): 708 B Progress (1): 1.9 kB Progress (1): 5.5 kB Progress (1): 9.7 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 26 kB Progress (1): 28 kB Progress (1): 32 kB Progress (1): 36 kB Progress (1): 39 kB Progress (1): 42 kB Progress (1): 45 kB Progress (1): 49 kB Progress (1): 49 kB Progress (1): 52 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/44/maven-parent-44.pom (52 kB at 842 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/34/apache-34.pom +Progress (1): 737 B Progress (1): 2.0 kB Progress (1): 4.0 kB Progress (1): 5.9 kB Progress (1): 11 kB Progress (1): 15 kB Progress (1): 19 kB Progress (1): 22 kB Progress (1): 24 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/34/apache-34.pom (24 kB at 385 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.12.1/junit-bom-5.12.1.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.12.1/junit-bom-5.12.1.pom (5.6 kB at 107 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/3.5.0/maven-clean-plugin-3.5.0.jar +Progress (1): 7.7/37 kB Progress (1): 16/37 kB Progress (1): 28/37 kB Progress (1): 37 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/3.5.0/maven-clean-plugin-3.5.0.jar (37 kB at 653 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/3.5.0/exec-maven-plugin-3.5.0.pom +Progress (1): 1.0 kB Progress (1): 3.7 kB Progress (1): 6.6 kB Progress (1): 9.8 kB Progress (1): 13 kB Progress (1): 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/3.5.0/exec-maven-plugin-3.5.0.pom (14 kB at 257 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/86/mojo-parent-86.pom +Progress (1): 714 B Progress (1): 2.5 kB Progress (1): 5.8 kB Progress (1): 7.6 kB Progress (1): 11 kB Progress (1): 13 kB Progress (1): 18 kB Progress (1): 23 kB Progress (1): 27 kB Progress (1): 29 kB Progress (1): 32 kB Progress (1): 37 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/86/mojo-parent-86.pom (37 kB at 637 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.0/junit-bom-5.11.0.pom +Progress (1): 912 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.0/junit-bom-5.11.0.pom (5.6 kB at 101 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/3.5.0/exec-maven-plugin-3.5.0.jar +Progress (1): 7.7/87 kB Progress (1): 16/87 kB Progress (1): 32/87 kB Progress (1): 48/87 kB Progress (1): 65/87 kB Progress (1): 81/87 kB Progress (1): 87 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/3.5.0/exec-maven-plugin-3.5.0.jar (87 kB at 1.3 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/3.6.0/build-helper-maven-plugin-3.6.0.pom +Progress (1): 1.0 kB Progress (1): 3.9 kB Progress (1): 6.6 kB Progress (1): 8.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/3.6.0/build-helper-maven-plugin-3.6.0.pom (8.1 kB at 140 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/82/mojo-parent-82.pom +Progress (1): 715 B Progress (1): 2.5 kB Progress (1): 5.8 kB Progress (1): 7.7 kB Progress (1): 11 kB Progress (1): 13 kB Progress (1): 19 kB Progress (1): 24 kB Progress (1): 26 kB Progress (1): 29 kB Progress (1): 32 kB Progress (1): 36 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/82/mojo-parent-82.pom (36 kB at 570 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/3.6.0/build-helper-maven-plugin-3.6.0.jar +Progress (1): 7.7/72 kB Progress (1): 11/72 kB Progress (1): 28/72 kB Progress (1): 44/72 kB Progress (1): 60/72 kB Progress (1): 66/72 kB Progress (1): 72 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/build-helper-maven-plugin/3.6.0/build-helper-maven-plugin-3.6.0.jar (72 kB at 1.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/3.5.0/maven-resources-plugin-3.5.0.pom +Progress (1): 770 B Progress (1): 2.1 kB Progress (1): 4.7 kB Progress (1): 7.2 kB Progress (1): 7.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/3.5.0/maven-resources-plugin-3.5.0.pom (7.7 kB at 120 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/47/maven-plugins-47.pom +Progress (1): 771 B Progress (1): 2.3 kB Progress (1): 4.9 kB Progress (1): 7.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/47/maven-plugins-47.pom (7.2 kB at 139 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/47/maven-parent-47.pom +Progress (1): 716 B Progress (1): 1.9 kB Progress (1): 5.6 kB Progress (1): 9.7 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 27 kB Progress (1): 28 kB Progress (1): 32 kB Progress (1): 35 kB Progress (1): 38 kB Progress (1): 41 kB Progress (1): 44 kB Progress (1): 47 kB Progress (1): 48 kB Progress (1): 53 kB Progress (1): 54 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/47/maven-parent-47.pom (54 kB at 909 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/37/apache-37.pom +Progress (1): 733 B Progress (1): 2.0 kB Progress (1): 4.0 kB Progress (1): 5.9 kB Progress (1): 10 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 22 kB Progress (1): 24 kB Progress (1): 26 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/37/apache-37.pom (26 kB at 458 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.14.2/junit-bom-5.14.2.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.14.2/junit-bom-5.14.2.pom (5.7 kB at 96 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/3.5.0/maven-resources-plugin-3.5.0.jar +Progress (1): 7.7/32 kB Progress (1): 15/32 kB Progress (1): 32/32 kB Progress (1): 32 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/3.5.0/maven-resources-plugin-3.5.0.jar (32 kB at 554 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/3.13.0/maven-compiler-plugin-3.13.0.pom +Progress (1): 762 B Progress (1): 2.2 kB Progress (1): 5.0 kB Progress (1): 8.5 kB Progress (1): 10 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/3.13.0/maven-compiler-plugin-3.13.0.pom (10 kB at 154 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/41/maven-plugins-41.pom +Progress (1): 773 B Progress (1): 2.4 kB Progress (1): 4.9 kB Progress (1): 7.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/41/maven-plugins-41.pom (7.4 kB at 129 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/41/maven-parent-41.pom +Progress (1): 724 B Progress (1): 1.9 kB Progress (1): 5.5 kB Progress (1): 9.9 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 27 kB Progress (1): 28 kB Progress (1): 31 kB Progress (1): 34 kB Progress (1): 37 kB Progress (1): 40 kB Progress (1): 43 kB Progress (1): 48 kB Progress (1): 48 kB Progress (1): 50 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/41/maven-parent-41.pom (50 kB at 875 kB/s) +[INFO] Loaded 74 auto-discovered prefixes for remote repository apache.snapshots (prefixes-apache.snapshots.txt) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/31/apache-31.pom +Progress (1): 739 B Progress (1): 2.1 kB Progress (1): 3.9 kB Progress (1): 6.2 kB Progress (1): 11 kB Progress (1): 16 kB Progress (1): 20 kB Progress (1): 22 kB Progress (1): 24 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/31/apache-31.pom (24 kB at 374 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/3.13.0/maven-compiler-plugin-3.13.0.jar +Progress (1): 7.7/83 kB Progress (1): 11/83 kB Progress (1): 28/83 kB Progress (1): 44/83 kB Progress (1): 61/83 kB Progress (1): 77/83 kB Progress (1): 83 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/3.13.0/maven-compiler-plugin-3.13.0.jar (83 kB at 1.1 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/3.5.2/maven-surefire-plugin-3.5.2.pom +Progress (1): 833 B Progress (1): 3.0 kB Progress (1): 5.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/3.5.2/maven-surefire-plugin-3.5.2.pom (5.7 kB at 110 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/3.5.2/surefire-3.5.2.pom +Progress (1): 787 B Progress (1): 2.4 kB Progress (1): 4.1 kB Progress (1): 7.5 kB Progress (1): 11 kB Progress (1): 13 kB Progress (1): 16 kB Progress (1): 18 kB Progress (1): 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire/3.5.2/surefire-3.5.2.pom (20 kB at 354 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/43/maven-parent-43.pom +Progress (1): 720 B Progress (1): 1.9 kB Progress (1): 5.5 kB Progress (1): 9.9 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 26 kB Progress (1): 28 kB Progress (1): 31 kB Progress (1): 34 kB Progress (1): 38 kB Progress (1): 41 kB Progress (1): 43 kB Progress (1): 48 kB Progress (1): 48 kB Progress (1): 50 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/43/maven-parent-43.pom (50 kB at 915 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/33/apache-33.pom +Progress (1): 741 B Progress (1): 2.1 kB Progress (1): 4.0 kB Progress (1): 6.0 kB Progress (1): 10 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 22 kB Progress (1): 24 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/33/apache-33.pom (24 kB at 474 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.3/junit-bom-5.10.3.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.3/junit-bom-5.10.3.pom (5.6 kB at 93 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/3.5.2/maven-surefire-plugin-3.5.2.jar +Progress (1): 3.2/46 kB Progress (1): 20/46 kB Progress (1): 28/46 kB Progress (1): 44/46 kB Progress (1): 46 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/3.5.2/maven-surefire-plugin-3.5.2.jar (46 kB at 826 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/3.5.1/maven-jar-plugin-3.5.1.pom +Progress (1): 778 B Progress (1): 2.2 kB Progress (1): 4.7 kB Progress (1): 7.1 kB Progress (1): 7.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/3.5.1/maven-jar-plugin-3.5.1.pom (7.6 kB at 150 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/49/maven-plugins-49.pom +Progress (1): 812 B Progress (1): 2.4 kB Progress (1): 4.6 kB Progress (1): 7.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/49/maven-plugins-49.pom (7.2 kB at 120 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/49/maven-parent-49.pom +Progress (1): 716 B Progress (1): 1.9 kB Progress (1): 5.6 kB Progress (1): 9.8 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 27 kB Progress (1): 28 kB Progress (1): 32 kB Progress (1): 36 kB Progress (1): 38 kB Progress (1): 41 kB Progress (1): 44 kB Progress (1): 47 kB Progress (1): 48 kB Progress (1): 51 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/49/maven-parent-49.pom (51 kB at 856 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/39/apache-39.pom +Progress (1): 733 B Progress (1): 2.0 kB Progress (1): 4.0 kB Progress (1): 6.0 kB Progress (1): 10 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 22 kB Progress (1): 25 kB Progress (1): 27 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/39/apache-39.pom (27 kB at 410 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.14.4/junit-bom-5.14.4.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.14.4/junit-bom-5.14.4.pom (5.7 kB at 98 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/3.5.1/maven-jar-plugin-3.5.1.jar +Progress (1): 7.3/35 kB Progress (1): 24/35 kB Progress (1): 35 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/3.5.1/maven-jar-plugin-3.5.1.jar (35 kB at 637 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-shade-plugin/3.6.0/maven-shade-plugin-3.6.0.pom +Progress (1): 773 B Progress (1): 2.3 kB Progress (1): 4.9 kB Progress (1): 8.0 kB Progress (1): 11 kB Progress (1): 12 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-shade-plugin/3.6.0/maven-shade-plugin-3.6.0.pom (12 kB at 107 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/42/maven-plugins-42.pom +Progress (1): 773 B Progress (1): 2.4 kB Progress (1): 4.9 kB Progress (1): 7.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/42/maven-plugins-42.pom (7.7 kB at 148 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/42/maven-parent-42.pom +Progress (1): 724 B Progress (1): 1.9 kB Progress (1): 5.5 kB Progress (1): 9.9 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 26 kB Progress (1): 28 kB Progress (1): 31 kB Progress (1): 34 kB Progress (1): 37 kB Progress (1): 40 kB Progress (1): 43 kB Progress (1): 47 kB Progress (1): 47 kB Progress (1): 50 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/42/maven-parent-42.pom (50 kB at 934 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/32/apache-32.pom +Progress (1): 733 B Progress (1): 2.0 kB Progress (1): 4.0 kB Progress (1): 5.9 kB Progress (1): 10 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 22 kB Progress (1): 24 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/32/apache-32.pom (24 kB at 456 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-shade-plugin/3.6.0/maven-shade-plugin-3.6.0.jar +Progress (1): 7.7/150 kB Progress (1): 11/150 kB Progress (1): 28/150 kB Progress (1): 44/150 kB Progress (1): 61/150 kB Progress (1): 77/150 kB Progress (1): 93/150 kB Progress (1): 110/150 kB Progress (1): 126/150 kB Progress (1): 142/150 kB Progress (1): 150 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-shade-plugin/3.6.0/maven-shade-plugin-3.6.0.jar (150 kB at 2.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.21.2/jackson-dataformat-xml-2.21.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-generator-annprocess/1.37/jmh-generator-annprocess-1.37.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.21.2/jackson-datatype-jdk8-2.21.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/4.0.5/jaxb-runtime-4.0.5.pom +Progress (1): 795 B Progress (1): 2.1 kB Progress (1): 3.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-generator-annprocess/1.37/jmh-generator-annprocess-1.37.pom (3.7 kB at 70 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-parent/1.37/jmh-parent-1.37.pom +Progress (1): 734 B Progress (1): 1.8 kB Progress (1): 4.4 kB Progress (1): 10 kB Progress (1): 12 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-parent/1.37/jmh-parent-1.37.pom (12 kB at 189 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter/5.11.4/junit-jupiter-5.11.4.pom +Progress (1): 806 B Progress (1): 2.4 kB Progress (2): 2.4 kB | 985 B Progress (2): 2.4 kB | 2.0 kB Progress (3): 2.4 kB | 2.0 kB | 1.0 kB Progress (3): 2.4 kB | 3.6 kB | 1.0 kB Progress (3): 2.4 kB | 3.6 kB | 2.2 kB Progress (3): 2.4 kB | 6.0 kB | 2.2 kB Progress (3): 2.4 kB | 7.3 kB | 2.2 kB Progress (3): 2.4 kB | 7.3 kB | 2.8 kB Progress (3): 2.4 kB | 9.4 kB | 2.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.21.2/jackson-dataformat-xml-2.21.2.pom (9.4 kB at 58 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.21.2/jackson-datatype-jdk8-2.21.2.pom (2.8 kB at 17 kB/s) +Progress (1): 6.4 kB Progress (1): 9.2 kB Progress (1): 11 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/4.0.5/jaxb-runtime-4.0.5.pom (11 kB at 67 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-java8/2.21.2/jackson-modules-java8-2.21.2.pom +Progress (1): 734 B Progress (1): 1.5 kB Progress (1): 3.4 kB Progress (1): 6.7 kB Progress (1): 9.3 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37.pom (9.3 kB at 56 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/4.0.5/jaxb-runtime-parent-4.0.5.pom +Downloading from central: https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.pom +Progress (1): 944 B Progress (1): 3.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter/5.11.4/junit-jupiter-5.11.4.pom (3.2 kB at 57 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.4/junit-bom-5.11.4.pom +Progress (1): 1.2 kB Progress (2): 1.2 kB | 1.4 kB Progress (2): 3.3 kB | 1.4 kB Progress (2): 3.3 kB | 2.8 kB Progress (3): 3.3 kB | 2.8 kB | 932 B Progress (3): 3.3 kB | 2.8 kB | 1.2 kB Progress (3): 3.3 kB | 3.1 kB | 1.2 kB Progress (3): 6.7 kB | 3.1 kB | 1.2 kB Progress (3): 11 kB | 3.1 kB | 1.2 kB Progress (3): 13 kB | 3.1 kB | 1.2 kB Progress (3): 14 kB | 3.1 kB | 1.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.pom (14 kB at 241 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-runtime-parent/4.0.5/jaxb-runtime-parent-4.0.5.pom (1.2 kB at 19 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-java8/2.21.2/jackson-modules-java8-2.21.2.pom (3.1 kB at 47 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/4.0.5/jaxb-parent-4.0.5.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.4/junit-bom-5.11.4.pom (5.6 kB at 111 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.pom +Progress (1): 778 B Progress (2): 778 B | 855 B Progress (2): 2.0 kB | 855 B Progress (2): 2.0 kB | 1.9 kB Progress (3): 2.0 kB | 1.9 kB | 771 B Progress (3): 2.0 kB | 1.9 kB | 2.1 kB Progress (3): 4.0 kB | 1.9 kB | 2.1 kB Progress (3): 4.0 kB | 1.9 kB | 4.7 kB Progress (3): 4.0 kB | 3.8 kB | 4.7 kB Progress (3): 5.7 kB | 3.8 kB | 4.7 kB Progress (3): 5.7 kB | 3.8 kB | 7.9 kB Progress (3): 5.7 kB | 4.8 kB | 7.9 kB Progress (3): 8.2 kB | 4.8 kB | 7.9 kB Progress (3): 8.2 kB | 4.8 kB | 10 kB Progress (3): 8.2 kB | 4.8 kB | 12 kB Progress (3): 8.2 kB | 4.8 kB | 14 kB Progress (3): 8.2 kB | 4.8 kB | 17 kB Progress (3): 8.2 kB | 4.8 kB | 19 kB Progress (3): 14 kB | 4.8 kB | 19 kB Progress (3): 14 kB | 4.8 kB | 22 kB Progress (3): 18 kB | 4.8 kB | 22 kB Progress (3): 22 kB | 4.8 kB | 22 kB Progress (3): 22 kB | 4.8 kB | 25 kB Progress (3): 22 kB | 4.8 kB | 28 kB Progress (3): 22 kB | 4.8 kB | 29 kB Progress (3): 28 kB | 4.8 kB | 29 kB Progress (3): 33 kB | 4.8 kB | 29 kB Progress (3): 35 kB | 4.8 kB | 29 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom (4.8 kB at 80 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/4.0.5/jaxb-parent-4.0.5.pom (35 kB at 584 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.pom (29 kB at 522 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/4.0.5/jaxb-bom-ext-4.0.5.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/39/commons-parent-39.pom +Progress (1): 863 B Progress (1): 3.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/4.0.5/jaxb-bom-ext-4.0.5.pom (3.5 kB at 62 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/4.0.5/jaxb-bom-4.0.5.pom +Progress (1): 718 B Progress (1): 1.6 kB Progress (1): 2.7 kB Progress (1): 4.0 kB Progress (1): 5.2 kB Progress (1): 8.8 kB Progress (1): 12 kB Progress (1): 14 kB Progress (1): 18 kB Progress (1): 21 kB Progress (1): 23 kB Progress (1): 25 kB Progress (1): 28 kB Progress (1): 30 kB Progress (1): 33 kB Progress (1): 36 kB Progress (1): 37 kB Progress (1): 41 kB Progress (1): 46 kB Progress (1): 50 kB Progress (1): 53 kB Progress (1): 55 kB Progress (1): 56 kB Progress (1): 59 kB Progress (1): 61 kB Progress (1): 62 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/39/commons-parent-39.pom (62 kB at 1.1 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/16/apache-16.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.21.2/jackson-base-2.21.2.pom +Progress (1): 849 B Progress (1): 6.0 kB Progress (1): 12 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/4.0.5/jaxb-bom-4.0.5.pom (12 kB at 208 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.9/project-1.0.9.pom +Progress (1): 745 B Progress (1): 1.6 kB Progress (1): 3.3 kB Progress (1): 6.0 kB Progress (1): 9.4 kB Progress (1): 12 kB Progress (1): 15 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/16/apache-16.pom (15 kB at 285 kB/s) +Progress (1): 922 B Progress (1): 2.0 kB Progress (1): 4.0 kB Progress (1): 5.7 kB Progress (1): 7.3 kB Progress (1): 9.2 kB Progress (1): 12 kB Progress (1): 13 kB Progress (1): 13 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.21.2/jackson-base-2.21.2.pom (13 kB at 226 kB/s) +Progress (1): 876 B Progress (1): 2.5 kB Progress (1): 5.0 kB Progress (1): 8.5 kB Progress (1): 12 kB Progress (1): 16 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.9/project-1.0.9.pom (16 kB at 299 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.21.2/jackson-bom-2.21.2.pom +Progress (1): 923 B Progress (1): 2.3 kB Progress (1): 6.6 kB Progress (1): 15 kB Progress (1): 20 kB Progress (1): 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.21.2/jackson-bom-2.21.2.pom (20 kB at 397 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.21/jackson-parent-2.21.pom +Progress (1): 1.1 kB Progress (1): 2.5 kB Progress (1): 4.0 kB Progress (1): 6.0 kB Progress (1): 6.9 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.21/jackson-parent-2.21.pom (6.9 kB at 119 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/75/oss-parent-75.pom +Progress (1): 950 B Progress (1): 2.9 kB Progress (1): 4.1 kB Progress (1): 6.0 kB Progress (1): 10 kB Progress (1): 12 kB Progress (1): 15 kB Progress (1): 18 kB Progress (1): 21 kB Progress (1): 24 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/75/oss-parent-75.pom (24 kB at 388 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.14.1/junit-bom-5.14.1.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.14.1/junit-bom-5.14.1.pom (5.7 kB at 99 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/woodstox/woodstox-core/7.1.1/woodstox-core-7.1.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.21.2/jackson-core-2.21.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.21/jackson-annotations-2.21.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/woodstox/stax2-api/4.2.2/stax2-api-4.2.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.21.2/jackson-databind-2.21.2.pom +Progress (1): 950 B Progress (2): 950 B | 967 B Progress (3): 950 B | 967 B | 946 B Progress (3): 2.7 kB | 967 B | 946 B Progress (3): 2.7 kB | 2.1 kB | 946 B Progress (3): 2.7 kB | 2.1 kB | 2.0 kB Progress (4): 2.7 kB | 2.1 kB | 2.0 kB | 998 B Progress (4): 2.7 kB | 2.1 kB | 2.0 kB | 3.3 kB Progress (4): 2.7 kB | 4.1 kB | 2.0 kB | 3.3 kB Progress (4): 2.7 kB | 4.1 kB | 3.3 kB | 3.3 kB Progress (4): 2.7 kB | 4.1 kB | 3.3 kB | 6.3 kB Progress (4): 7.5 kB | 4.1 kB | 3.3 kB | 6.3 kB Progress (4): 7.5 kB | 6.0 kB | 3.3 kB | 6.3 kB Progress (4): 7.5 kB | 6.0 kB | 5.5 kB | 6.3 kB Progress (4): 7.5 kB | 6.3 kB | 5.5 kB | 6.3 kB Progress (4): 7.5 kB | 6.3 kB | 5.5 kB | 9.6 kB Progress (4): 9.8 kB | 6.3 kB | 5.5 kB | 9.6 kB Progress (4): 9.8 kB | 6.3 kB | 7.1 kB | 9.6 kB Progress (4): 9.8 kB | 6.3 kB | 7.1 kB | 9.9 kB Progress (4): 10 kB | 6.3 kB | 7.1 kB | 9.9 kB Progress (4): 10 kB | 6.3 kB | 7.4 kB | 9.9 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/woodstox/woodstox-core/7.1.1/woodstox-core-7.1.1.pom (9.9 kB at 167 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.21.2/jackson-core-2.21.2.pom (10 kB at 167 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/woodstox/stax2-api/4.2.2/stax2-api-4.2.2.pom (6.3 kB at 105 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.21/jackson-annotations-2.21.pom (7.4 kB at 123 kB/s) +Progress (1): 969 B Progress (1): 1.9 kB Progress (1): 3.3 kB Progress (1): 5.4 kB Progress (1): 7.1 kB Progress (1): 9.1 kB Progress (1): 11 kB Progress (1): 12 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 21 kB Progress (1): 22 kB Progress (1): 23 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.21.2/jackson-databind-2.21.2.pom (23 kB at 384 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/55/oss-parent-55.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/68/oss-parent-68.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.5/jaxb-core-4.0.5.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.11.4/junit-jupiter-api-5.11.4.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-params/5.11.4/junit-jupiter-params-5.11.4.pom +Progress (1): 951 B Progress (1): 2.6 kB Progress (1): 4.1 kB Progress (1): 6.6 kB Progress (1): 9.7 kB Progress (1): 12 kB Progress (1): 15 kB Progress (1): 18 kB Progress (1): 21 kB Progress (1): 24 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/55/oss-parent-55.pom (24 kB at 453 kB/s) +Progress (1): 949 B Progress (1): 2.1 kB Progress (1): 3.8 kB Progress (1): 5.7 kB Progress (1): 8.6 kB Progress (1): 11 kB Progress (1): 13 kB Progress (1): 15 kB Progress (1): 18 kB Progress (1): 22 kB Progress (1): 24 kB Progress (2): 24 kB | 898 B Progress (2): 24 kB | 2.5 kB Progress (3): 24 kB | 2.5 kB | 954 B Progress (3): 24 kB | 2.5 kB | 2.5 kB Progress (3): 24 kB | 3.7 kB | 2.5 kB Progress (3): 24 kB | 3.7 kB | 3.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/68/oss-parent-68.pom (24 kB at 415 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.11.4/junit-jupiter-engine-5.11.4.pom +Downloaded from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.5/jaxb-core-4.0.5.pom (3.7 kB at 68 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.11.4/junit-jupiter-api-5.11.4.pom (3.2 kB at 58 kB/s) +Progress (1): 964 B Progress (1): 2.5 kB Progress (1): 3.0 kB Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation/2.0.2/angus-activation-2.0.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/jakarta/activation/jakarta.activation-api/2.1.3/jakarta.activation-api-2.1.3.pom +Downloading from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api/4.0.2/jakarta.xml.bind-api-4.0.2.pom +Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-params/5.11.4/junit-jupiter-params-5.11.4.pom (3.0 kB at 51 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.5/txw2-4.0.5.pom +Progress (1): 963 B Progress (1): 2.5 kB Progress (1): 3.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.11.4/junit-jupiter-engine-5.11.4.pom (3.2 kB at 60 kB/s) +Progress (1): 931 B Progress (2): 931 B | 857 B Progress (2): 1.8 kB | 857 B Progress (2): 1.8 kB | 2.1 kB Progress (2): 1.8 kB | 4.2 kB Progress (2): 1.8 kB | 8.3 kB Progress (2): 1.8 kB | 11 kB Progress (2): 1.8 kB | 14 kB Progress (2): 1.8 kB | 18 kB Progress (2): 1.8 kB | 19 kB Downloading from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/4.1.2/istack-commons-runtime-4.1.2.pom +Downloaded from central: https://repo.maven.apache.org/maven2/jakarta/activation/jakarta.activation-api/2.1.3/jakarta.activation-api-2.1.3.pom (19 kB at 343 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.5/txw2-4.0.5.pom (1.8 kB at 36 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.5/jaxb-txw-parent-4.0.5.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.pom +Progress (1): 930 B Progress (2): 930 B | 845 B Progress (2): 2.5 kB | 845 B Progress (2): 2.5 kB | 2.5 kB Progress (2): 4.0 kB | 2.5 kB Progress (2): 4.0 kB | 4.7 kB Progress (2): 4.0 kB | 9.0 kB Progress (2): 4.0 kB | 11 kB Progress (2): 4.0 kB | 13 kB Downloaded from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api/4.0.2/jakarta.xml.bind-api-4.0.2.pom (13 kB at 212 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation/2.0.2/angus-activation-2.0.2.pom (4.0 kB at 65 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api-parent/4.0.2/jakarta.xml.bind-api-parent-4.0.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation-project/2.0.2/angus-activation-project-2.0.2.pom +Progress (1): 930 B Progress (1): 1.2 kB Progress (2): 1.2 kB | 933 B Progress (2): 1.2 kB | 1.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-txw-parent/4.0.5/jaxb-txw-parent-4.0.5.pom (1.2 kB at 21 kB/s) +Progress (2): 1.6 kB | 996 B Progress (2): 1.6 kB | 2.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/4.1.2/istack-commons-runtime-4.1.2.pom (1.6 kB at 27 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.pom (2.0 kB at 36 kB/s) +Progress (1): 897 B Progress (1): 2.3 kB Progress (1): 4.7 kB Progress (1): 8.6 kB Progress (1): 9.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api-parent/4.0.2/jakarta.xml.bind-api-parent-4.0.2.pom (9.1 kB at 169 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/4.1.2/istack-commons-4.1.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.11.4/junit-platform-commons-1.11.4.pom +Progress (1): 873 B Progress (1): 2.1 kB Progress (1): 4.0 kB Progress (1): 9.5 kB Progress (1): 12 kB Progress (1): 15 kB Progress (1): 19 kB Progress (1): 21 kB Progress (1): 21 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation-project/2.0.2/angus-activation-project-2.0.2.pom (21 kB at 366 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.11.4/junit-platform-engine-1.11.4.pom +Progress (1): 1.0 kB Progress (1): 1.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.pom (1.5 kB at 27 kB/s) +Progress (1): 794 B Progress (1): 2.1 kB Progress (2): 2.1 kB | 966 B Progress (3): 2.1 kB | 966 B | 957 B Progress (3): 2.1 kB | 2.5 kB | 957 B Progress (3): 2.1 kB | 2.5 kB | 2.5 kB Progress (3): 2.1 kB | 2.8 kB | 2.5 kB Progress (3): 2.1 kB | 2.8 kB | 3.2 kB Progress (3): 4.1 kB | 2.8 kB | 3.2 kB Progress (3): 10 kB | 2.8 kB | 3.2 kB Progress (3): 15 kB | 2.8 kB | 3.2 kB Progress (3): 19 kB | 2.8 kB | 3.2 kB Progress (3): 24 kB | 2.8 kB | 3.2 kB Progress (3): 26 kB | 2.8 kB | 3.2 kB Progress (3): 26 kB | 2.8 kB | 3.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.11.4/junit-platform-commons-1.11.4.pom (2.8 kB at 45 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.11.4/junit-platform-engine-1.11.4.pom (3.2 kB at 53 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/4.1.2/istack-commons-4.1.2.pom (26 kB at 418 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.7/project-1.0.7.pom +Progress (1): 837 B Progress (1): 1.8 kB Progress (1): 4.6 kB Progress (1): 7.5 kB Progress (1): 9.5 kB Progress (1): 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.7/project-1.0.7.pom (14 kB at 244 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37.jar +Progress (1): 0.9/553 kB Progress (1): 2.3/553 kB Progress (1): 3.6/553 kB Progress (1): 5.0/553 kB Progress (1): 6.4/553 kB Progress (1): 7.3/553 kB Progress (1): 8.6/553 kB Progress (1): 10/553 kB Progress (1): 11/553 kB Progress (1): 13/553 kB Progress (1): 14/553 kB Progress (1): 18/553 kB Progress (1): 23/553 kB Progress (1): 27/553 kB Progress (1): 31/553 kB Progress (1): 32/553 kB Progress (1): 36/553 kB Progress (1): 40/553 kB Progress (1): 45/553 kB Progress (1): 49/553 kB Progress (1): 53/553 kB Progress (1): 57/553 kB Progress (1): 61/553 kB Progress (1): 65/553 kB Progress (1): 69/553 kB Progress (1): 73/553 kB Progress (1): 77/553 kB Progress (1): 82/553 kB Progress (1): 86/553 kB Progress (1): 90/553 kB Progress (1): 94/553 kB Progress (1): 98/553 kB Progress (1): 103/553 kB Progress (1): 107/553 kB Progress (1): 111/553 kB Progress (1): 115/553 kB Progress (1): 120/553 kB Progress (1): 124/553 kB Progress (1): 128/553 kB Progress (1): 130/553 kB Progress (1): 134/553 kB Progress (1): 139/553 kB Progress (1): 143/553 kB Progress (1): 147/553 kB Progress (1): 151/553 kB Progress (1): 156/553 kB Progress (1): 160/553 kB Progress (1): 164/553 kB Progress (1): 168/553 kB Progress (1): 172/553 kB Progress (1): 177/553 kB Progress (1): 193/553 kB Progress (1): 209/553 kB Progress (1): 226/553 kB Progress (1): 242/553 kB Progress (1): 259/553 kB Progress (1): 261/553 kB Progress (1): 278/553 kB Progress (1): 294/553 kB Progress (1): 310/553 kB Progress (1): 327/553 kB Progress (1): 343/553 kB Progress (1): 360/553 kB Progress (1): 376/553 kB Progress (1): 392/553 kB Progress (1): 409/553 kB Progress (1): 425/553 kB Progress (1): 441/553 kB Progress (1): 458/553 kB Progress (1): 474/553 kB Progress (1): 491/553 kB Progress (1): 507/553 kB Progress (1): 523/553 kB Progress (1): 540/553 kB Progress (1): 553 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-core/1.37/jmh-core-1.37.jar (553 kB at 2.6 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-generator-annprocess/1.37/jmh-generator-annprocess-1.37.jar +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.21.2/jackson-dataformat-xml-2.21.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.21.2/jackson-datatype-jdk8-2.21.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/4.0.5/jaxb-runtime-4.0.5.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter/5.11.4/junit-jupiter-5.11.4.jar +Progress (1): 6.4 kB Progress (2): 6.4 kB | 3.2/31 kB Progress (3): 6.4 kB | 3.2/31 kB | 0.9/136 kB Progress (3): 6.4 kB | 3.2/31 kB | 2.3/136 kB Progress (3): 6.4 kB | 3.2/31 kB | 3.6/136 kB Progress (3): 6.4 kB | 3.2/31 kB | 5.0/136 kB Progress (3): 6.4 kB | 3.2/31 kB | 6.4/136 kB Progress (4): 6.4 kB | 3.2/31 kB | 6.4/136 kB | 0.9/920 kB Progress (4): 6.4 kB | 3.2/31 kB | 6.4/136 kB | 5.1/920 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter/5.11.4/junit-jupiter-5.11.4.jar (6.4 kB at 108 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar +Progress (3): 3.2/31 kB | 7.7/136 kB | 5.1/920 kB Progress (3): 3.2/31 kB | 9.1/136 kB | 5.1/920 kB Progress (3): 20/31 kB | 9.1/136 kB | 5.1/920 kB Progress (3): 20/31 kB | 10/136 kB | 5.1/920 kB Progress (3): 20/31 kB | 12/136 kB | 5.1/920 kB Progress (3): 20/31 kB | 12/136 kB | 9.3/920 kB Progress (3): 20/31 kB | 13/136 kB | 9.3/920 kB Progress (3): 31 kB | 13/136 kB | 9.3/920 kB Progress (3): 31 kB | 13/136 kB | 14/920 kB Progress (3): 31 kB | 17/136 kB | 14/920 kB Progress (4): 31 kB | 17/136 kB | 14/920 kB | 0.9/36 kB Progress (4): 31 kB | 17/136 kB | 15/920 kB | 0.9/36 kB Progress (4): 31 kB | 17/136 kB | 15/920 kB | 2.3/36 kB Progress (4): 31 kB | 17/136 kB | 15/920 kB | 3.6/36 kB Progress (4): 31 kB | 22/136 kB | 15/920 kB | 3.6/36 kB Progress (4): 31 kB | 22/136 kB | 20/920 kB | 3.6/36 kB Progress (4): 31 kB | 22/136 kB | 20/920 kB | 5.0/36 kB Progress (4): 31 kB | 22/136 kB | 20/920 kB | 6.4/36 kB Progress (4): 31 kB | 22/136 kB | 24/920 kB | 6.4/36 kB Progress (4): 31 kB | 22/136 kB | 24/920 kB | 7.7/36 kB Progress (4): 31 kB | 26/136 kB | 24/920 kB | 7.7/36 kB Progress (4): 31 kB | 26/136 kB | 24/920 kB | 9.1/36 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-generator-annprocess/1.37/jmh-generator-annprocess-1.37.jar (31 kB at 401 kB/s) +Progress (3): 26/136 kB | 24/920 kB | 10/36 kB Progress (3): 26/136 kB | 28/920 kB | 10/36 kB Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar +Progress (3): 30/136 kB | 28/920 kB | 10/36 kB Progress (3): 30/136 kB | 28/920 kB | 12/36 kB Progress (3): 30/136 kB | 28/920 kB | 13/36 kB Progress (3): 30/136 kB | 32/920 kB | 13/36 kB Progress (3): 34/136 kB | 32/920 kB | 13/36 kB Progress (3): 34/136 kB | 32/920 kB | 15/36 kB Progress (3): 34/136 kB | 37/920 kB | 15/36 kB Progress (3): 34/136 kB | 37/920 kB | 16/36 kB Progress (3): 39/136 kB | 37/920 kB | 16/36 kB Progress (3): 39/136 kB | 37/920 kB | 17/36 kB Progress (3): 39/136 kB | 41/920 kB | 17/36 kB Progress (3): 43/136 kB | 41/920 kB | 17/36 kB Progress (3): 43/136 kB | 45/920 kB | 17/36 kB Progress (3): 43/136 kB | 45/920 kB | 19/36 kB Progress (3): 47/136 kB | 45/920 kB | 19/36 kB Progress (3): 47/136 kB | 45/920 kB | 20/36 kB Progress (3): 47/136 kB | 49/920 kB | 20/36 kB Progress (3): 47/136 kB | 49/920 kB | 21/36 kB Progress (3): 51/136 kB | 49/920 kB | 21/36 kB Progress (3): 51/136 kB | 54/920 kB | 21/36 kB Progress (3): 51/136 kB | 54/920 kB | 23/36 kB Progress (3): 51/136 kB | 54/920 kB | 24/36 kB Progress (3): 56/136 kB | 54/920 kB | 24/36 kB Progress (3): 56/136 kB | 58/920 kB | 24/36 kB Progress (3): 56/136 kB | 62/920 kB | 24/36 kB Progress (3): 60/136 kB | 62/920 kB | 24/36 kB Progress (3): 60/136 kB | 62/920 kB | 25/36 kB Progress (3): 60/136 kB | 66/920 kB | 25/36 kB Progress (3): 60/136 kB | 66/920 kB | 27/36 kB Progress (3): 64/136 kB | 66/920 kB | 27/36 kB Progress (3): 64/136 kB | 70/920 kB | 27/36 kB Progress (3): 68/136 kB | 70/920 kB | 27/36 kB Progress (3): 68/136 kB | 70/920 kB | 31/36 kB Progress (3): 68/136 kB | 75/920 kB | 31/36 kB Progress (3): 72/136 kB | 75/920 kB | 31/36 kB Progress (3): 72/136 kB | 75/920 kB | 35/36 kB Progress (3): 72/136 kB | 79/920 kB | 35/36 kB Progress (3): 72/136 kB | 79/920 kB | 36 kB Progress (3): 77/136 kB | 79/920 kB | 36 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.21.2/jackson-datatype-jdk8-2.21.2.jar (36 kB at 450 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.21.2/jackson-core-2.21.2.jar +Progress (2): 77/136 kB | 83/920 kB Progress (2): 81/136 kB | 83/920 kB Progress (2): 85/136 kB | 83/920 kB Progress (2): 89/136 kB | 83/920 kB Progress (2): 89/136 kB | 87/920 kB Progress (2): 89/136 kB | 92/920 kB Progress (2): 94/136 kB | 92/920 kB Progress (2): 94/136 kB | 96/920 kB Progress (2): 94/136 kB | 100/920 kB Progress (2): 98/136 kB | 100/920 kB Progress (2): 102/136 kB | 100/920 kB Progress (2): 102/136 kB | 104/920 kB Progress (2): 106/136 kB | 104/920 kB Progress (2): 106/136 kB | 108/920 kB Progress (2): 110/136 kB | 108/920 kB Progress (2): 115/136 kB | 108/920 kB Progress (2): 115/136 kB | 113/920 kB Progress (2): 115/136 kB | 117/920 kB Progress (2): 115/136 kB | 121/920 kB Progress (2): 119/136 kB | 121/920 kB Progress (2): 119/136 kB | 125/920 kB Progress (2): 123/136 kB | 125/920 kB Progress (2): 123/136 kB | 130/920 kB Progress (3): 123/136 kB | 130/920 kB | 3.8/596 kB Progress (3): 127/136 kB | 130/920 kB | 3.8/596 kB Progress (3): 127/136 kB | 134/920 kB | 3.8/596 kB Progress (3): 127/136 kB | 134/920 kB | 8.0/596 kB Progress (4): 127/136 kB | 134/920 kB | 8.0/596 kB | 7.7/78 kB Progress (4): 131/136 kB | 134/920 kB | 8.0/596 kB | 7.7/78 kB Progress (4): 131/136 kB | 134/920 kB | 8.0/596 kB | 16/78 kB Progress (4): 131/136 kB | 134/920 kB | 11/596 kB | 16/78 kB Progress (4): 135/136 kB | 134/920 kB | 11/596 kB | 16/78 kB Progress (4): 136 kB | 134/920 kB | 11/596 kB | 16/78 kB Progress (4): 136 kB | 134/920 kB | 11/596 kB | 24/78 kB Progress (4): 136 kB | 134/920 kB | 11/596 kB | 40/78 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.21.2/jackson-dataformat-xml-2.21.2.jar (136 kB at 962 kB/s) +Progress (3): 134/920 kB | 11/596 kB | 57/78 kB Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.21/jackson-annotations-2.21.jar +Progress (3): 134/920 kB | 11/596 kB | 73/78 kB Progress (3): 134/920 kB | 11/596 kB | 78 kB Downloaded from central: https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar (78 kB at 554 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.21.2/jackson-databind-2.21.2.jar +Progress (2): 134/920 kB | 16/596 kB Progress (2): 134/920 kB | 20/596 kB Progress (2): 134/920 kB | 24/596 kB Progress (2): 134/920 kB | 28/596 kB Progress (2): 134/920 kB | 33/596 kB Progress (2): 134/920 kB | 37/596 kB Progress (2): 134/920 kB | 41/596 kB Progress (2): 134/920 kB | 45/596 kB Progress (2): 134/920 kB | 49/596 kB Progress (2): 134/920 kB | 54/596 kB Progress (2): 134/920 kB | 58/596 kB Progress (2): 134/920 kB | 62/596 kB Progress (2): 134/920 kB | 66/596 kB Progress (3): 134/920 kB | 66/596 kB | 0/2.2 MB Progress (3): 134/920 kB | 66/596 kB | 0/2.2 MB Progress (3): 134/920 kB | 71/596 kB | 0/2.2 MB Progress (3): 134/920 kB | 75/596 kB | 0/2.2 MB Progress (3): 134/920 kB | 79/596 kB | 0/2.2 MB Progress (3): 134/920 kB | 83/596 kB | 0/2.2 MB Progress (3): 134/920 kB | 83/596 kB | 0/2.2 MB Progress (3): 134/920 kB | 83/596 kB | 0/2.2 MB Progress (3): 134/920 kB | 83/596 kB | 0/2.2 MB Progress (3): 134/920 kB | 83/596 kB | 0.1/2.2 MB Progress (3): 134/920 kB | 83/596 kB | 0.1/2.2 MB Progress (3): 134/920 kB | 83/596 kB | 0.1/2.2 MB Progress (3): 134/920 kB | 83/596 kB | 0.1/2.2 MB Progress (3): 138/920 kB | 83/596 kB | 0.1/2.2 MB Progress (3): 138/920 kB | 87/596 kB | 0.1/2.2 MB Progress (3): 142/920 kB | 87/596 kB | 0.1/2.2 MB Progress (3): 142/920 kB | 87/596 kB | 0.1/2.2 MB Progress (3): 147/920 kB | 87/596 kB | 0.1/2.2 MB Progress (3): 151/920 kB | 87/596 kB | 0.1/2.2 MB Progress (3): 155/920 kB | 87/596 kB | 0.1/2.2 MB Progress (3): 159/920 kB | 87/596 kB | 0.1/2.2 MB Progress (3): 159/920 kB | 87/596 kB | 0.1/2.2 MB Progress (3): 159/920 kB | 87/596 kB | 0.2/2.2 MB Progress (3): 159/920 kB | 87/596 kB | 0.2/2.2 MB Progress (3): 163/920 kB | 87/596 kB | 0.2/2.2 MB Progress (3): 168/920 kB | 87/596 kB | 0.2/2.2 MB Progress (3): 168/920 kB | 87/596 kB | 0.2/2.2 MB Progress (3): 168/920 kB | 87/596 kB | 0.2/2.2 MB Progress (3): 168/920 kB | 87/596 kB | 0.2/2.2 MB Progress (3): 168/920 kB | 87/596 kB | 0.2/2.2 MB Progress (3): 184/920 kB | 87/596 kB | 0.2/2.2 MB Progress (3): 184/920 kB | 87/596 kB | 0.3/2.2 MB Progress (3): 184/920 kB | 87/596 kB | 0.3/2.2 MB Progress (3): 184/920 kB | 87/596 kB | 0.3/2.2 MB Progress (3): 200/920 kB | 87/596 kB | 0.3/2.2 MB Progress (3): 200/920 kB | 87/596 kB | 0.3/2.2 MB Progress (3): 200/920 kB | 87/596 kB | 0.3/2.2 MB Progress (3): 200/920 kB | 87/596 kB | 0.3/2.2 MB Progress (3): 200/920 kB | 87/596 kB | 0.4/2.2 MB Progress (3): 200/920 kB | 87/596 kB | 0.4/2.2 MB Progress (3): 200/920 kB | 87/596 kB | 0.4/2.2 MB Progress (3): 200/920 kB | 87/596 kB | 0.4/2.2 MB Progress (3): 200/920 kB | 87/596 kB | 0.4/2.2 MB Progress (3): 217/920 kB | 87/596 kB | 0.4/2.2 MB Progress (3): 217/920 kB | 87/596 kB | 0.4/2.2 MB Progress (3): 217/920 kB | 87/596 kB | 0.5/2.2 MB Progress (3): 217/920 kB | 87/596 kB | 0.5/2.2 MB Progress (3): 233/920 kB | 87/596 kB | 0.5/2.2 MB Progress (3): 233/920 kB | 87/596 kB | 0.5/2.2 MB Progress (3): 233/920 kB | 87/596 kB | 0.5/2.2 MB Progress (3): 233/920 kB | 87/596 kB | 0.5/2.2 MB Progress (3): 250/920 kB | 87/596 kB | 0.5/2.2 MB Progress (3): 250/920 kB | 87/596 kB | 0.5/2.2 MB Progress (3): 250/920 kB | 87/596 kB | 0.6/2.2 MB Progress (3): 250/920 kB | 87/596 kB | 0.6/2.2 MB Progress (3): 250/920 kB | 87/596 kB | 0.6/2.2 MB Progress (3): 250/920 kB | 92/596 kB | 0.6/2.2 MB Progress (3): 250/920 kB | 96/596 kB | 0.6/2.2 MB Progress (3): 266/920 kB | 96/596 kB | 0.6/2.2 MB Progress (3): 266/920 kB | 100/596 kB | 0.6/2.2 MB Progress (3): 266/920 kB | 100/596 kB | 0.6/2.2 MB Progress (3): 266/920 kB | 100/596 kB | 0.6/2.2 MB Progress (3): 266/920 kB | 100/596 kB | 0.6/2.2 MB Progress (3): 266/920 kB | 104/596 kB | 0.6/2.2 MB Progress (3): 266/920 kB | 104/596 kB | 0.7/2.2 MB Progress (3): 266/920 kB | 109/596 kB | 0.7/2.2 MB Progress (3): 266/920 kB | 113/596 kB | 0.7/2.2 MB Progress (3): 278/920 kB | 113/596 kB | 0.7/2.2 MB Progress (3): 278/920 kB | 117/596 kB | 0.7/2.2 MB Progress (3): 278/920 kB | 117/596 kB | 0.7/2.2 MB Progress (3): 278/920 kB | 117/596 kB | 0.7/2.2 MB Progress (3): 278/920 kB | 117/596 kB | 0.7/2.2 MB Progress (3): 278/920 kB | 121/596 kB | 0.7/2.2 MB Progress (3): 278/920 kB | 126/596 kB | 0.7/2.2 MB Progress (3): 294/920 kB | 126/596 kB | 0.7/2.2 MB Progress (3): 294/920 kB | 126/596 kB | 0.7/2.2 MB Progress (3): 294/920 kB | 130/596 kB | 0.7/2.2 MB Progress (3): 294/920 kB | 134/596 kB | 0.7/2.2 MB Progress (3): 294/920 kB | 138/596 kB | 0.7/2.2 MB Progress (3): 294/920 kB | 142/596 kB | 0.7/2.2 MB Progress (3): 310/920 kB | 142/596 kB | 0.7/2.2 MB Progress (3): 310/920 kB | 147/596 kB | 0.7/2.2 MB Progress (3): 310/920 kB | 151/596 kB | 0.7/2.2 MB Progress (3): 310/920 kB | 155/596 kB | 0.7/2.2 MB Progress (4): 310/920 kB | 155/596 kB | 0.7/2.2 MB | 0/1.7 MB Progress (4): 310/920 kB | 155/596 kB | 0.7/2.2 MB | 0/1.7 MB Progress (4): 310/920 kB | 155/596 kB | 0.7/2.2 MB | 0/1.7 MB Progress (5): 310/920 kB | 155/596 kB | 0.7/2.2 MB | 0/1.7 MB | 3.2/82 kB Progress (5): 310/920 kB | 155/596 kB | 0.7/2.2 MB | 0/1.7 MB | 7.4/82 kB Progress (5): 310/920 kB | 155/596 kB | 0.7/2.2 MB | 0/1.7 MB | 7.4/82 kB Progress (5): 310/920 kB | 172/596 kB | 0.7/2.2 MB | 0/1.7 MB | 7.4/82 kB Progress (5): 310/920 kB | 172/596 kB | 0.7/2.2 MB | 0/1.7 MB | 12/82 kB Progress (5): 310/920 kB | 172/596 kB | 0.7/2.2 MB | 0/1.7 MB | 16/82 kB Progress (5): 310/920 kB | 172/596 kB | 0.7/2.2 MB | 0/1.7 MB | 20/82 kB Progress (5): 310/920 kB | 172/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 20/82 kB Progress (5): 310/920 kB | 172/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 24/82 kB Progress (5): 310/920 kB | 188/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 24/82 kB Progress (5): 310/920 kB | 188/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 28/82 kB Progress (5): 310/920 kB | 188/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 32/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 32/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 36/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 36/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 40/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 40/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 40/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.7/2.2 MB | 0.1/1.7 MB | 40/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 40/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 40/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 40/82 kB Progress (5): 310/920 kB | 204/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 57/82 kB Progress (5): 310/920 kB | 221/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 57/82 kB Progress (5): 327/920 kB | 221/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 57/82 kB Progress (5): 327/920 kB | 221/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 57/82 kB Progress (5): 327/920 kB | 221/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 57/82 kB Progress (5): 327/920 kB | 221/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 57/82 kB Progress (5): 343/920 kB | 221/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 57/82 kB Progress (5): 343/920 kB | 221/596 kB | 0.8/2.2 MB | 0.1/1.7 MB | 73/82 kB Progress (5): 343/920 kB | 221/596 kB | 0.8/2.2 MB | 0.2/1.7 MB | 73/82 kB Progress (5): 343/920 kB | 221/596 kB | 0.8/2.2 MB | 0.2/1.7 MB | 73/82 kB Progress (5): 343/920 kB | 221/596 kB | 0.8/2.2 MB | 0.2/1.7 MB | 73/82 kB Progress (5): 343/920 kB | 221/596 kB | 0.8/2.2 MB | 0.2/1.7 MB | 82 kB Progress (5): 343/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB | 82 kB Progress (5): 343/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB | 82 kB Progress (5): 343/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB | 82 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.21/jackson-annotations-2.21.jar (82 kB at 312 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/woodstox/stax2-api/4.2.2/stax2-api-4.2.2.jar +Progress (4): 343/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 360/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 360/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 360/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 360/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 360/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 360/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 360/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 376/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 376/920 kB | 221/596 kB | 0.9/2.2 MB | 0.2/1.7 MB Progress (4): 376/920 kB | 221/596 kB | 1.0/2.2 MB | 0.2/1.7 MB Progress (4): 376/920 kB | 221/596 kB | 1.0/2.2 MB | 0.2/1.7 MB Progress (4): 376/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 392/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 392/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 392/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 392/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 392/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 392/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 392/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 409/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 409/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 409/920 kB | 221/596 kB | 1.0/2.2 MB | 0.3/1.7 MB Progress (4): 409/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 409/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 425/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 425/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 425/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 425/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 425/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 425/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 425/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 441/920 kB | 221/596 kB | 1.1/2.2 MB | 0.3/1.7 MB Progress (4): 441/920 kB | 221/596 kB | 1.1/2.2 MB | 0.4/1.7 MB Progress (4): 441/920 kB | 221/596 kB | 1.2/2.2 MB | 0.4/1.7 MB Progress (4): 441/920 kB | 221/596 kB | 1.2/2.2 MB | 0.4/1.7 MB Progress (4): 441/920 kB | 221/596 kB | 1.2/2.2 MB | 0.4/1.7 MB Progress (4): 441/920 kB | 221/596 kB | 1.2/2.2 MB | 0.4/1.7 MB Progress (4): 458/920 kB | 221/596 kB | 1.2/2.2 MB | 0.4/1.7 MB Progress (4): 458/920 kB | 221/596 kB | 1.2/2.2 MB | 0.4/1.7 MB Progress (4): 458/920 kB | 221/596 kB | 1.2/2.2 MB | 0.4/1.7 MB Progress (4): 458/920 kB | 221/596 kB | 1.2/2.2 MB | 0.4/1.7 MB Progress (4): 458/920 kB | 221/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 458/920 kB | 221/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 458/920 kB | 221/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 458/920 kB | 221/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 458/920 kB | 221/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 474/920 kB | 221/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 474/920 kB | 237/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 474/920 kB | 237/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 237/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 237/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.3/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.4/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.4/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.4/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.4/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.4/2.2 MB | 0.4/1.7 MB Progress (4): 491/920 kB | 253/596 kB | 1.4/2.2 MB | 0.4/1.7 MB Progress (4): 507/920 kB | 253/596 kB | 1.4/2.2 MB | 0.4/1.7 MB Progress (4): 507/920 kB | 253/596 kB | 1.5/2.2 MB | 0.4/1.7 MB Progress (4): 507/920 kB | 253/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 507/920 kB | 253/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 507/920 kB | 253/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 507/920 kB | 270/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 523/920 kB | 270/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 523/920 kB | 270/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 523/920 kB | 270/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 523/920 kB | 274/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 523/920 kB | 274/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 523/920 kB | 274/596 kB | 1.5/2.2 MB | 0.5/1.7 MB Progress (4): 523/920 kB | 274/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 523/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 523/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 540/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 540/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 540/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 540/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 540/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 540/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 540/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 540/920 kB | 290/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 540/920 kB | 306/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 556/920 kB | 306/596 kB | 1.6/2.2 MB | 0.5/1.7 MB Progress (4): 556/920 kB | 306/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 556/920 kB | 306/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 556/920 kB | 306/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 556/920 kB | 306/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 556/920 kB | 306/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 556/920 kB | 323/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 573/920 kB | 323/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 573/920 kB | 323/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 573/920 kB | 323/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 589/920 kB | 323/596 kB | 1.7/2.2 MB | 0.5/1.7 MB Progress (4): 589/920 kB | 323/596 kB | 1.7/2.2 MB | 0.6/1.7 MB Progress (4): 589/920 kB | 323/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 589/920 kB | 323/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 323/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 323/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 339/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 339/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 355/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 372/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 372/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 372/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 372/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 372/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 372/596 kB | 1.8/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 372/596 kB | 1.9/2.2 MB | 0.6/1.7 MB Progress (4): 605/920 kB | 372/596 kB | 1.9/2.2 MB | 0.6/1.7 MB Progress (4): 622/920 kB | 372/596 kB | 1.9/2.2 MB | 0.6/1.7 MB Progress (4): 622/920 kB | 388/596 kB | 1.9/2.2 MB | 0.6/1.7 MB Progress (4): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 7.7/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 16/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 24/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 40/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 57/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 73/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 90/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 106/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 122/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 139/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 155/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 155/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 155/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 622/920 kB | 405/596 kB | 1.9/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 622/920 kB | 405/596 kB | 2.0/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 622/920 kB | 405/596 kB | 2.0/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 638/920 kB | 405/596 kB | 2.0/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 638/920 kB | 405/596 kB | 2.0/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 638/920 kB | 405/596 kB | 2.0/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 638/920 kB | 405/596 kB | 2.0/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 638/920 kB | 405/596 kB | 2.0/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 638/920 kB | 405/596 kB | 2.0/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 654/920 kB | 405/596 kB | 2.0/2.2 MB | 0.6/1.7 MB | 172/196 kB Progress (5): 654/920 kB | 405/596 kB | 2.0/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 654/920 kB | 405/596 kB | 2.0/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 654/920 kB | 405/596 kB | 2.0/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.0/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.1/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.1/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.1/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.1/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.1/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.1/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.1/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.2/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.2/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.2/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 671/920 kB | 405/596 kB | 2.2/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 687/920 kB | 405/596 kB | 2.2/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 687/920 kB | 405/596 kB | 2.2/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 687/920 kB | 405/596 kB | 2.2/2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 687/920 kB | 405/596 kB | 2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 704/920 kB | 405/596 kB | 2.2 MB | 0.7/1.7 MB | 172/196 kB Progress (5): 704/920 kB | 405/596 kB | 2.2 MB | 0.7/1.7 MB | 172/196 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar (2.2 MB at 4.5 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/fasterxml/woodstox/woodstox-core/7.1.1/woodstox-core-7.1.1.jar +Progress (4): 704/920 kB | 405/596 kB | 0.7/1.7 MB | 172/196 kB Progress (4): 704/920 kB | 405/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 720/920 kB | 405/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 720/920 kB | 405/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 720/920 kB | 421/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 736/920 kB | 421/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 736/920 kB | 421/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 736/920 kB | 437/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 753/920 kB | 437/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 753/920 kB | 437/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 753/920 kB | 437/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 753/920 kB | 437/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 753/920 kB | 454/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 769/920 kB | 454/596 kB | 0.8/1.7 MB | 172/196 kB Progress (4): 769/920 kB | 454/596 kB | 0.9/1.7 MB | 172/196 kB Progress (4): 769/920 kB | 470/596 kB | 0.9/1.7 MB | 172/196 kB Progress (4): 769/920 kB | 470/596 kB | 0.9/1.7 MB | 188/196 kB Progress (4): 785/920 kB | 470/596 kB | 0.9/1.7 MB | 188/196 kB Progress (4): 785/920 kB | 470/596 kB | 0.9/1.7 MB | 196 kB Progress (4): 785/920 kB | 470/596 kB | 0.9/1.7 MB | 196 kB Progress (4): 785/920 kB | 470/596 kB | 0.9/1.7 MB | 196 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/woodstox/stax2-api/4.2.2/stax2-api-4.2.2.jar (196 kB at 369 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.5/jaxb-core-4.0.5.jar +Progress (3): 785/920 kB | 487/596 kB | 0.9/1.7 MB Progress (3): 802/920 kB | 487/596 kB | 0.9/1.7 MB Progress (3): 802/920 kB | 487/596 kB | 0.9/1.7 MB Progress (3): 802/920 kB | 503/596 kB | 0.9/1.7 MB Progress (3): 818/920 kB | 503/596 kB | 0.9/1.7 MB Progress (3): 818/920 kB | 503/596 kB | 0.9/1.7 MB Progress (3): 818/920 kB | 503/596 kB | 0.9/1.7 MB Progress (3): 835/920 kB | 503/596 kB | 0.9/1.7 MB Progress (3): 835/920 kB | 519/596 kB | 0.9/1.7 MB Progress (3): 835/920 kB | 519/596 kB | 1.0/1.7 MB Progress (3): 851/920 kB | 519/596 kB | 1.0/1.7 MB Progress (3): 851/920 kB | 519/596 kB | 1.0/1.7 MB Progress (3): 851/920 kB | 519/596 kB | 1.0/1.7 MB Progress (3): 851/920 kB | 519/596 kB | 1.0/1.7 MB Progress (3): 851/920 kB | 536/596 kB | 1.0/1.7 MB Progress (3): 851/920 kB | 536/596 kB | 1.0/1.7 MB Progress (3): 867/920 kB | 536/596 kB | 1.0/1.7 MB Progress (3): 867/920 kB | 536/596 kB | 1.0/1.7 MB Progress (3): 867/920 kB | 552/596 kB | 1.0/1.7 MB Progress (3): 884/920 kB | 552/596 kB | 1.0/1.7 MB Progress (3): 884/920 kB | 552/596 kB | 1.0/1.7 MB Progress (3): 884/920 kB | 568/596 kB | 1.0/1.7 MB Progress (3): 900/920 kB | 568/596 kB | 1.0/1.7 MB Progress (3): 900/920 kB | 568/596 kB | 1.1/1.7 MB Progress (3): 917/920 kB | 568/596 kB | 1.1/1.7 MB Progress (3): 917/920 kB | 585/596 kB | 1.1/1.7 MB Progress (3): 920 kB | 585/596 kB | 1.1/1.7 MB Progress (3): 920 kB | 596 kB | 1.1/1.7 MB Progress (3): 920 kB | 596 kB | 1.1/1.7 MB Progress (3): 920 kB | 596 kB | 1.1/1.7 MB Progress (3): 920 kB | 596 kB | 1.1/1.7 MB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.21.2/jackson-core-2.21.2.jar (596 kB at 1.1 MB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-runtime/4.0.5/jaxb-runtime-4.0.5.jar (920 kB at 1.6 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.11.4/junit-jupiter-api-5.11.4.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-params/5.11.4/junit-jupiter-params-5.11.4.jar +Progress (1): 1.1/1.7 MB Progress (1): 1.1/1.7 MB Progress (1): 1.2/1.7 MB Progress (1): 1.2/1.7 MB Progress (1): 1.2/1.7 MB Progress (2): 1.2/1.7 MB | 0/1.6 MB Progress (2): 1.2/1.7 MB | 0/1.6 MB Progress (2): 1.2/1.7 MB | 0/1.6 MB Progress (2): 1.2/1.7 MB | 0/1.6 MB Progress (2): 1.2/1.7 MB | 0.1/1.6 MB Progress (2): 1.2/1.7 MB | 0.1/1.6 MB Progress (2): 1.2/1.7 MB | 0.1/1.6 MB Progress (2): 1.2/1.7 MB | 0.1/1.6 MB Progress (2): 1.2/1.7 MB | 0.1/1.6 MB Progress (2): 1.2/1.7 MB | 0.1/1.6 MB Progress (2): 1.2/1.7 MB | 0.1/1.6 MB Progress (2): 1.2/1.7 MB | 0.2/1.6 MB Progress (2): 1.2/1.7 MB | 0.2/1.6 MB Progress (2): 1.2/1.7 MB | 0.2/1.6 MB Progress (2): 1.2/1.7 MB | 0.2/1.6 MB Progress (2): 1.2/1.7 MB | 0.2/1.6 MB Progress (2): 1.2/1.7 MB | 0.2/1.6 MB Progress (2): 1.2/1.7 MB | 0.2/1.6 MB Progress (2): 1.2/1.7 MB | 0.2/1.6 MB Progress (2): 1.2/1.7 MB | 0.3/1.6 MB Progress (2): 1.2/1.7 MB | 0.3/1.6 MB Progress (2): 1.2/1.7 MB | 0.3/1.6 MB Progress (2): 1.2/1.7 MB | 0.3/1.6 MB Progress (2): 1.2/1.7 MB | 0.3/1.6 MB Progress (2): 1.3/1.7 MB | 0.3/1.6 MB Progress (2): 1.3/1.7 MB | 0.3/1.6 MB Progress (2): 1.3/1.7 MB | 0.4/1.6 MB Progress (2): 1.3/1.7 MB | 0.4/1.6 MB Progress (2): 1.3/1.7 MB | 0.4/1.6 MB Progress (2): 1.3/1.7 MB | 0.4/1.6 MB Progress (2): 1.3/1.7 MB | 0.4/1.6 MB Progress (2): 1.3/1.7 MB | 0.4/1.6 MB Progress (2): 1.3/1.7 MB | 0.5/1.6 MB Progress (2): 1.3/1.7 MB | 0.5/1.6 MB Progress (2): 1.3/1.7 MB | 0.5/1.6 MB Progress (2): 1.3/1.7 MB | 0.5/1.6 MB Progress (2): 1.3/1.7 MB | 0.5/1.6 MB Progress (2): 1.3/1.7 MB | 0.5/1.6 MB Progress (2): 1.3/1.7 MB | 0.6/1.6 MB Progress (2): 1.3/1.7 MB | 0.6/1.6 MB Progress (2): 1.3/1.7 MB | 0.6/1.6 MB Progress (2): 1.3/1.7 MB | 0.6/1.6 MB Progress (3): 1.3/1.7 MB | 0.6/1.6 MB | 4.1/139 kB Progress (3): 1.3/1.7 MB | 0.6/1.6 MB | 4.1/139 kB Progress (3): 1.3/1.7 MB | 0.6/1.6 MB | 4.1/139 kB Progress (3): 1.3/1.7 MB | 0.6/1.6 MB | 4.1/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 4.1/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 4.1/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 4.1/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 20/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 20/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 20/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 20/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 20/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 20/139 kB Progress (3): 1.3/1.7 MB | 0.7/1.6 MB | 20/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 20/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 37/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 37/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 37/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 37/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 37/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 37/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 37/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 53/139 kB Progress (3): 1.3/1.7 MB | 0.8/1.6 MB | 53/139 kB Progress (3): 1.4/1.7 MB | 0.8/1.6 MB | 53/139 kB Progress (3): 1.4/1.7 MB | 0.9/1.6 MB | 53/139 kB Progress (3): 1.4/1.7 MB | 0.9/1.6 MB | 53/139 kB Progress (3): 1.4/1.7 MB | 0.9/1.6 MB | 70/139 kB Progress (3): 1.4/1.7 MB | 0.9/1.6 MB | 70/139 kB Progress (3): 1.4/1.7 MB | 0.9/1.6 MB | 86/139 kB Progress (3): 1.4/1.7 MB | 0.9/1.6 MB | 102/139 kB Progress (3): 1.4/1.7 MB | 0.9/1.6 MB | 119/139 kB Progress (3): 1.4/1.7 MB | 0.9/1.6 MB | 135/139 kB Progress (3): 1.4/1.7 MB | 0.9/1.6 MB | 139 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-core/4.0.5/jaxb-core-4.0.5.jar (139 kB at 206 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.11.4/junit-jupiter-engine-5.11.4.jar +Progress (2): 1.4/1.7 MB | 0.9/1.6 MB Progress (2): 1.4/1.7 MB | 0.9/1.6 MB Progress (2): 1.4/1.7 MB | 0.9/1.6 MB Progress (2): 1.5/1.7 MB | 0.9/1.6 MB Progress (2): 1.5/1.7 MB | 0.9/1.6 MB Progress (2): 1.5/1.7 MB | 0.9/1.6 MB Progress (2): 1.5/1.7 MB | 0.9/1.6 MB Progress (2): 1.5/1.7 MB | 0.9/1.6 MB Progress (2): 1.5/1.7 MB | 0.9/1.6 MB Progress (2): 1.6/1.7 MB | 0.9/1.6 MB Progress (2): 1.6/1.7 MB | 0.9/1.6 MB Progress (2): 1.6/1.7 MB | 0.9/1.6 MB Progress (3): 1.6/1.7 MB | 0.9/1.6 MB | 7.7/592 kB Progress (3): 1.6/1.7 MB | 0.9/1.6 MB | 11/592 kB Progress (3): 1.6/1.7 MB | 0.9/1.6 MB | 11/592 kB Progress (4): 1.6/1.7 MB | 0.9/1.6 MB | 11/592 kB | 3.2/216 kB Progress (4): 1.6/1.7 MB | 0.9/1.6 MB | 11/592 kB | 3.2/216 kB Progress (4): 1.6/1.7 MB | 0.9/1.6 MB | 11/592 kB | 20/216 kB Progress (4): 1.6/1.7 MB | 0.9/1.6 MB | 28/592 kB | 20/216 kB Progress (4): 1.6/1.7 MB | 0.9/1.6 MB | 28/592 kB | 20/216 kB Progress (4): 1.6/1.7 MB | 0.9/1.6 MB | 28/592 kB | 28/216 kB Progress (4): 1.7/1.7 MB | 0.9/1.6 MB | 28/592 kB | 28/216 kB Progress (4): 1.7/1.7 MB | 0.9/1.6 MB | 28/592 kB | 28/216 kB Progress (4): 1.7/1.7 MB | 0.9/1.6 MB | 44/592 kB | 28/216 kB Progress (4): 1.7/1.7 MB | 0.9/1.6 MB | 44/592 kB | 44/216 kB Progress (4): 1.7/1.7 MB | 0.9/1.6 MB | 44/592 kB | 44/216 kB Progress (4): 1.7 MB | 0.9/1.6 MB | 44/592 kB | 44/216 kB Progress (4): 1.7 MB | 0.9/1.6 MB | 61/592 kB | 44/216 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.21.2/jackson-databind-2.21.2.jar (1.7 MB at 2.3 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api/4.0.2/jakarta.xml.bind-api-4.0.2.jar +Progress (3): 0.9/1.6 MB | 77/592 kB | 44/216 kB Progress (3): 0.9/1.6 MB | 77/592 kB | 61/216 kB Progress (3): 0.9/1.6 MB | 93/592 kB | 61/216 kB Progress (3): 0.9/1.6 MB | 93/592 kB | 77/216 kB Progress (3): 0.9/1.6 MB | 93/592 kB | 93/216 kB Progress (3): 0.9/1.6 MB | 93/592 kB | 110/216 kB Progress (3): 0.9/1.6 MB | 110/592 kB | 110/216 kB Progress (3): 0.9/1.6 MB | 126/592 kB | 110/216 kB Progress (3): 0.9/1.6 MB | 126/592 kB | 126/216 kB Progress (3): 0.9/1.6 MB | 142/592 kB | 126/216 kB Progress (3): 0.9/1.6 MB | 159/592 kB | 126/216 kB Progress (3): 0.9/1.6 MB | 175/592 kB | 126/216 kB Progress (3): 0.9/1.6 MB | 175/592 kB | 142/216 kB Progress (3): 0.9/1.6 MB | 175/592 kB | 159/216 kB Progress (3): 0.9/1.6 MB | 192/592 kB | 159/216 kB Progress (3): 0.9/1.6 MB | 192/592 kB | 175/216 kB Progress (3): 0.9/1.6 MB | 208/592 kB | 175/216 kB Progress (3): 0.9/1.6 MB | 208/592 kB | 175/216 kB Progress (3): 0.9/1.6 MB | 208/592 kB | 192/216 kB Progress (3): 0.9/1.6 MB | 224/592 kB | 192/216 kB Progress (3): 0.9/1.6 MB | 224/592 kB | 192/216 kB Progress (3): 0.9/1.6 MB | 224/592 kB | 192/216 kB Progress (3): 0.9/1.6 MB | 241/592 kB | 192/216 kB Progress (3): 0.9/1.6 MB | 241/592 kB | 192/216 kB Progress (3): 0.9/1.6 MB | 257/592 kB | 192/216 kB Progress (3): 0.9/1.6 MB | 257/592 kB | 192/216 kB Progress (3): 1.0/1.6 MB | 257/592 kB | 192/216 kB Progress (3): 1.0/1.6 MB | 257/592 kB | 192/216 kB Progress (3): 1.0/1.6 MB | 257/592 kB | 192/216 kB Progress (4): 1.0/1.6 MB | 257/592 kB | 192/216 kB | 7.7/260 kB Progress (4): 1.0/1.6 MB | 257/592 kB | 192/216 kB | 7.7/260 kB Progress (4): 1.0/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.0/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.0/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.1/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.1/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.1/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.1/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.1/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.1/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.2/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.2/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.2/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.2/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.2/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.2/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.3/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.3/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.3/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.3/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.3/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.3/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.4/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.4/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.4/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.4/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.4/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.4/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.5/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.5/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.5/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.5/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.5/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.5/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.5/1.6 MB | 257/592 kB | 192/216 kB | 15/260 kB Progress (4): 1.5/1.6 MB | 257/592 kB | 192/216 kB | 32/260 kB Progress (4): 1.6/1.6 MB | 257/592 kB | 192/216 kB | 32/260 kB Progress (4): 1.6/1.6 MB | 257/592 kB | 192/216 kB | 32/260 kB Progress (4): 1.6/1.6 MB | 257/592 kB | 192/216 kB | 32/260 kB Progress (4): 1.6/1.6 MB | 257/592 kB | 192/216 kB | 32/260 kB Progress (4): 1.6 MB | 257/592 kB | 192/216 kB | 32/260 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/fasterxml/woodstox/woodstox-core/7.1.1/woodstox-core-7.1.1.jar (1.6 MB at 2.1 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/jakarta/activation/jakarta.activation-api/2.1.3/jakarta.activation-api-2.1.3.jar +Progress (3): 257/592 kB | 192/216 kB | 48/260 kB Progress (3): 257/592 kB | 192/216 kB | 65/260 kB Progress (3): 257/592 kB | 192/216 kB | 81/260 kB Progress (3): 257/592 kB | 192/216 kB | 97/260 kB Progress (3): 257/592 kB | 192/216 kB | 114/260 kB Progress (3): 257/592 kB | 192/216 kB | 130/260 kB Progress (3): 273/592 kB | 192/216 kB | 130/260 kB Progress (3): 273/592 kB | 208/216 kB | 130/260 kB Progress (3): 273/592 kB | 216 kB | 130/260 kB Progress (3): 290/592 kB | 216 kB | 130/260 kB Progress (3): 290/592 kB | 216 kB | 147/260 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-api/5.11.4/junit-jupiter-api-5.11.4.jar (216 kB at 277 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation/2.0.2/angus-activation-2.0.2.jar +Progress (2): 306/592 kB | 147/260 kB Progress (2): 306/592 kB | 163/260 kB Progress (2): 306/592 kB | 179/260 kB Progress (2): 323/592 kB | 179/260 kB Progress (2): 339/592 kB | 179/260 kB Progress (2): 355/592 kB | 179/260 kB Progress (2): 372/592 kB | 179/260 kB Progress (3): 372/592 kB | 179/260 kB | 7.7/131 kB Progress (3): 372/592 kB | 179/260 kB | 15/131 kB Progress (3): 372/592 kB | 179/260 kB | 32/131 kB Progress (3): 372/592 kB | 179/260 kB | 48/131 kB Progress (3): 388/592 kB | 179/260 kB | 48/131 kB Progress (3): 388/592 kB | 179/260 kB | 65/131 kB Progress (3): 388/592 kB | 196/260 kB | 65/131 kB Progress (3): 388/592 kB | 196/260 kB | 81/131 kB Progress (3): 388/592 kB | 196/260 kB | 97/131 kB Progress (3): 388/592 kB | 196/260 kB | 114/131 kB Progress (3): 388/592 kB | 196/260 kB | 130/131 kB Progress (3): 405/592 kB | 196/260 kB | 130/131 kB Progress (3): 405/592 kB | 196/260 kB | 131 kB Progress (3): 405/592 kB | 212/260 kB | 131 kB Progress (3): 405/592 kB | 213/260 kB | 131 kB Downloaded from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api/4.0.2/jakarta.xml.bind-api-4.0.2.jar (131 kB at 160 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.5/txw2-4.0.5.jar +Progress (2): 405/592 kB | 228/260 kB Progress (2): 421/592 kB | 228/260 kB Progress (2): 437/592 kB | 228/260 kB Progress (2): 454/592 kB | 228/260 kB Progress (2): 470/592 kB | 228/260 kB Progress (2): 486/592 kB | 228/260 kB Progress (2): 486/592 kB | 245/260 kB Progress (2): 503/592 kB | 245/260 kB Progress (2): 503/592 kB | 260 kB Progress (3): 503/592 kB | 260 kB | 7.3/67 kB Progress (3): 503/592 kB | 260 kB | 15/67 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.11.4/junit-jupiter-engine-5.11.4.jar (260 kB at 314 kB/s) +Progress (2): 503/592 kB | 32/67 kB Downloading from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/4.1.2/istack-commons-runtime-4.1.2.jar +Progress (2): 503/592 kB | 48/67 kB Progress (2): 503/592 kB | 65/67 kB Progress (2): 519/592 kB | 65/67 kB Progress (2): 519/592 kB | 67 kB Downloaded from central: https://repo.maven.apache.org/maven2/jakarta/activation/jakarta.activation-api/2.1.3/jakarta.activation-api-2.1.3.jar (67 kB at 76 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar +Progress (1): 536/592 kB Progress (1): 552/592 kB Progress (2): 552/592 kB | 7.7/27 kB Progress (2): 552/592 kB | 16/27 kB Progress (2): 552/592 kB | 24/27 kB Progress (2): 552/592 kB | 27 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation/2.0.2/angus-activation-2.0.2.jar (27 kB at 31 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.11.4/junit-platform-commons-1.11.4.jar +Progress (1): 568/592 kB Progress (1): 585/592 kB Progress (1): 592 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/jupiter/junit-jupiter-params/5.11.4/junit-jupiter-params-5.11.4.jar (592 kB at 651 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar +Progress (1): 7.7/73 kB Progress (1): 12/73 kB Progress (1): 29/73 kB Progress (1): 45/73 kB Progress (1): 61/73 kB Progress (1): 73 kB Progress (2): 73 kB | 3.2/26 kB Progress (2): 73 kB | 20/26 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/txw2/4.0.5/txw2-4.0.5.jar (73 kB at 79 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.11.4/junit-platform-engine-1.11.4.jar +Progress (1): 26 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/4.1.2/istack-commons-runtime-4.1.2.jar (26 kB at 28 kB/s) +Progress (1): 7.3/14 kB Progress (1): 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar (14 kB at 15 kB/s) +Progress (1): 3.2/142 kB Progress (1): 20/142 kB Progress (1): 36/142 kB Progress (1): 52/142 kB Progress (1): 69/142 kB Progress (1): 85/142 kB Progress (1): 101/142 kB Progress (1): 118/142 kB Progress (1): 126/142 kB Progress (2): 126/142 kB | 3.1/6.8 kB Progress (2): 126/142 kB | 6.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar (6.8 kB at 7.1 kB/s) +Progress (1): 142 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.11.4/junit-platform-commons-1.11.4.jar (142 kB at 147 kB/s) +Progress (1): 7.7/247 kB Progress (1): 16/247 kB Progress (1): 28/247 kB Progress (1): 44/247 kB Progress (1): 61/247 kB Progress (1): 77/247 kB Progress (1): 93/247 kB Progress (1): 110/247 kB Progress (1): 126/247 kB Progress (1): 142/247 kB Progress (1): 159/247 kB Progress (1): 175/247 kB Progress (1): 192/247 kB Progress (1): 208/247 kB Progress (1): 224/247 kB Progress (1): 241/247 kB Progress (1): 247 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.11.4/junit-platform-engine-1.11.4.jar (247 kB at 248 kB/s) +[INFO] +[INFO] --- clean:3.5.0:clean (default-clean) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.2/plexus-utils-4.0.2.pom +Progress (1): 976 B Progress (1): 4.3 kB Progress (1): 7.7 kB Progress (1): 12 kB Progress (1): 13 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.2/plexus-utils-4.0.2.pom (13 kB at 229 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.2/plexus-utils-4.0.2.jar +Progress (1): 7.7/193 kB Progress (1): 11/193 kB Progress (1): 28/193 kB Progress (1): 44/193 kB Progress (1): 61/193 kB Progress (1): 77/193 kB Progress (1): 93/193 kB Progress (1): 110/193 kB Progress (1): 126/193 kB Progress (1): 142/193 kB Progress (1): 159/193 kB Progress (1): 175/193 kB Progress (1): 192/193 kB Progress (1): 193 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.2/plexus-utils-4.0.2.jar (193 kB at 2.8 MB/s) +[INFO] +[INFO] --- exec:3.5.0:exec (generate-models) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-exec/1.4.0/commons-exec-1.4.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.4.1/maven-resolver-util-1.4.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.7.1/asm-commons-9.7.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7.1/asm-9.7.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-xml/3.0.1/plexus-xml-3.0.1.pom +Progress (1): 825 B Progress (1): 2.8 kB Progress (1): 2.8 kB Progress (2): 2.8 kB | 805 B Progress (2): 2.8 kB | 2.3 kB Progress (3): 2.8 kB | 2.3 kB | 1.3 kB Progress (3): 2.8 kB | 3.9 kB | 1.3 kB Progress (3): 2.8 kB | 3.9 kB | 2.4 kB Progress (4): 2.8 kB | 3.9 kB | 2.4 kB | 1.1 kB Progress (4): 2.8 kB | 6.5 kB | 2.4 kB | 1.1 kB Progress (4): 2.8 kB | 6.5 kB | 2.4 kB | 2.8 kB Progress (4): 2.8 kB | 9.3 kB | 2.4 kB | 2.8 kB Progress (4): 2.8 kB | 9.5 kB | 2.4 kB | 2.8 kB Progress (5): 2.8 kB | 9.5 kB | 2.4 kB | 2.8 kB | 814 B Progress (5): 2.8 kB | 9.5 kB | 2.4 kB | 2.8 kB | 2.6 kB Progress (5): 2.8 kB | 9.5 kB | 2.4 kB | 2.8 kB | 3.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-exec/1.4.0/commons-exec-1.4.0.pom (9.5 kB at 136 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7.1/asm-9.7.1.pom (2.4 kB at 34 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.4.1/maven-resolver-util-1.4.1.pom (2.8 kB at 40 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.7.1/asm-commons-9.7.1.pom (2.8 kB at 40 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-xml/3.0.1/plexus-xml-3.0.1.pom (3.7 kB at 52 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/65/commons-parent-65.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver/1.4.1/maven-resolver-1.4.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5.1/ow2-1.5.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/18/plexus-18.pom +Progress (1): 709 B Progress (1): 2.1 kB Progress (1): 3.6 kB Progress (1): 5.7 kB Progress (1): 8.1 kB Progress (1): 11 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5.1/ow2-1.5.1.pom (11 kB at 230 kB/s) +Progress (1): 774 B Progress (2): 774 B | 692 B Progress (2): 774 B | 2.5 kB Progress (2): 774 B | 6.4 kB Progress (2): 2.2 kB | 6.4 kB Progress (2): 6.0 kB | 6.4 kB Progress (2): 9.6 kB | 6.4 kB Progress (2): 9.6 kB | 8.9 kB Progress (2): 13 kB | 8.9 kB Progress (2): 13 kB | 10 kB Progress (2): 16 kB | 10 kB Progress (2): 16 kB | 14 kB Progress (2): 18 kB | 14 kB Progress (2): 18 kB | 18 kB Progress (2): 18 kB | 21 kB Progress (2): 18 kB | 25 kB Progress (2): 18 kB | 29 kB Progress (2): 18 kB | 29 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/18/plexus-18.pom (29 kB at 513 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver/1.4.1/maven-resolver-1.4.1.pom (18 kB at 308 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/33/maven-parent-33.pom +Progress (1): 705 B Progress (1): 1.9 kB Progress (1): 3.1 kB Progress (1): 4.7 kB Progress (1): 6.4 kB Progress (1): 8.4 kB Progress (1): 10 kB Progress (1): 13 kB Progress (1): 15 kB Progress (1): 18 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 25 kB Progress (1): 28 kB Progress (1): 32 kB Progress (1): 32 kB Progress (1): 35 kB Progress (1): 41 kB Progress (1): 43 kB Progress (1): 46 kB Progress (1): 49 kB Progress (1): 51 kB Progress (1): 54 kB Progress (1): 58 kB Progress (1): 60 kB Progress (1): 64 kB Progress (1): 67 kB Progress (1): 71 kB Progress (1): 74 kB Progress (1): 76 kB Progress (1): 78 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/65/commons-parent-65.pom (78 kB at 1.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.1/junit-bom-5.10.1.pom +Progress (1): 717 B Progress (1): 1.9 kB Progress (1): 5.4 kB Progress (1): 9.9 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 26 kB Progress (1): 27 kB Progress (1): 30 kB Progress (1): 34 kB Progress (1): 36 kB Progress (1): 39 kB Progress (1): 44 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/33/maven-parent-33.pom (44 kB at 775 kB/s) +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/21/apache-21.pom +Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.1/junit-bom-5.10.1.pom (5.6 kB at 105 kB/s) +Progress (1): 753 B Progress (1): 2.1 kB Progress (1): 3.9 kB Progress (1): 8.3 kB Progress (1): 13 kB Progress (1): 16 kB Progress (1): 17 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/21/apache-21.pom (17 kB at 280 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.4.1/maven-resolver-api-1.4.1.pom +Progress (1): 843 B Progress (1): 2.6 kB Progress (1): 2.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.4.1/maven-resolver-api-1.4.1.pom (2.6 kB at 50 kB/s) +[INFO] Loaded 50 auto-discovered prefixes for remote repository ow2-snapshot (prefixes-ow2-snapshot.txt) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.7.1/asm-tree-9.7.1.pom +Progress (1): 1.1 kB Progress (1): 2.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.7.1/asm-tree-9.7.1.pom (2.6 kB at 42 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.4.1/maven-resolver-util-1.4.1.jar +Progress (1): 7.7/168 kB Progress (1): 16/168 kB Progress (1): 32/168 kB Progress (1): 48/168 kB Progress (1): 65/168 kB Progress (1): 81/168 kB Progress (1): 97/168 kB Progress (1): 114/168 kB Progress (1): 130/168 kB Progress (1): 147/168 kB Progress (1): 163/168 kB Progress (1): 168 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.4.1/maven-resolver-util-1.4.1.jar (168 kB at 1.4 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-xml/3.0.1/plexus-xml-3.0.1.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-exec/1.4.0/commons-exec-1.4.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7.1/asm-9.7.1.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.7.1/asm-commons-9.7.1.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.4.1/maven-resolver-api-1.4.1.jar +Progress (1): 7.7/126 kB Progress (1): 7.7/126 kB Progress (1): 24/126 kB Progress (1): 40/126 kB Progress (1): 57/126 kB Progress (2): 57/126 kB | 7.7/94 kB Progress (2): 57/126 kB | 7.7/94 kB Progress (2): 57/126 kB | 24/94 kB Progress (2): 73/126 kB | 24/94 kB Progress (3): 73/126 kB | 24/94 kB | 7.7/73 kB Progress (3): 73/126 kB | 24/94 kB | 16/73 kB Progress (3): 73/126 kB | 24/94 kB | 28/73 kB Progress (3): 90/126 kB | 24/94 kB | 28/73 kB Progress (3): 90/126 kB | 40/94 kB | 28/73 kB Progress (3): 106/126 kB | 40/94 kB | 28/73 kB Progress (3): 122/126 kB | 40/94 kB | 28/73 kB Progress (3): 122/126 kB | 40/94 kB | 44/73 kB Progress (3): 126 kB | 40/94 kB | 44/73 kB Progress (4): 126 kB | 40/94 kB | 44/73 kB | 7.7/66 kB Progress (4): 126 kB | 40/94 kB | 44/73 kB | 15/66 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7.1/asm-9.7.1.jar (126 kB at 1.9 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.7.1/asm-tree-9.7.1.jar +Progress (3): 57/94 kB | 44/73 kB | 15/66 kB Progress (3): 57/94 kB | 61/73 kB | 15/66 kB Progress (3): 57/94 kB | 73 kB | 15/66 kB Progress (3): 57/94 kB | 73 kB | 32/66 kB Progress (3): 73/94 kB | 73 kB | 32/66 kB Progress (3): 90/94 kB | 73 kB | 32/66 kB Progress (3): 94 kB | 73 kB | 32/66 kB Progress (4): 94 kB | 73 kB | 32/66 kB | 7.7/149 kB Progress (4): 94 kB | 73 kB | 32/66 kB | 16/149 kB Progress (4): 94 kB | 73 kB | 32/66 kB | 24/149 kB Progress (4): 94 kB | 73 kB | 32/66 kB | 40/149 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.7.1/asm-commons-9.7.1.jar (73 kB at 954 kB/s) +Progress (3): 94 kB | 32/66 kB | 57/149 kB Progress (3): 94 kB | 32/66 kB | 73/149 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-xml/3.0.1/plexus-xml-3.0.1.jar (94 kB at 1.2 MB/s) +Progress (2): 32/66 kB | 90/149 kB Progress (2): 48/66 kB | 90/149 kB Progress (2): 48/66 kB | 106/149 kB Progress (2): 48/66 kB | 122/149 kB Progress (2): 48/66 kB | 139/149 kB Progress (2): 48/66 kB | 149 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.4.1/maven-resolver-api-1.4.1.jar (149 kB at 1.8 MB/s) +Progress (1): 65/66 kB Progress (1): 66 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-exec/1.4.0/commons-exec-1.4.0.jar (66 kB at 784 kB/s) +Progress (1): 7.7/52 kB Progress (1): 16/52 kB Progress (1): 28/52 kB Progress (1): 44/52 kB Progress (1): 52 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.7.1/asm-tree-9.7.1.jar (52 kB at 393 kB/s) +Parsing schema: /home/bailey/github/PolyXML/benchmarks/java/target/workload.xsd + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 1 +Code generation complete. +Parsing schema: /home/bailey/github/PolyXML/benchmarks/java/target/workload.xsd + Types: 1 total (1 structs, 0 enums, 0 unions, 0 simple restrictions) + Root elements: 1 +Code generation complete. +Parsing schema: /home/bailey/github/PolyXML/benchmarks/java/cases.xsd + Namespace: urn:cases + Types: 3 total (2 structs, 0 enums, 0 unions, 1 simple restrictions) + Root elements: 0 + Tarjan SCC: Boxed 1 recursive cut points +Code generation complete. +[INFO] +[INFO] --- jaxb2:3.2.0:xjc (default) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/2.1.0/qdox-2.1.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.0/plexus-utils-4.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-api/2.15.0/plexus-compiler-api-2.15.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-xjc/3.0.2/jaxb-xjc-3.0.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-jxc/3.0.2/jaxb-jxc-3.0.2.pom +Progress (1): 724 B Progress (1): 2.3 kB Progress (1): 4.5 kB Progress (2): 4.5 kB | 1.4 kB Progress (2): 8.7 kB | 1.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.0/plexus-utils-4.0.0.pom (8.7 kB at 163 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-api/2.15.0/plexus-compiler-api-2.15.0.pom (1.4 kB at 26 kB/s) +Progress (1): 795 B Progress (1): 3.3 kB Progress (1): 7.6 kB Progress (1): 12 kB Progress (1): 15 kB Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler/2.15.0/plexus-compiler-2.15.0.pom +Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-jxc/3.0.2/jaxb-jxc-3.0.2.pom (15 kB at 276 kB/s) +Progress (1): 793 B Progress (2): 793 B | 872 B Progress (2): 3.6 kB | 872 B Progress (2): 3.6 kB | 3.4 kB Progress (2): 7.4 kB | 3.4 kB Progress (2): 7.4 kB | 6.6 kB Progress (2): 13 kB | 6.6 kB Progress (2): 13 kB | 10 kB Progress (2): 17 kB | 10 kB Progress (2): 17 kB | 13 kB Progress (2): 18 kB | 13 kB Progress (2): 18 kB | 17 kB Progress (2): 18 kB | 18 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-xjc/3.0.2/jaxb-xjc-3.0.2.pom (18 kB at 312 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/2.1.0/qdox-2.1.0.pom (18 kB at 298 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-bundles/3.0.2/jaxb-bundles-3.0.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/13/plexus-13.pom +Progress (1): 1.2 kB Progress (1): 4.5 kB Progress (1): 7.6 kB Progress (1): 7.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler/2.15.0/plexus-compiler-2.15.0.pom (7.6 kB at 146 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/17/plexus-17.pom +Progress (1): 922 B Progress (2): 922 B | 838 B Progress (2): 1.3 kB | 838 B Progress (2): 1.3 kB | 2.7 kB Progress (2): 1.3 kB | 6.5 kB Progress (2): 1.3 kB | 6.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom (6.6 kB at 131 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-bundles/3.0.2/jaxb-bundles-3.0.2.pom (1.3 kB at 26 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/3.0.2/jaxb-parent-3.0.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.pom +Progress (1): 693 B Progress (1): 2.5 kB Progress (1): 6.4 kB Progress (1): 8.9 kB Progress (1): 11 kB Progress (1): 14 kB Progress (1): 18 kB Progress (1): 21 kB Progress (1): 26 kB Progress (1): 27 kB Progress (2): 27 kB | 691 B Progress (2): 27 kB | 2.5 kB Progress (2): 27 kB | 6.4 kB Progress (2): 27 kB | 8.9 kB Progress (2): 27 kB | 11 kB Progress (2): 27 kB | 14 kB Progress (2): 27 kB | 19 kB Progress (2): 27 kB | 21 kB Progress (2): 27 kB | 25 kB Progress (2): 27 kB | 28 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/13/plexus-13.pom (27 kB at 464 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/17/plexus-17.pom (28 kB at 503 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/4.2.0/istack-commons-runtime-4.2.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.3/junit-bom-5.9.3.pom +Progress (1): 910 B Progress (1): 3.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.pom (3.2 kB at 55 kB/s) +Progress (1): 779 B Progress (1): 2.7 kB Progress (1): 4.2 kB Progress (1): 7.7 kB Progress (1): 13 kB Progress (1): 17 kB Progress (1): 24 kB Progress (1): 28 kB Progress (1): 29 kB Downloading from central: https://repo.maven.apache.org/maven2/org/sonatype/spice/spice-parent/15/spice-parent-15.pom +Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/mvn/jaxb-parent/3.0.2/jaxb-parent-3.0.2.pom (29 kB at 478 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/3.0.2/jaxb-bom-ext-3.0.2.pom +Progress (1): 935 B Progress (1): 1.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/4.2.0/istack-commons-runtime-4.2.0.pom (1.6 kB at 31 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/4.2.0/istack-commons-4.2.0.pom +Progress (1): 1.2 kB Progress (1): 3.7 kB Progress (2): 3.7 kB | 861 B Progress (2): 7.3 kB | 861 B Progress (2): 7.3 kB | 3.5 kB Progress (2): 8.4 kB | 3.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-bom-ext/3.0.2/jaxb-bom-ext-3.0.2.pom (3.5 kB at 64 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/sonatype/spice/spice-parent/15/spice-parent-15.pom (8.4 kB at 149 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/3.0.2/jaxb-bom-3.0.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/sonatype/forge/forge-parent/5/forge-parent-5.pom +Progress (1): 907 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.9.3/junit-bom-5.9.3.pom (5.6 kB at 88 kB/s) +Progress (1): 793 B Progress (1): 2.6 kB Progress (1): 4.8 kB Progress (1): 12 kB Progress (1): 17 kB Progress (1): 21 kB Progress (1): 26 kB Progress (1): 26 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons/4.2.0/istack-commons-4.2.0.pom (26 kB at 506 kB/s) +Progress (1): 1.3 kB Progress (1): 5.5 kB Progress (1): 8.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/sonatype/forge/forge-parent/5/forge-parent-5.pom (8.4 kB at 161 kB/s) +Progress (1): 865 B Progress (1): 7.9 kB Progress (1): 10 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/glassfish/jaxb/jaxb-bom/3.0.2/jaxb-bom-3.0.2.pom (10 kB at 195 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-core/3.0.2/jaxb-core-3.0.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-impl/3.0.2/jaxb-impl-3.0.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/activation/jakarta.activation/2.0.1/jakarta.activation-2.0.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom +Progress (1): 802 B Progress (2): 802 B | 964 B Progress (2): 802 B | 2.0 kB Progress (3): 802 B | 2.0 kB | 798 B Progress (4): 802 B | 2.0 kB | 798 B | 994 B Progress (4): 802 B | 2.0 kB | 3.5 kB | 994 B Progress (4): 3.7 kB | 2.0 kB | 3.5 kB | 994 B Progress (4): 3.7 kB | 2.0 kB | 3.5 kB | 5.0 kB Progress (4): 7.4 kB | 2.0 kB | 3.5 kB | 5.0 kB Progress (4): 7.4 kB | 2.0 kB | 3.5 kB | 8.1 kB Progress (4): 13 kB | 2.0 kB | 3.5 kB | 8.1 kB Progress (4): 13 kB | 2.0 kB | 8.4 kB | 8.1 kB Progress (4): 13 kB | 2.0 kB | 13 kB | 8.1 kB Progress (4): 13 kB | 2.0 kB | 13 kB | 8.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/activation/jakarta.activation/2.0.1/jakarta.activation-2.0.1.pom (2.0 kB at 33 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-impl/3.0.2/jaxb-impl-3.0.2.pom (13 kB at 216 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom (8.1 kB at 134 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-core/3.0.2/jaxb-core-3.0.2.pom (13 kB at 210 kB/s) +Progress (1): 1.0 kB Progress (1): 2.7 kB Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/activation/all/2.0.1/all-2.0.1.pom +Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.pom (2.7 kB at 44 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api/3.0.1/jakarta.xml.bind-api-3.0.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.36/slf4j-parent-1.7.36.pom +Progress (1): 793 B Progress (2): 793 B | 1.1 kB Progress (2): 2.6 kB | 1.1 kB Progress (2): 2.6 kB | 4.0 kB Progress (2): 4.4 kB | 4.0 kB Progress (2): 4.4 kB | 7.3 kB Progress (2): 6.8 kB | 7.3 kB Progress (2): 6.8 kB | 11 kB Progress (2): 9.9 kB | 11 kB Progress (2): 9.9 kB | 12 kB Progress (2): 13 kB | 12 kB Progress (2): 16 kB | 12 kB Progress (2): 20 kB | 12 kB Progress (2): 23 kB | 12 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom (12 kB at 219 kB/s) +Progress (2): 23 kB | 1.0 kB Progress (3): 23 kB | 1.0 kB | 844 B Progress (3): 23 kB | 1.0 kB | 2.8 kB Progress (3): 23 kB | 3.0 kB | 2.8 kB Progress (3): 23 kB | 3.0 kB | 5.3 kB Progress (3): 23 kB | 5.9 kB | 5.3 kB Progress (3): 23 kB | 5.9 kB | 9.9 kB Progress (3): 23 kB | 8.7 kB | 9.9 kB Progress (3): 23 kB | 8.7 kB | 13 kB Progress (3): 23 kB | 12 kB | 13 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/activation/all/2.0.1/all-2.0.1.pom (23 kB at 394 kB/s) +Progress (2): 14 kB | 13 kB Downloaded from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api/3.0.1/jakarta.xml.bind-api-3.0.1.pom (13 kB at 236 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.36/slf4j-parent-1.7.36.pom (14 kB at 252 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.6/project-1.0.6.pom +Downloading from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api-parent/3.0.1/jakarta.xml.bind-api-parent-3.0.1.pom +Progress (1): 839 B Progress (1): 2.5 kB Progress (1): 5.0 kB Progress (2): 5.0 kB | 889 B Progress (2): 7.7 kB | 889 B Progress (2): 7.7 kB | 2.8 kB Progress (2): 13 kB | 2.8 kB Progress (2): 13 kB | 2.8 kB Progress (2): 13 kB | 6.1 kB Progress (2): 13 kB | 9.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.6/project-1.0.6.pom (13 kB at 242 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api-parent/3.0.1/jakarta.xml.bind-api-parent-3.0.1.pom (9.5 kB at 173 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-xjc/3.0.2/jaxb-xjc-3.0.2.jar +Progress (1): 0/1.9 MB Progress (1): 0/1.9 MB Progress (1): 0/1.9 MB Progress (1): 0/1.9 MB Progress (1): 0.1/1.9 MB Progress (1): 0.1/1.9 MB Progress (1): 0.1/1.9 MB Progress (1): 0.1/1.9 MB Progress (1): 0.1/1.9 MB Progress (1): 0.1/1.9 MB Progress (1): 0.2/1.9 MB Progress (1): 0.2/1.9 MB Progress (1): 0.2/1.9 MB Progress (1): 0.2/1.9 MB Progress (1): 0.2/1.9 MB Progress (1): 0.2/1.9 MB Progress (1): 0.2/1.9 MB Progress (1): 0.3/1.9 MB Progress (1): 0.3/1.9 MB Progress (1): 0.3/1.9 MB Progress (1): 0.3/1.9 MB Progress (1): 0.3/1.9 MB Progress (1): 0.3/1.9 MB Progress (1): 0.3/1.9 MB Progress (1): 0.4/1.9 MB Progress (1): 0.4/1.9 MB Progress (1): 0.4/1.9 MB Progress (1): 0.4/1.9 MB Progress (1): 0.4/1.9 MB Progress (1): 0.4/1.9 MB Progress (1): 0.5/1.9 MB Progress (1): 0.5/1.9 MB Progress (1): 0.5/1.9 MB Progress (1): 0.5/1.9 MB Progress (1): 0.5/1.9 MB Progress (1): 0.5/1.9 MB Progress (1): 0.6/1.9 MB Progress (1): 0.6/1.9 MB Progress (1): 0.6/1.9 MB Progress (1): 0.6/1.9 MB Progress (1): 0.6/1.9 MB Progress (1): 0.6/1.9 MB Progress (1): 0.7/1.9 MB Progress (1): 0.7/1.9 MB Progress (1): 0.7/1.9 MB Progress (1): 0.7/1.9 MB Progress (1): 0.7/1.9 MB Progress (1): 0.7/1.9 MB Progress (1): 0.8/1.9 MB Progress (1): 0.8/1.9 MB Progress (1): 0.8/1.9 MB Progress (1): 0.8/1.9 MB Progress (1): 0.8/1.9 MB Progress (1): 0.8/1.9 MB Progress (1): 0.9/1.9 MB Progress (1): 0.9/1.9 MB Progress (1): 0.9/1.9 MB Progress (1): 0.9/1.9 MB Progress (1): 0.9/1.9 MB Progress (1): 0.9/1.9 MB Progress (1): 1.0/1.9 MB Progress (1): 1.0/1.9 MB Progress (1): 1.0/1.9 MB Progress (1): 1.0/1.9 MB Progress (1): 1.0/1.9 MB Progress (1): 1.0/1.9 MB Progress (1): 1.0/1.9 MB Progress (1): 1.1/1.9 MB Progress (1): 1.1/1.9 MB Progress (1): 1.1/1.9 MB Progress (1): 1.1/1.9 MB Progress (1): 1.1/1.9 MB Progress (1): 1.1/1.9 MB Progress (1): 1.2/1.9 MB Progress (1): 1.2/1.9 MB Progress (1): 1.2/1.9 MB Progress (1): 1.2/1.9 MB Progress (1): 1.2/1.9 MB Progress (1): 1.2/1.9 MB Progress (1): 1.3/1.9 MB Progress (1): 1.3/1.9 MB Progress (1): 1.3/1.9 MB Progress (1): 1.3/1.9 MB Progress (1): 1.3/1.9 MB Progress (1): 1.3/1.9 MB Progress (1): 1.4/1.9 MB Progress (1): 1.4/1.9 MB Progress (1): 1.4/1.9 MB Progress (1): 1.4/1.9 MB Progress (1): 1.4/1.9 MB Progress (1): 1.4/1.9 MB Progress (1): 1.5/1.9 MB Progress (1): 1.5/1.9 MB Progress (1): 1.5/1.9 MB Progress (1): 1.5/1.9 MB Progress (1): 1.5/1.9 MB Progress (1): 1.5/1.9 MB Progress (1): 1.6/1.9 MB Progress (1): 1.6/1.9 MB Progress (1): 1.6/1.9 MB Progress (1): 1.6/1.9 MB Progress (1): 1.6/1.9 MB Progress (1): 1.6/1.9 MB Progress (1): 1.7/1.9 MB Progress (1): 1.7/1.9 MB Progress (1): 1.7/1.9 MB Progress (1): 1.7/1.9 MB Progress (1): 1.7/1.9 MB Progress (1): 1.7/1.9 MB Progress (1): 1.8/1.9 MB Progress (1): 1.8/1.9 MB Progress (1): 1.8/1.9 MB Progress (1): 1.8/1.9 MB Progress (1): 1.8/1.9 MB Progress (1): 1.8/1.9 MB Progress (1): 1.9/1.9 MB Progress (1): 1.9/1.9 MB Progress (1): 1.9/1.9 MB Progress (1): 1.9/1.9 MB Progress (1): 1.9/1.9 MB Progress (1): 1.9 MB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-xjc/3.0.2/jaxb-xjc-3.0.2.jar (1.9 MB at 7.7 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-jxc/3.0.2/jaxb-jxc-3.0.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/2.1.0/qdox-2.1.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-api/2.15.0/plexus-compiler-api-2.15.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.0/plexus-utils-4.0.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar +Progress (1): 7.7/117 kB Progress (1): 8.2/117 kB Progress (1): 25/117 kB Progress (1): 41/117 kB Progress (1): 57/117 kB Progress (1): 74/117 kB Progress (1): 90/117 kB Progress (2): 90/117 kB | 3.2/29 kB Progress (3): 90/117 kB | 3.2/29 kB | 7.7/192 kB Progress (3): 90/117 kB | 3.2/29 kB | 7.7/192 kB Progress (3): 106/117 kB | 3.2/29 kB | 7.7/192 kB Progress (3): 106/117 kB | 3.2/29 kB | 24/192 kB Progress (3): 115/117 kB | 3.2/29 kB | 24/192 kB Progress (3): 117 kB | 3.2/29 kB | 24/192 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-jxc/3.0.2/jaxb-jxc-3.0.2.jar (117 kB at 1.9 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/4.2.0/istack-commons-runtime-4.2.0.jar +Progress (2): 3.2/29 kB | 40/192 kB Progress (2): 3.2/29 kB | 57/192 kB Progress (2): 3.2/29 kB | 73/192 kB Progress (2): 20/29 kB | 73/192 kB Progress (2): 20/29 kB | 90/192 kB Progress (2): 20/29 kB | 106/192 kB Progress (2): 29 kB | 106/192 kB Progress (2): 29 kB | 122/192 kB Progress (2): 29 kB | 139/192 kB Progress (2): 29 kB | 155/192 kB Progress (3): 29 kB | 155/192 kB | 7.7/348 kB Progress (4): 29 kB | 155/192 kB | 7.7/348 kB | 7.7/8.5 kB Progress (4): 29 kB | 155/192 kB | 11/348 kB | 7.7/8.5 kB Progress (4): 29 kB | 155/192 kB | 11/348 kB | 8.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-api/2.15.0/plexus-compiler-api-2.15.0.jar (29 kB at 393 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-core/3.0.2/jaxb-core-3.0.2.jar +Downloaded from central: https://repo.maven.apache.org/maven2/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar (8.5 kB at 115 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/activation/jakarta.activation/2.0.1/jakarta.activation-2.0.1.jar +Progress (2): 172/192 kB | 11/348 kB Progress (2): 172/192 kB | 28/348 kB Progress (2): 188/192 kB | 28/348 kB Progress (2): 188/192 kB | 44/348 kB Progress (2): 192 kB | 44/348 kB Progress (2): 192 kB | 61/348 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.0/plexus-utils-4.0.0.jar (192 kB at 2.5 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-impl/3.0.2/jaxb-impl-3.0.2.jar +Progress (1): 77/348 kB Progress (1): 93/348 kB Progress (1): 110/348 kB Progress (1): 126/348 kB Progress (1): 142/348 kB Progress (1): 159/348 kB Progress (2): 159/348 kB | 7.7/26 kB Progress (2): 159/348 kB | 16/26 kB Progress (2): 159/348 kB | 26 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/istack/istack-commons-runtime/4.2.0/istack-commons-runtime-4.2.0.jar (26 kB at 228 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar +Progress (1): 175/348 kB Progress (1): 192/348 kB Progress (1): 208/348 kB Progress (1): 224/348 kB Progress (1): 241/348 kB Progress (2): 241/348 kB | 7.7/917 kB Progress (2): 241/348 kB | 11/917 kB Progress (2): 241/348 kB | 28/917 kB Progress (2): 241/348 kB | 44/917 kB Progress (2): 241/348 kB | 61/917 kB Progress (2): 241/348 kB | 77/917 kB Progress (3): 241/348 kB | 77/917 kB | 7.7/238 kB Progress (4): 241/348 kB | 77/917 kB | 7.7/238 kB | 7.7/62 kB Progress (4): 241/348 kB | 77/917 kB | 12/238 kB | 7.7/62 kB Progress (4): 241/348 kB | 77/917 kB | 12/238 kB | 15/62 kB Progress (4): 241/348 kB | 93/917 kB | 12/238 kB | 15/62 kB Progress (4): 241/348 kB | 110/917 kB | 12/238 kB | 15/62 kB Progress (4): 241/348 kB | 126/917 kB | 12/238 kB | 15/62 kB Progress (4): 257/348 kB | 126/917 kB | 12/238 kB | 15/62 kB Progress (4): 257/348 kB | 142/917 kB | 12/238 kB | 15/62 kB Progress (4): 257/348 kB | 142/917 kB | 29/238 kB | 15/62 kB Progress (4): 257/348 kB | 142/917 kB | 29/238 kB | 32/62 kB Progress (4): 257/348 kB | 159/917 kB | 29/238 kB | 32/62 kB Progress (4): 257/348 kB | 175/917 kB | 29/238 kB | 32/62 kB Progress (4): 257/348 kB | 192/917 kB | 29/238 kB | 32/62 kB Progress (4): 257/348 kB | 192/917 kB | 45/238 kB | 32/62 kB Progress (4): 257/348 kB | 208/917 kB | 45/238 kB | 32/62 kB Progress (4): 257/348 kB | 208/917 kB | 45/238 kB | 48/62 kB Progress (4): 257/348 kB | 224/917 kB | 45/238 kB | 48/62 kB Progress (4): 257/348 kB | 228/917 kB | 45/238 kB | 48/62 kB Progress (4): 257/348 kB | 245/917 kB | 45/238 kB | 48/62 kB Progress (4): 257/348 kB | 257/917 kB | 45/238 kB | 48/62 kB Progress (4): 257/348 kB | 257/917 kB | 61/238 kB | 48/62 kB Progress (4): 257/348 kB | 273/917 kB | 61/238 kB | 48/62 kB Progress (4): 274/348 kB | 273/917 kB | 61/238 kB | 48/62 kB Progress (4): 274/348 kB | 290/917 kB | 61/238 kB | 48/62 kB Progress (4): 274/348 kB | 306/917 kB | 61/238 kB | 48/62 kB Progress (4): 274/348 kB | 323/917 kB | 61/238 kB | 48/62 kB Progress (4): 274/348 kB | 323/917 kB | 61/238 kB | 62 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/activation/jakarta.activation/2.0.1/jakarta.activation-2.0.1.jar (62 kB at 366 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api/3.0.1/jakarta.xml.bind-api-3.0.1.jar +Progress (3): 274/348 kB | 339/917 kB | 61/238 kB Progress (3): 274/348 kB | 355/917 kB | 61/238 kB Progress (3): 274/348 kB | 372/917 kB | 61/238 kB Progress (3): 274/348 kB | 388/917 kB | 61/238 kB Progress (3): 274/348 kB | 388/917 kB | 78/238 kB Progress (3): 274/348 kB | 388/917 kB | 94/238 kB Progress (3): 274/348 kB | 405/917 kB | 94/238 kB Progress (3): 290/348 kB | 405/917 kB | 94/238 kB Progress (3): 290/348 kB | 405/917 kB | 111/238 kB Progress (3): 290/348 kB | 421/917 kB | 111/238 kB Progress (3): 290/348 kB | 437/917 kB | 111/238 kB Progress (3): 290/348 kB | 454/917 kB | 111/238 kB Progress (3): 290/348 kB | 470/917 kB | 111/238 kB Progress (3): 290/348 kB | 486/917 kB | 111/238 kB Progress (3): 290/348 kB | 503/917 kB | 111/238 kB Progress (3): 290/348 kB | 519/917 kB | 111/238 kB Progress (3): 290/348 kB | 536/917 kB | 111/238 kB Progress (3): 290/348 kB | 552/917 kB | 111/238 kB Progress (3): 290/348 kB | 568/917 kB | 111/238 kB Progress (3): 290/348 kB | 573/917 kB | 111/238 kB Progress (3): 290/348 kB | 573/917 kB | 111/238 kB Progress (3): 290/348 kB | 590/917 kB | 111/238 kB Progress (3): 290/348 kB | 606/917 kB | 111/238 kB Progress (3): 290/348 kB | 623/917 kB | 111/238 kB Progress (3): 290/348 kB | 623/917 kB | 127/238 kB Progress (3): 290/348 kB | 639/917 kB | 127/238 kB Progress (3): 290/348 kB | 655/917 kB | 127/238 kB Progress (3): 290/348 kB | 672/917 kB | 127/238 kB Progress (3): 290/348 kB | 688/917 kB | 127/238 kB Progress (3): 290/348 kB | 688/917 kB | 143/238 kB Progress (3): 290/348 kB | 705/917 kB | 143/238 kB Progress (3): 290/348 kB | 705/917 kB | 147/238 kB Progress (3): 290/348 kB | 721/917 kB | 147/238 kB Progress (3): 290/348 kB | 737/917 kB | 147/238 kB Progress (3): 290/348 kB | 754/917 kB | 147/238 kB Progress (3): 290/348 kB | 770/917 kB | 147/238 kB Progress (3): 290/348 kB | 786/917 kB | 147/238 kB Progress (3): 290/348 kB | 803/917 kB | 147/238 kB Progress (3): 306/348 kB | 803/917 kB | 147/238 kB Progress (3): 306/348 kB | 819/917 kB | 147/238 kB Progress (3): 306/348 kB | 836/917 kB | 147/238 kB Progress (3): 306/348 kB | 836/917 kB | 164/238 kB Progress (3): 306/348 kB | 852/917 kB | 164/238 kB Progress (3): 306/348 kB | 868/917 kB | 164/238 kB Progress (3): 323/348 kB | 868/917 kB | 164/238 kB Progress (3): 323/348 kB | 868/917 kB | 180/238 kB Progress (3): 323/348 kB | 885/917 kB | 180/238 kB Progress (3): 323/348 kB | 885/917 kB | 197/238 kB Progress (3): 323/348 kB | 901/917 kB | 197/238 kB Progress (3): 323/348 kB | 917 kB | 197/238 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-impl/3.0.2/jaxb-impl-3.0.2.jar (917 kB at 4.3 MB/s) +Progress (2): 323/348 kB | 213/238 kB Progress (2): 339/348 kB | 213/238 kB Progress (2): 339/348 kB | 229/238 kB Progress (2): 339/348 kB | 238 kB Progress (2): 348 kB | 238 kB Progress (3): 348 kB | 238 kB | 7.7/41 kB Progress (3): 348 kB | 238 kB | 15/41 kB Progress (3): 348 kB | 238 kB | 32/41 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/2.1.0/qdox-2.1.0.jar (348 kB at 1.5 MB/s) +Progress (2): 238 kB | 41 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/sun/xml/bind/jaxb-core/3.0.2/jaxb-core-3.0.2.jar (238 kB at 1.1 MB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar (41 kB at 183 kB/s) +Progress (1): 7.7/129 kB Progress (1): 15/129 kB Progress (1): 32/129 kB Progress (1): 48/129 kB Progress (1): 65/129 kB Progress (1): 81/129 kB Progress (1): 97/129 kB Progress (1): 114/129 kB Progress (1): 129 kB Downloaded from central: https://repo.maven.apache.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api/3.0.1/jakarta.xml.bind-api-3.0.1.jar (129 kB at 437 kB/s) +[INFO] Created EpisodePath [/home/bailey/github/PolyXML/benchmarks/java/target/generated-sources/jaxb/META-INF/JAXB]: true +[INFO] Ignored given or default xjbSources [/home/bailey/github/PolyXML/benchmarks/java/src/main/xjb], since it is not an existent file or directory. +[INFO] Created EpisodePath [/home/bailey/github/PolyXML/benchmarks/java/target/generated-sources/jaxb/META-INF/JAXB]: true +[INFO] +[INFO] --- build-helper:3.6.0:add-source (models) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.1/plexus-utils-4.0.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/file-management/3.1.0/file-management-3.1.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache-extras/beanshell/bsh/2.0b6/bsh-2.0b6.pom +Progress (1): 729 B Progress (2): 729 B | 794 B Progress (3): 729 B | 794 B | 878 B Progress (3): 729 B | 794 B | 2.2 kB Progress (3): 2.2 kB | 794 B | 2.2 kB Progress (3): 2.2 kB | 2.2 kB | 2.2 kB Progress (3): 2.2 kB | 2.2 kB | 4.9 kB Progress (3): 2.2 kB | 2.2 kB | 5.0 kB Progress (3): 2.2 kB | 4.4 kB | 5.0 kB Progress (3): 2.2 kB | 4.5 kB | 5.0 kB Progress (3): 4.3 kB | 4.5 kB | 5.0 kB Progress (3): 7.8 kB | 4.5 kB | 5.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.1/plexus-utils-4.0.1.pom (7.8 kB at 140 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/file-management/3.1.0/file-management-3.1.0.pom (4.5 kB at 80 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache-extras/beanshell/bsh/2.0b6/bsh-2.0b6.pom (5.0 kB at 88 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/36/maven-shared-components-36.pom +Progress (1): 781 B Progress (1): 2.3 kB Progress (1): 4.5 kB Progress (1): 4.9 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/36/maven-shared-components-36.pom (4.9 kB at 84 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/36/maven-parent-36.pom +Progress (1): 725 B Progress (1): 1.9 kB Progress (1): 5.4 kB Progress (1): 9.7 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 26 kB Progress (1): 28 kB Progress (1): 30 kB Progress (1): 34 kB Progress (1): 37 kB Progress (1): 40 kB Progress (1): 45 kB Progress (1): 45 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/36/maven-parent-36.pom (45 kB at 745 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/26/apache-26.pom +Progress (1): 744 B Progress (1): 2.1 kB Progress (1): 3.9 kB Progress (1): 7.3 kB Progress (1): 12 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 21 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/26/apache-26.pom (21 kB at 380 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.11.0/commons-io-2.11.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.4.2/plexus-utils-3.4.2.pom +Progress (1): 729 B Progress (1): 2.3 kB Progress (1): 4.7 kB Progress (1): 8.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.4.2/plexus-utils-3.4.2.pom (8.2 kB at 168 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/8/plexus-8.pom +Progress (1): 764 B Progress (1): 2.1 kB Progress (1): 5.2 kB Progress (1): 7.8 kB Progress (1): 10 kB Progress (1): 12 kB Progress (1): 15 kB Progress (1): 18 kB Progress (1): 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.11.0/commons-io-2.11.0.pom (20 kB at 365 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/52/commons-parent-52.pom +Progress (1): 696 B Progress (1): 2.7 kB Progress (1): 6.4 kB Progress (1): 9.2 kB Progress (1): 11 kB Progress (1): 15 kB Progress (1): 20 kB Progress (1): 24 kB Progress (1): 25 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/8/plexus-8.pom (25 kB at 489 kB/s) +Progress (1): 703 B Progress (1): 1.8 kB Progress (1): 3.1 kB Progress (1): 4.6 kB Progress (1): 6.7 kB Progress (1): 8.1 kB Progress (1): 10 kB Progress (1): 12 kB Progress (1): 15 kB Progress (1): 17 kB Progress (1): 20 kB Progress (1): 22 kB Progress (1): 25 kB Progress (1): 29 kB Progress (1): 32 kB Progress (1): 32 kB Progress (1): 36 kB Progress (1): 39 kB Progress (1): 42 kB Progress (1): 44 kB Progress (1): 47 kB Progress (1): 51 kB Progress (1): 54 kB Progress (1): 56 kB Progress (1): 61 kB Progress (1): 65 kB Progress (1): 73 kB Progress (1): 76 kB Progress (1): 79 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/52/commons-parent-52.pom (79 kB at 1.3 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/23/apache-23.pom +Progress (1): 749 B Progress (1): 2.1 kB Progress (1): 3.9 kB Progress (1): 7.9 kB Progress (1): 13 kB Progress (1): 16 kB Progress (1): 18 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/23/apache-23.pom (18 kB at 292 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.7.2/junit-bom-5.7.2.pom +Progress (1): 912 B Progress (1): 4.1 kB Progress (1): 5.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.7.2/junit-bom-5.7.2.pom (5.1 kB at 88 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.1/plexus-utils-4.0.1.jar +Progress (1): 7.7/193 kB Progress (1): 11/193 kB Progress (1): 28/193 kB Progress (1): 44/193 kB Progress (1): 61/193 kB Progress (1): 77/193 kB Progress (1): 93/193 kB Progress (1): 110/193 kB Progress (1): 126/193 kB Progress (1): 142/193 kB Progress (1): 159/193 kB Progress (1): 175/193 kB Progress (1): 192/193 kB Progress (1): 193 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.1/plexus-utils-4.0.1.jar (193 kB at 2.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache-extras/beanshell/bsh/2.0b6/bsh-2.0b6.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/file-management/3.1.0/file-management-3.1.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar +Progress (1): 7.7/36 kB Progress (1): 16/36 kB Progress (1): 24/36 kB Progress (1): 36 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/file-management/3.1.0/file-management-3.1.0.jar (36 kB at 661 kB/s) +Progress (1): 7.7/389 kB Progress (1): 7.7/389 kB Progress (1): 24/389 kB Progress (2): 24/389 kB | 7.7/327 kB Progress (2): 24/389 kB | 16/327 kB Progress (2): 40/389 kB | 16/327 kB Progress (2): 57/389 kB | 16/327 kB Progress (2): 57/389 kB | 28/327 kB Progress (2): 73/389 kB | 28/327 kB Progress (2): 90/389 kB | 28/327 kB Progress (2): 106/389 kB | 28/327 kB Progress (2): 106/389 kB | 44/327 kB Progress (2): 122/389 kB | 44/327 kB Progress (2): 122/389 kB | 61/327 kB Progress (2): 139/389 kB | 61/327 kB Progress (2): 155/389 kB | 61/327 kB Progress (2): 172/389 kB | 61/327 kB Progress (2): 188/389 kB | 61/327 kB Progress (2): 188/389 kB | 77/327 kB Progress (2): 204/389 kB | 77/327 kB Progress (2): 221/389 kB | 77/327 kB Progress (2): 221/389 kB | 93/327 kB Progress (2): 237/389 kB | 93/327 kB Progress (2): 253/389 kB | 93/327 kB Progress (2): 253/389 kB | 110/327 kB Progress (2): 270/389 kB | 110/327 kB Progress (2): 286/389 kB | 110/327 kB Progress (2): 286/389 kB | 126/327 kB Progress (2): 303/389 kB | 126/327 kB Progress (2): 319/389 kB | 126/327 kB Progress (2): 319/389 kB | 142/327 kB Progress (2): 335/389 kB | 142/327 kB Progress (2): 335/389 kB | 159/327 kB Progress (2): 352/389 kB | 159/327 kB Progress (2): 368/389 kB | 159/327 kB Progress (2): 368/389 kB | 175/327 kB Progress (2): 385/389 kB | 175/327 kB Progress (2): 389 kB | 175/327 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache-extras/beanshell/bsh/2.0b6/bsh-2.0b6.jar (389 kB at 3.4 MB/s) +Progress (1): 192/327 kB Progress (1): 208/327 kB Progress (1): 224/327 kB Progress (1): 241/327 kB Progress (1): 257/327 kB Progress (1): 274/327 kB Progress (1): 290/327 kB Progress (1): 306/327 kB Progress (1): 323/327 kB Progress (1): 327 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar (327 kB at 2.1 MB/s) +[INFO] Source directory: /home/bailey/github/PolyXML/benchmarks/java/target/generated-sources/polyxml added. +[INFO] +[INFO] --- resources:3.5.0:resources (default-resources) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.6.0/plexus-utils-3.6.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.5.0/maven-filtering-3.5.0.pom +Progress (1): 798 B Progress (1): 2.2 kB Progress (1): 4.5 kB Progress (1): 7.6 kB Progress (2): 7.6 kB | 793 B Progress (2): 7.6 kB | 2.3 kB Progress (2): 7.6 kB | 5.0 kB Progress (2): 7.6 kB | 6.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.6.0/plexus-utils-3.6.0.pom (7.6 kB at 134 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.5.0/maven-filtering-3.5.0.pom (6.2 kB at 108 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/47/maven-shared-components-47.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/19/plexus-19.pom +Progress (1): 988 B Progress (2): 988 B | 810 B Progress (2): 988 B | 2.3 kB Progress (2): 988 B | 3.8 kB Progress (2): 4.2 kB | 3.8 kB Progress (2): 7.6 kB | 3.8 kB Progress (2): 9.4 kB | 3.8 kB Progress (2): 12 kB | 3.8 kB Progress (2): 16 kB | 3.8 kB Progress (2): 19 kB | 3.8 kB Progress (2): 24 kB | 3.8 kB Progress (2): 25 kB | 3.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/19/plexus-19.pom (25 kB at 430 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/47/maven-shared-components-47.pom (3.8 kB at 63 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.1/junit-bom-5.11.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.29/plexus-interpolation-1.29.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-build-api/1.2.0/plexus-build-api-1.2.0.pom +Progress (1): 828 B Progress (2): 828 B | 908 B Progress (3): 828 B | 908 B | 1.3 kB Progress (3): 2.9 kB | 908 B | 1.3 kB Progress (3): 2.9 kB | 908 B | 3.1 kB Progress (3): 2.9 kB | 4.1 kB | 3.1 kB Progress (3): 2.9 kB | 5.6 kB | 3.1 kB Progress (3): 4.7 kB | 5.6 kB | 3.1 kB Progress (3): 4.7 kB | 5.6 kB | 4.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-build-api/1.2.0/plexus-build-api-1.2.0.pom (4.7 kB at 83 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.1/junit-bom-5.11.1.pom (5.6 kB at 97 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.29/plexus-interpolation-1.29.pom (4.7 kB at 83 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/24/plexus-24.pom +Downloading from central: https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M4/org.eclipse.sisu.plexus-0.9.0.M4.pom +Progress (1): 799 B Progress (1): 3.3 kB Progress (1): 7.6 kB Progress (2): 7.6 kB | 612 B Progress (3): 7.6 kB | 612 B | 689 B Progress (3): 7.6 kB | 612 B | 2.5 kB Progress (3): 16 kB | 612 B | 2.5 kB Progress (3): 16 kB | 612 B | 6.4 kB Progress (3): 17 kB | 612 B | 6.4 kB Progress (3): 17 kB | 612 B | 8.8 kB Progress (3): 17 kB | 612 B | 11 kB Progress (3): 17 kB | 612 B | 12 kB Progress (3): 17 kB | 612 B | 16 kB Progress (3): 17 kB | 612 B | 21 kB Progress (3): 17 kB | 612 B | 23 kB Progress (3): 17 kB | 612 B | 28 kB Progress (3): 17 kB | 612 B | 31 kB Downloaded from central: https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.pom (612 B at 11 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M4/org.eclipse.sisu.plexus-0.9.0.M4.pom (17 kB at 305 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/24/plexus-24.pom (31 kB at 541 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/sisu-inject/0.9.0.M4/sisu-inject-0.9.0.M4.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.13.4/junit-bom-5.13.4.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.13.4/junit-bom-5.13.4.pom (5.7 kB at 109 kB/s) +Progress (1): 781 B Progress (1): 2.7 kB Progress (1): 4.6 kB Progress (1): 7.6 kB Progress (1): 11 kB Progress (1): 14 kB Progress (1): 18 kB Progress (1): 22 kB Progress (1): 25 kB Progress (1): 25 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/sisu-inject/0.9.0.M4/sisu-inject-0.9.0.M4.pom (25 kB at 416 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.12.2/junit-bom-5.12.2.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.12.2/junit-bom-5.12.2.pom (5.6 kB at 103 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.5.0/maven-filtering-3.5.0.jar +Progress (1): 7.7/61 kB Progress (1): 16/61 kB Progress (1): 32/61 kB Progress (1): 49/61 kB Progress (1): 61 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-filtering/3.5.0/maven-filtering-3.5.0.jar (61 kB at 992 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.6.0/plexus-utils-3.6.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-build-api/1.2.0/plexus-build-api-1.2.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.29/plexus-interpolation-1.29.jar +Downloading from central: https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M4/org.eclipse.sisu.plexus-0.9.0.M4.jar +Progress (1): 3.2/272 kB Progress (1): 20/272 kB Progress (1): 36/272 kB Progress (1): 52/272 kB Progress (1): 69/272 kB Progress (1): 85/272 kB Progress (2): 85/272 kB | 6.6 kB Progress (3): 85/272 kB | 6.6 kB | 7.3/216 kB Progress (3): 85/272 kB | 6.6 kB | 24/216 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-build-api/1.2.0/plexus-build-api-1.2.0.jar (6.6 kB at 112 kB/s) +Progress (2): 85/272 kB | 32/216 kB Progress (2): 101/272 kB | 32/216 kB Progress (2): 118/272 kB | 32/216 kB Progress (2): 118/272 kB | 48/216 kB Progress (2): 134/272 kB | 48/216 kB Progress (2): 151/272 kB | 48/216 kB Progress (2): 151/272 kB | 65/216 kB Progress (2): 167/272 kB | 65/216 kB Progress (2): 167/272 kB | 81/216 kB Progress (2): 167/272 kB | 97/216 kB Progress (3): 167/272 kB | 97/216 kB | 2.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar (2.5 kB at 35 kB/s) +Progress (2): 167/272 kB | 114/216 kB Progress (2): 183/272 kB | 114/216 kB Progress (2): 200/272 kB | 114/216 kB Progress (2): 200/272 kB | 130/216 kB Progress (2): 216/272 kB | 130/216 kB Progress (2): 216/272 kB | 147/216 kB Progress (2): 233/272 kB | 147/216 kB Progress (2): 249/272 kB | 147/216 kB Progress (2): 249/272 kB | 163/216 kB Progress (3): 249/272 kB | 163/216 kB | 7.7/88 kB Progress (3): 249/272 kB | 163/216 kB | 11/88 kB Progress (3): 265/272 kB | 163/216 kB | 11/88 kB Progress (3): 272 kB | 163/216 kB | 11/88 kB Progress (3): 272 kB | 179/216 kB | 11/88 kB Progress (3): 272 kB | 196/216 kB | 11/88 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.6.0/plexus-utils-3.6.0.jar (272 kB at 3.4 MB/s) +Progress (2): 212/216 kB | 11/88 kB Progress (2): 212/216 kB | 28/88 kB Progress (2): 216 kB | 28/88 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/0.9.0.M4/org.eclipse.sisu.plexus-0.9.0.M4.jar (216 kB at 2.6 MB/s) +Progress (1): 44/88 kB Progress (1): 61/88 kB Progress (1): 77/88 kB Progress (1): 88 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.29/plexus-interpolation-1.29.jar (88 kB at 1.0 MB/s) +[INFO] skip non existing resourceDirectory /home/bailey/github/PolyXML/benchmarks/java/src/main/resources +[INFO] Copying 1 resource from target/generated-sources/jaxb to target/classes +[INFO] Copying 1 resource from target/generated-sources/jaxb to target/classes +[INFO] +[INFO] --- compiler:3.13.0:compile (default-compile) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-manager/2.15.0/plexus-compiler-manager-2.15.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-java/1.2.0/plexus-java-1.2.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.4.2/maven-shared-utils-3.4.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-javac/2.15.0/plexus-compiler-javac-2.15.0.pom +Progress (1): 1.3 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-manager/2.15.0/plexus-compiler-manager-2.15.0.pom (1.3 kB at 24 kB/s) +Progress (1): 806 B Progress (1): 2.3 kB Progress (1): 4.7 kB Progress (2): 4.7 kB | 1.3 kB Progress (3): 4.7 kB | 1.3 kB | 1.9 kB Progress (3): 4.7 kB | 1.3 kB | 4.3 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.pom (4.7 kB at 75 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-java/1.2.0/plexus-java-1.2.0.pom (4.3 kB at 68 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-javac/2.15.0/plexus-compiler-javac-2.15.0.pom (1.3 kB at 23 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-languages/1.2.0/plexus-languages-1.2.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compilers/2.15.0/plexus-compilers-2.15.0.pom +Progress (1): 793 B Progress (1): 2.3 kB Progress (1): 4.3 kB Progress (1): 5.9 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.4.2/maven-shared-utils-3.4.2.pom (5.9 kB at 87 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/39/maven-shared-components-39.pom +Progress (1): 1.6 kB Progress (2): 1.6 kB | 773 B Progress (2): 1.6 kB | 773 B Progress (2): 1.6 kB | 2.4 kB Progress (2): 1.6 kB | 4.2 kB Progress (2): 1.6 kB | 6.4 kB Progress (3): 1.6 kB | 6.4 kB | 1.3 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom (6.4 kB at 114 kB/s) +Progress (2): 1.6 kB | 3.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compilers/2.15.0/plexus-compilers-2.15.0.pom (1.6 kB at 27 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-languages/1.2.0/plexus-languages-1.2.0.pom (3.2 kB at 55 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/23/maven-parent-23.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/15/plexus-15.pom +Progress (1): 812 B Progress (1): 2.2 kB Progress (1): 3.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/39/maven-shared-components-39.pom (3.2 kB at 49 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/39/maven-parent-39.pom +Progress (1): 726 B Progress (1): 2.0 kB Progress (1): 5.9 kB Progress (1): 10 kB Progress (2): 10 kB | 692 B Progress (2): 15 kB | 692 B Progress (2): 15 kB | 2.7 kB Progress (2): 19 kB | 2.7 kB Progress (2): 19 kB | 6.4 kB Progress (2): 22 kB | 6.4 kB Progress (2): 25 kB | 6.4 kB Progress (2): 27 kB | 6.4 kB Progress (2): 31 kB | 6.4 kB Progress (2): 33 kB | 6.4 kB Progress (2): 33 kB | 8.9 kB Progress (2): 33 kB | 11 kB Progress (2): 33 kB | 14 kB Progress (2): 33 kB | 18 kB Progress (2): 33 kB | 21 kB Progress (2): 33 kB | 25 kB Progress (2): 33 kB | 28 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/15/plexus-15.pom (28 kB at 441 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/23/maven-parent-23.pom (33 kB at 517 kB/s) +Progress (1): 724 B Progress (1): 1.9 kB Progress (1): 5.5 kB Progress (1): 9.8 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 26 kB Progress (1): 28 kB Progress (1): 31 kB Progress (1): 34 kB Progress (1): 37 kB Progress (1): 40 kB Progress (1): 43 kB Progress (1): 48 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/39/maven-parent-39.pom (48 kB at 872 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/13/apache-13.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.0/junit-bom-5.10.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/29/apache-29.pom +Progress (1): 812 B Progress (1): 2.3 kB Progress (1): 4.0 kB Progress (1): 8.7 kB Progress (1): 11 kB Progress (1): 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/13/apache-13.pom (14 kB at 254 kB/s) +Progress (1): 741 B Progress (2): 741 B | 913 B Progress (2): 741 B | 4.1 kB Progress (2): 741 B | 5.6 kB Progress (2): 2.1 kB | 5.6 kB Progress (2): 3.9 kB | 5.6 kB Progress (2): 6.9 kB | 5.6 kB Progress (2): 12 kB | 5.6 kB Progress (2): 16 kB | 5.6 kB Progress (2): 19 kB | 5.6 kB Progress (2): 21 kB | 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.10.0/junit-bom-5.10.0.pom (5.6 kB at 103 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/29/apache-29.pom (21 kB at 391 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.6/asm-9.6.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/2.0.3/qdox-2.0.3.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-xml/3.0.0/plexus-xml-3.0.0.pom +Progress (1): 815 B Progress (2): 815 B | 872 B Progress (3): 815 B | 872 B | 1.3 kB Progress (3): 815 B | 872 B | 2.4 kB Progress (3): 2.7 kB | 872 B | 2.4 kB Progress (3): 2.7 kB | 3.4 kB | 2.4 kB Progress (3): 3.7 kB | 3.4 kB | 2.4 kB Progress (3): 3.7 kB | 6.6 kB | 2.4 kB Progress (3): 3.7 kB | 11 kB | 2.4 kB Progress (3): 3.7 kB | 13 kB | 2.4 kB Progress (3): 3.7 kB | 17 kB | 2.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/2.0.3/qdox-2.0.3.pom (17 kB at 331 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.6/asm-9.6.pom (2.4 kB at 44 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-xml/3.0.0/plexus-xml-3.0.0.pom (3.7 kB at 72 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.4.2/maven-shared-utils-3.4.2.jar +Progress (1): 7.7/151 kB Progress (1): 16/151 kB Progress (1): 28/151 kB Progress (1): 44/151 kB Progress (1): 61/151 kB Progress (1): 77/151 kB Progress (1): 93/151 kB Progress (1): 110/151 kB Progress (1): 126/151 kB Progress (1): 142/151 kB Progress (1): 151 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-utils/3.4.2/maven-shared-utils-3.4.2.jar (151 kB at 1.7 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-java/1.2.0/plexus-java-1.2.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-manager/2.15.0/plexus-compiler-manager-2.15.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-javac/2.15.0/plexus-compiler-javac-2.15.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.6/asm-9.6.jar +Progress (1): 7.7/124 kB Progress (1): 11/124 kB Progress (1): 28/124 kB Progress (1): 44/124 kB Progress (2): 44/124 kB | 7.7/26 kB Progress (2): 44/124 kB | 16/26 kB Progress (2): 44/124 kB | 24/26 kB Progress (2): 44/124 kB | 26 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-javac/2.15.0/plexus-compiler-javac-2.15.0.jar (26 kB at 421 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/2.0.3/qdox-2.0.3.jar +Progress (1): 61/124 kB Progress (1): 77/124 kB Progress (2): 77/124 kB | 5.2 kB Progress (3): 77/124 kB | 5.2 kB | 7.7/14 kB Progress (3): 93/124 kB | 5.2 kB | 7.7/14 kB Progress (3): 93/124 kB | 5.2 kB | 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-compiler-manager/2.15.0/plexus-compiler-manager-2.15.0.jar (5.2 kB at 83 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-xml/3.0.0/plexus-xml-3.0.0.jar +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar (14 kB at 215 kB/s) +Progress (1): 110/124 kB Progress (1): 124 kB Progress (2): 124 kB | 7.7/58 kB Progress (2): 124 kB | 12/58 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.6/asm-9.6.jar (124 kB at 2.0 MB/s) +Progress (1): 29/58 kB Progress (1): 33/58 kB Progress (1): 49/58 kB Progress (1): 58 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-java/1.2.0/plexus-java-1.2.0.jar (58 kB at 788 kB/s) +Progress (1): 3.2/93 kB Progress (1): 20/93 kB Progress (2): 20/93 kB | 7.7/334 kB Progress (2): 20/93 kB | 11/334 kB Progress (2): 20/93 kB | 28/334 kB Progress (2): 20/93 kB | 44/334 kB Progress (2): 20/93 kB | 61/334 kB Progress (2): 20/93 kB | 77/334 kB Progress (2): 36/93 kB | 77/334 kB Progress (2): 36/93 kB | 93/334 kB Progress (2): 36/93 kB | 97/334 kB Progress (2): 36/93 kB | 113/334 kB Progress (2): 36/93 kB | 126/334 kB Progress (2): 52/93 kB | 126/334 kB Progress (2): 52/93 kB | 142/334 kB Progress (2): 61/93 kB | 142/334 kB Progress (2): 61/93 kB | 159/334 kB Progress (2): 61/93 kB | 175/334 kB Progress (2): 61/93 kB | 192/334 kB Progress (2): 61/93 kB | 208/334 kB Progress (2): 61/93 kB | 212/334 kB Progress (2): 61/93 kB | 229/334 kB Progress (2): 61/93 kB | 245/334 kB Progress (2): 61/93 kB | 262/334 kB Progress (2): 61/93 kB | 278/334 kB Progress (2): 61/93 kB | 294/334 kB Progress (2): 61/93 kB | 311/334 kB Progress (2): 77/93 kB | 311/334 kB Progress (2): 93 kB | 311/334 kB Progress (2): 93 kB | 327/334 kB Progress (2): 93 kB | 334 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-xml/3.0.0/plexus-xml-3.0.0.jar (93 kB at 650 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/thoughtworks/qdox/qdox/2.0.3/qdox-2.0.3.jar (334 kB at 2.3 MB/s) +[INFO] Recompiling the module because of changed source code. +[INFO] Compiling 14 source files with javac [debug release 22] to target/classes +[INFO] +[INFO] --- resources:3.5.0:testResources (default-testResources) @ java-codegen-benchmarks --- +[INFO] skip non existing resourceDirectory /home/bailey/github/PolyXML/benchmarks/java/src/test/resources +[INFO] +[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ java-codegen-benchmarks --- +[INFO] Recompiling the module because of changed dependency. +[INFO] Compiling 2 source files with javac [debug release 22] to target/test-classes +[INFO] +[INFO] --- surefire:3.5.2:test (default-test) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-extensions-api/3.5.2/surefire-extensions-api-3.5.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-api/3.5.2/surefire-api-3.5.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/3.5.2/maven-surefire-common-3.5.2.pom +Progress (1): 839 B Progress (1): 3.0 kB Progress (1): 3.5 kB Progress (2): 3.5 kB | 824 B Progress (2): 3.5 kB | 4.3 kB Progress (2): 3.5 kB | 7.3 kB Progress (2): 3.5 kB | 7.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-extensions-api/3.5.2/surefire-extensions-api-3.5.2.pom (3.5 kB at 65 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/3.5.2/maven-surefire-common-3.5.2.pom (7.8 kB at 145 kB/s) +Progress (1): 843 B Progress (1): 2.7 kB Progress (1): 3.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-api/3.5.2/surefire-api-3.5.2.pom (3.5 kB at 59 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/3.5.2/surefire-booter-3.5.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.4.0/maven-common-artifact-filters-3.4.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-shared-utils/3.5.2/surefire-shared-utils-3.5.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-logger-api/3.5.2/surefire-logger-api-3.5.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-java/1.3.0/plexus-java-1.3.0.pom +Progress (1): 834 B Progress (1): 3.3 kB Progress (1): 4.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/3.5.2/surefire-booter-3.5.2.pom (4.8 kB at 79 kB/s) +Progress (1): 1.1 kB Progress (2): 1.1 kB | 833 B Progress (2): 1.1 kB | 2.3 kB Progress (2): 1.1 kB | 3.3 kB Progress (3): 1.1 kB | 3.3 kB | 798 B Progress (3): 4.2 kB | 3.3 kB | 798 B Progress (3): 4.2 kB | 3.3 kB | 2.3 kB Progress (3): 4.7 kB | 3.3 kB | 2.3 kB Progress (3): 4.7 kB | 3.3 kB | 5.4 kB Progress (3): 4.7 kB | 3.3 kB | 5.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-logger-api/3.5.2/surefire-logger-api-3.5.2.pom (3.3 kB at 48 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-shared-utils/3.5.2/surefire-shared-utils-3.5.2.pom (4.7 kB at 68 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.4.0/maven-common-artifact-filters-3.4.0.pom (5.4 kB at 77 kB/s) +Progress (1): 1.0 kB Progress (1): 4.5 kB Progress (1): 7.8 kB Progress (1): 13 kB Progress (1): 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-java/1.3.0/plexus-java-1.3.0.pom (14 kB at 191 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/42/maven-shared-components-42.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-extensions-spi/3.5.2/surefire-extensions-spi-3.5.2.pom +Progress (1): 878 B Progress (2): 878 B | 811 B Progress (2): 878 B | 2.3 kB Progress (2): 878 B | 3.8 kB Progress (2): 1.8 kB | 3.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-extensions-spi/3.5.2/surefire-extensions-spi-3.5.2.pom (1.8 kB at 29 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/42/maven-shared-components-42.pom (3.8 kB at 55 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7/asm-9.7.pom +Progress (1): 1.3 kB Progress (1): 2.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7/asm-9.7.pom (2.4 kB at 38 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-api/3.5.2/surefire-api-3.5.2.jar +Progress (1): 7.7/171 kB Progress (1): 16/171 kB Progress (1): 28/171 kB Progress (1): 44/171 kB Progress (1): 61/171 kB Progress (1): 77/171 kB Progress (1): 93/171 kB Progress (1): 110/171 kB Progress (1): 126/171 kB Progress (1): 142/171 kB Progress (1): 159/171 kB Progress (1): 171 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-api/3.5.2/surefire-api-3.5.2.jar (171 kB at 2.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-extensions-api/3.5.2/surefire-extensions-api-3.5.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/3.5.2/maven-surefire-common-3.5.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-logger-api/3.5.2/surefire-logger-api-3.5.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-shared-utils/3.5.2/surefire-shared-utils-3.5.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/3.5.2/surefire-booter-3.5.2.jar +Progress (1): 3.2/311 kB Progress (2): 3.2/311 kB | 3.2/14 kB Progress (2): 20/311 kB | 3.2/14 kB Progress (2): 36/311 kB | 3.2/14 kB Progress (2): 52/311 kB | 3.2/14 kB Progress (3): 52/311 kB | 3.2/14 kB | 7.7/26 kB Progress (3): 52/311 kB | 3.2/14 kB | 12/26 kB Progress (3): 52/311 kB | 3.2/14 kB | 26 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-extensions-api/3.5.2/surefire-extensions-api-3.5.2.jar (26 kB at 309 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.4.0/maven-common-artifact-filters-3.4.0.jar +Progress (2): 52/311 kB | 14 kB Progress (2): 69/311 kB | 14 kB Progress (2): 85/311 kB | 14 kB Progress (2): 101/311 kB | 14 kB Progress (3): 101/311 kB | 14 kB | 7.7/118 kB Progress (3): 101/311 kB | 14 kB | 16/118 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-logger-api/3.5.2/surefire-logger-api-3.5.2.jar (14 kB at 145 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-java/1.3.0/plexus-java-1.3.0.jar +Progress (2): 101/311 kB | 32/118 kB Progress (2): 118/311 kB | 32/118 kB Progress (2): 134/311 kB | 32/118 kB Progress (2): 151/311 kB | 32/118 kB Progress (2): 167/311 kB | 32/118 kB Progress (2): 167/311 kB | 49/118 kB Progress (2): 183/311 kB | 49/118 kB Progress (2): 200/311 kB | 49/118 kB Progress (2): 216/311 kB | 49/118 kB Progress (2): 233/311 kB | 49/118 kB Progress (2): 233/311 kB | 65/118 kB Progress (2): 249/311 kB | 65/118 kB Progress (2): 265/311 kB | 65/118 kB Progress (2): 265/311 kB | 81/118 kB Progress (2): 282/311 kB | 81/118 kB Progress (2): 298/311 kB | 81/118 kB Progress (2): 311 kB | 81/118 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/3.5.2/maven-surefire-common-3.5.2.jar (311 kB at 2.0 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-extensions-spi/3.5.2/surefire-extensions-spi-3.5.2.jar +Progress (1): 98/118 kB Progress (1): 114/118 kB Progress (1): 118 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/3.5.2/surefire-booter-3.5.2.jar (118 kB at 701 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7/asm-9.7.jar +Progress (1): 0/2.8 MB Progress (1): 0/2.8 MB Progress (1): 0/2.8 MB Progress (1): 0/2.8 MB Progress (1): 0.1/2.8 MB Progress (1): 0.1/2.8 MB Progress (1): 0.1/2.8 MB Progress (1): 0.1/2.8 MB Progress (1): 0.1/2.8 MB Progress (1): 0.1/2.8 MB Progress (1): 0.2/2.8 MB Progress (1): 0.2/2.8 MB Progress (1): 0.2/2.8 MB Progress (1): 0.2/2.8 MB Progress (1): 0.2/2.8 MB Progress (1): 0.2/2.8 MB Progress (1): 0.3/2.8 MB Progress (1): 0.3/2.8 MB Progress (1): 0.3/2.8 MB Progress (1): 0.3/2.8 MB Progress (1): 0.3/2.8 MB Progress (1): 0.3/2.8 MB Progress (1): 0.4/2.8 MB Progress (1): 0.4/2.8 MB Progress (1): 0.4/2.8 MB Progress (1): 0.4/2.8 MB Progress (1): 0.4/2.8 MB Progress (1): 0.4/2.8 MB Progress (1): 0.5/2.8 MB Progress (1): 0.5/2.8 MB Progress (1): 0.5/2.8 MB Progress (1): 0.5/2.8 MB Progress (1): 0.5/2.8 MB Progress (1): 0.5/2.8 MB Progress (1): 0.6/2.8 MB Progress (1): 0.6/2.8 MB Progress (1): 0.6/2.8 MB Progress (1): 0.6/2.8 MB Progress (1): 0.6/2.8 MB Progress (1): 0.6/2.8 MB Progress (1): 0.7/2.8 MB Progress (1): 0.7/2.8 MB Progress (1): 0.7/2.8 MB Progress (1): 0.7/2.8 MB Progress (1): 0.7/2.8 MB Progress (1): 0.7/2.8 MB Progress (1): 0.7/2.8 MB Progress (1): 0.8/2.8 MB Progress (1): 0.8/2.8 MB Progress (1): 0.8/2.8 MB Progress (1): 0.8/2.8 MB Progress (1): 0.8/2.8 MB Progress (1): 0.8/2.8 MB Progress (1): 0.9/2.8 MB Progress (1): 0.9/2.8 MB Progress (1): 0.9/2.8 MB Progress (1): 0.9/2.8 MB Progress (1): 0.9/2.8 MB Progress (1): 0.9/2.8 MB Progress (1): 1.0/2.8 MB Progress (1): 1.0/2.8 MB Progress (1): 1.0/2.8 MB Progress (1): 1.0/2.8 MB Progress (1): 1.0/2.8 MB Progress (1): 1.0/2.8 MB Progress (1): 1.1/2.8 MB Progress (1): 1.1/2.8 MB Progress (1): 1.1/2.8 MB Progress (1): 1.1/2.8 MB Progress (1): 1.1/2.8 MB Progress (1): 1.1/2.8 MB Progress (1): 1.1/2.8 MB Progress (1): 1.2/2.8 MB Progress (1): 1.2/2.8 MB Progress (1): 1.2/2.8 MB Progress (1): 1.2/2.8 MB Progress (1): 1.2/2.8 MB Progress (1): 1.2/2.8 MB Progress (1): 1.3/2.8 MB Progress (1): 1.3/2.8 MB Progress (1): 1.3/2.8 MB Progress (1): 1.3/2.8 MB Progress (1): 1.3/2.8 MB Progress (1): 1.3/2.8 MB Progress (1): 1.3/2.8 MB Progress (1): 1.3/2.8 MB Progress (1): 1.4/2.8 MB Progress (1): 1.4/2.8 MB Progress (1): 1.4/2.8 MB Progress (1): 1.4/2.8 MB Progress (1): 1.4/2.8 MB Progress (1): 1.4/2.8 MB Progress (1): 1.5/2.8 MB Progress (1): 1.5/2.8 MB Progress (1): 1.5/2.8 MB Progress (1): 1.5/2.8 MB Progress (1): 1.5/2.8 MB Progress (1): 1.5/2.8 MB Progress (1): 1.6/2.8 MB Progress (1): 1.6/2.8 MB Progress (1): 1.6/2.8 MB Progress (1): 1.6/2.8 MB Progress (1): 1.6/2.8 MB Progress (1): 1.6/2.8 MB Progress (1): 1.7/2.8 MB Progress (1): 1.7/2.8 MB Progress (1): 1.7/2.8 MB Progress (1): 1.7/2.8 MB Progress (1): 1.7/2.8 MB Progress (1): 1.7/2.8 MB Progress (1): 1.8/2.8 MB Progress (1): 1.8/2.8 MB Progress (1): 1.8/2.8 MB Progress (1): 1.8/2.8 MB Progress (1): 1.8/2.8 MB Progress (1): 1.8/2.8 MB Progress (1): 1.9/2.8 MB Progress (1): 1.9/2.8 MB Progress (1): 1.9/2.8 MB Progress (1): 1.9/2.8 MB Progress (1): 1.9/2.8 MB Progress (2): 1.9/2.8 MB | 3.2/57 kB Progress (3): 1.9/2.8 MB | 3.2/57 kB | 7.7/58 kB Progress (3): 1.9/2.8 MB | 3.2/57 kB | 16/58 kB Progress (3): 1.9/2.8 MB | 3.2/57 kB | 16/58 kB Progress (3): 1.9/2.8 MB | 3.2/57 kB | 24/58 kB Progress (3): 2.0/2.8 MB | 3.2/57 kB | 24/58 kB Progress (3): 2.0/2.8 MB | 3.2/57 kB | 40/58 kB Progress (3): 2.0/2.8 MB | 3.2/57 kB | 40/58 kB Progress (3): 2.0/2.8 MB | 3.2/57 kB | 40/58 kB Progress (3): 2.0/2.8 MB | 3.2/57 kB | 57/58 kB Progress (3): 2.0/2.8 MB | 3.2/57 kB | 57/58 kB Progress (3): 2.0/2.8 MB | 3.2/57 kB | 58 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.4.0/maven-common-artifact-filters-3.4.0.jar (58 kB at 235 kB/s) +Progress (2): 2.0/2.8 MB | 20/57 kB Progress (2): 2.0/2.8 MB | 20/57 kB Progress (2): 2.0/2.8 MB | 20/57 kB Progress (2): 2.1/2.8 MB | 20/57 kB Progress (2): 2.1/2.8 MB | 36/57 kB Progress (2): 2.1/2.8 MB | 36/57 kB Progress (2): 2.1/2.8 MB | 36/57 kB Progress (2): 2.1/2.8 MB | 52/57 kB Progress (2): 2.1/2.8 MB | 52/57 kB Progress (2): 2.1/2.8 MB | 57 kB Progress (2): 2.1/2.8 MB | 57 kB Progress (2): 2.1/2.8 MB | 57 kB Progress (2): 2.2/2.8 MB | 57 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-java/1.3.0/plexus-java-1.3.0.jar (57 kB at 214 kB/s) +Progress (1): 2.2/2.8 MB Progress (1): 2.2/2.8 MB Progress (1): 2.2/2.8 MB Progress (1): 2.2/2.8 MB Progress (1): 2.2/2.8 MB Progress (1): 2.2/2.8 MB Progress (1): 2.3/2.8 MB Progress (1): 2.3/2.8 MB Progress (1): 2.3/2.8 MB Progress (1): 2.3/2.8 MB Progress (1): 2.3/2.8 MB Progress (1): 2.3/2.8 MB Progress (1): 2.4/2.8 MB Progress (1): 2.4/2.8 MB Progress (1): 2.4/2.8 MB Progress (1): 2.4/2.8 MB Progress (1): 2.4/2.8 MB Progress (1): 2.4/2.8 MB Progress (1): 2.5/2.8 MB Progress (1): 2.5/2.8 MB Progress (1): 2.5/2.8 MB Progress (1): 2.5/2.8 MB Progress (1): 2.5/2.8 MB Progress (1): 2.5/2.8 MB Progress (1): 2.6/2.8 MB Progress (1): 2.6/2.8 MB Progress (1): 2.6/2.8 MB Progress (1): 2.6/2.8 MB Progress (1): 2.6/2.8 MB Progress (1): 2.6/2.8 MB Progress (1): 2.7/2.8 MB Progress (1): 2.7/2.8 MB Progress (1): 2.7/2.8 MB Progress (1): 2.7/2.8 MB Progress (1): 2.7/2.8 MB Progress (1): 2.7/2.8 MB Progress (1): 2.8/2.8 MB Progress (1): 2.8/2.8 MB Progress (2): 2.8/2.8 MB | 7.7/125 kB Progress (2): 2.8/2.8 MB | 7.7/125 kB Progress (2): 2.8/2.8 MB | 11/125 kB Progress (2): 2.8/2.8 MB | 11/125 kB Progress (2): 2.8/2.8 MB | 11/125 kB Progress (2): 2.8 MB | 11/125 kB Progress (2): 2.8 MB | 28/125 kB Progress (2): 2.8 MB | 44/125 kB Progress (3): 2.8 MB | 44/125 kB | 7.7/8.2 kB Progress (3): 2.8 MB | 44/125 kB | 8.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-shared-utils/3.5.2/surefire-shared-utils-3.5.2.jar (2.8 MB at 7.7 MB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-extensions-spi/3.5.2/surefire-extensions-spi-3.5.2.jar (8.2 kB at 22 kB/s) +Progress (1): 61/125 kB Progress (1): 77/125 kB Progress (1): 93/125 kB Progress (1): 110/125 kB Progress (1): 125 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7/asm-9.7.jar (125 kB at 329 kB/s) +[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit-platform/3.5.2/surefire-junit-platform-3.5.2.pom +Progress (1): 839 B Progress (1): 3.1 kB Progress (1): 5.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit-platform/3.5.2/surefire-junit-platform-3.5.2.pom (5.7 kB at 100 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-providers/3.5.2/surefire-providers-3.5.2.pom +Progress (1): 854 B Progress (1): 2.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-providers/3.5.2/surefire-providers-3.5.2.pom (2.6 kB at 49 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.9.3/junit-platform-engine-1.9.3.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/common-java5/3.5.2/common-java5-3.5.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.9.3/junit-platform-launcher-1.9.3.pom +Progress (1): 854 B Progress (2): 854 B | 966 B Progress (3): 854 B | 966 B | 957 B Progress (3): 2.6 kB | 966 B | 957 B Progress (3): 2.6 kB | 3.0 kB | 957 B Progress (3): 2.6 kB | 3.0 kB | 3.2 kB Progress (3): 2.8 kB | 3.0 kB | 3.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.9.3/junit-platform-launcher-1.9.3.pom (3.0 kB at 47 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/common-java5/3.5.2/common-java5-3.5.2.pom (2.8 kB at 42 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.9.3/junit-platform-engine-1.9.3.pom (3.2 kB at 49 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.9.3/junit-platform-commons-1.9.3.pom +Progress (1): 971 B Progress (2): 971 B | 1.2 kB Progress (2): 2.8 kB | 1.2 kB Progress (2): 2.8 kB | 1.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.pom (1.7 kB at 31 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.9.3/junit-platform-commons-1.9.3.pom (2.8 kB at 52 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit-platform/3.5.2/surefire-junit-platform-3.5.2.jar +Progress (1): 7.7/27 kB Progress (1): 11/27 kB Progress (1): 27 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-junit-platform/3.5.2/surefire-junit-platform-3.5.2.jar (27 kB at 498 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/common-java5/3.5.2/common-java5-3.5.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.9.3/junit-platform-engine-1.9.3.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.9.3/junit-platform-launcher-1.9.3.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.9.3/junit-platform-commons-1.9.3.jar +Progress (1): 7.7/189 kB Progress (1): 11/189 kB Progress (2): 11/189 kB | 3.2/103 kB Progress (2): 28/189 kB | 3.2/103 kB Progress (2): 28/189 kB | 20/103 kB Progress (2): 28/189 kB | 28/103 kB Progress (2): 28/189 kB | 44/103 kB Progress (2): 44/189 kB | 44/103 kB Progress (2): 61/189 kB | 44/103 kB Progress (2): 61/189 kB | 61/103 kB Progress (2): 61/189 kB | 77/103 kB Progress (2): 77/189 kB | 77/103 kB Progress (2): 93/189 kB | 77/103 kB Progress (2): 93/189 kB | 93/103 kB Progress (2): 97/189 kB | 93/103 kB Progress (2): 97/189 kB | 103 kB Progress (2): 113/189 kB | 103 kB Progress (2): 126/189 kB | 103 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-commons/1.9.3/junit-platform-commons-1.9.3.jar (103 kB at 1.4 MB/s) +Progress (1): 142/189 kB Progress (2): 142/189 kB | 7.7/169 kB Progress (3): 142/189 kB | 7.7/169 kB | 3.2/7.7 kB Progress (3): 142/189 kB | 16/169 kB | 3.2/7.7 kB Progress (3): 142/189 kB | 16/169 kB | 7.7 kB Progress (3): 142/189 kB | 24/169 kB | 7.7 kB Progress (3): 159/189 kB | 24/169 kB | 7.7 kB Progress (3): 159/189 kB | 40/169 kB | 7.7 kB Progress (3): 175/189 kB | 40/169 kB | 7.7 kB Progress (3): 189 kB | 40/169 kB | 7.7 kB Progress (3): 189 kB | 57/169 kB | 7.7 kB Progress (4): 189 kB | 57/169 kB | 7.7 kB | 7.7/18 kB Progress (4): 189 kB | 57/169 kB | 7.7 kB | 7.7/18 kB Progress (4): 189 kB | 73/169 kB | 7.7 kB | 7.7/18 kB Progress (4): 189 kB | 90/169 kB | 7.7 kB | 7.7/18 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar (7.7 kB at 94 kB/s) +Progress (3): 189 kB | 106/169 kB | 7.7/18 kB Progress (3): 189 kB | 106/169 kB | 18 kB Progress (3): 189 kB | 122/169 kB | 18 kB Progress (3): 189 kB | 139/169 kB | 18 kB Progress (3): 189 kB | 155/169 kB | 18 kB Progress (3): 189 kB | 169 kB | 18 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-engine/1.9.3/junit-platform-engine-1.9.3.jar (189 kB at 2.3 MB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/common-java5/3.5.2/common-java5-3.5.2.jar (18 kB at 212 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.9.3/junit-platform-launcher-1.9.3.jar (169 kB at 2.1 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.11.4/junit-platform-launcher-1.11.4.pom +Progress (1): 967 B Progress (1): 3.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.11.4/junit-platform-launcher-1.11.4.pom (3.0 kB at 51 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.11.4/junit-platform-launcher-1.11.4.jar +Progress (1): 7.7/189 kB Progress (1): 16/189 kB Progress (1): 28/189 kB Progress (1): 44/189 kB Progress (1): 60/189 kB Progress (1): 77/189 kB Progress (1): 93/189 kB Progress (1): 110/189 kB Progress (1): 126/189 kB Progress (1): 142/189 kB Progress (1): 159/189 kB Progress (1): 175/189 kB Progress (1): 189 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/platform/junit-platform-launcher/1.11.4/junit-platform-launcher-1.11.4.jar (189 kB at 2.3 MB/s) +[INFO] +[INFO] ------------------------------------------------------- +[INFO] T E S T S +[INFO] ------------------------------------------------------- +[INFO] Running io.polyxml.bench.BindingTest +fixture: workload=settlement,batch=2,input_bytes=4774,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +fixture: workload=telemetry,batch=2,input_bytes=1174,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.396 s -- in io.polyxml.bench.BindingTest +[INFO] Running io.polyxml.bench.JacksonModelTest +[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.033 s -- in io.polyxml.bench.JacksonModelTest +[INFO] +[INFO] Results: +[INFO] +[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 +[INFO] +[INFO] +[INFO] --- jar:3.5.1:jar (default-jar) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.12.0/plexus-archiver-4.12.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.6.6/maven-archiver-3.6.6.pom +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.22.0/commons-io-2.22.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/file-management/3.2.0/file-management-3.2.0.pom +Progress (1): 793 B Progress (1): 2.3 kB Progress (1): 4.4 kB Progress (1): 4.5 kB Progress (2): 4.5 kB | 1.2 kB Progress (2): 4.5 kB | 4.3 kB Progress (2): 4.5 kB | 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/file-management/3.2.0/file-management-3.2.0.pom (4.5 kB at 86 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/44/maven-shared-components-44.pom +Progress (2): 5.6 kB | 793 B Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.12.0/plexus-archiver-4.12.0.pom (5.6 kB at 99 kB/s) +Progress (1): 2.3 kB Progress (2): 2.3 kB | 761 B Progress (2): 5.2 kB | 761 B Progress (2): 5.2 kB | 2.0 kB Progress (2): 5.2 kB | 2.0 kB Progress (2): 5.2 kB | 4.6 kB Progress (2): 5.2 kB | 6.6 kB Progress (2): 5.2 kB | 8.8 kB Progress (2): 5.2 kB | 12 kB Progress (2): 5.2 kB | 15 kB Progress (2): 5.2 kB | 18 kB Progress (2): 5.2 kB | 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.6.6/maven-archiver-3.6.6.pom (5.2 kB at 90 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.22.0/commons-io-2.22.0.pom (20 kB at 350 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/25/plexus-25.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/98/commons-parent-98.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/45/maven-shared-components-45.pom +Progress (1): 810 B Progress (1): 2.3 kB Progress (1): 3.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/44/maven-shared-components-44.pom (3.8 kB at 76 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.19.0/commons-io-2.19.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.3/plexus-utils-4.0.3.pom +Progress (1): 690 B Progress (2): 690 B | 810 B Progress (3): 690 B | 810 B | 701 B Progress (3): 690 B | 2.3 kB | 701 B Progress (3): 2.5 kB | 2.3 kB | 701 B Progress (3): 2.5 kB | 2.3 kB | 1.9 kB Progress (3): 2.5 kB | 3.8 kB | 1.9 kB Progress (3): 2.5 kB | 3.8 kB | 3.2 kB Progress (3): 6.4 kB | 3.8 kB | 3.2 kB Progress (3): 6.4 kB | 3.8 kB | 4.7 kB Progress (3): 8.8 kB | 3.8 kB | 4.7 kB Progress (3): 8.8 kB | 3.8 kB | 6.8 kB Progress (3): 11 kB | 3.8 kB | 6.8 kB Progress (3): 11 kB | 3.8 kB | 9.4 kB Progress (3): 12 kB | 3.8 kB | 9.4 kB Progress (3): 12 kB | 3.8 kB | 11 kB Progress (3): 17 kB | 3.8 kB | 11 kB Progress (3): 17 kB | 3.8 kB | 14 kB Progress (3): 17 kB | 3.8 kB | 16 kB Progress (3): 21 kB | 3.8 kB | 16 kB Progress (3): 21 kB | 3.8 kB | 19 kB Progress (3): 21 kB | 3.8 kB | 21 kB Progress (3): 21 kB | 3.8 kB | 23 kB Progress (3): 21 kB | 3.8 kB | 25 kB Progress (3): 23 kB | 3.8 kB | 25 kB Progress (3): 23 kB | 3.8 kB | 29 kB Progress (3): 23 kB | 3.8 kB | 32 kB Progress (3): 28 kB | 3.8 kB | 32 kB Progress (3): 28 kB | 3.8 kB | 32 kB Progress (3): 31 kB | 3.8 kB | 32 kB Progress (3): 31 kB | 3.8 kB | 37 kB Progress (3): 31 kB | 3.8 kB | 41 kB Progress (3): 31 kB | 3.8 kB | 44 kB Progress (3): 31 kB | 3.8 kB | 46 kB Progress (3): 31 kB | 3.8 kB | 50 kB Progress (3): 31 kB | 3.8 kB | 52 kB Progress (3): 31 kB | 3.8 kB | 56 kB Progress (3): 31 kB | 3.8 kB | 58 kB Progress (3): 31 kB | 3.8 kB | 60 kB Progress (3): 31 kB | 3.8 kB | 63 kB Progress (3): 31 kB | 3.8 kB | 67 kB Progress (3): 31 kB | 3.8 kB | 70 kB Progress (3): 31 kB | 3.8 kB | 73 kB Progress (3): 31 kB | 3.8 kB | 75 kB Progress (3): 31 kB | 3.8 kB | 78 kB Progress (3): 31 kB | 3.8 kB | 80 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/45/maven-shared-components-45.pom (3.8 kB at 59 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/25/plexus-25.pom (31 kB at 483 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/98/commons-parent-98.pom (80 kB at 1.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/45/maven-parent-45.pom +Progress (1): 763 B Progress (2): 763 B | 1.0 kB Progress (2): 2.1 kB | 1.0 kB Progress (2): 2.1 kB | 3.0 kB Progress (2): 2.1 kB | 6.8 kB Progress (2): 4.7 kB | 6.8 kB Progress (2): 6.7 kB | 6.8 kB Progress (2): 8.9 kB | 6.8 kB Progress (2): 12 kB | 6.8 kB Progress (2): 14 kB | 6.8 kB Progress (2): 18 kB | 6.8 kB Progress (2): 20 kB | 6.8 kB Progress (2): 21 kB | 6.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.19.0/commons-io-2.19.0.pom (21 kB at 375 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.3/plexus-utils-4.0.3.pom (6.8 kB at 123 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/81/commons-parent-81.pom +Progress (1): 708 B Progress (1): 1.9 kB Progress (1): 5.5 kB Progress (1): 9.7 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 27 kB Progress (1): 28 kB Progress (1): 32 kB Progress (1): 35 kB Progress (1): 38 kB Progress (1): 41 kB Progress (1): 44 kB Progress (1): 48 kB Progress (1): 48 kB Progress (1): 53 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/45/maven-parent-45.pom (53 kB at 896 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/35/apache-35.pom +Progress (1): 701 B Progress (1): 1.9 kB Progress (1): 3.2 kB Progress (1): 4.7 kB Progress (1): 6.8 kB Progress (1): 9.2 kB Progress (1): 11 kB Progress (1): 13 kB Progress (1): 16 kB Progress (1): 18 kB Progress (1): 21 kB Progress (1): 23 kB Progress (1): 25 kB Progress (1): 29 kB Progress (1): 32 kB Progress (1): 32 kB Progress (1): 37 kB Progress (1): 41 kB Progress (1): 45 kB Progress (1): 47 kB Progress (1): 50 kB Progress (1): 52 kB Progress (1): 56 kB Progress (1): 58 kB Progress (1): 61 kB Progress (1): 64 kB Progress (1): 69 kB Progress (1): 71 kB Progress (1): 74 kB Progress (1): 76 kB Progress (1): 78 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/81/commons-parent-81.pom (78 kB at 1.3 MB/s) +Progress (1): 739 B Progress (1): 2.1 kB Progress (1): 4.0 kB Progress (1): 5.9 kB Progress (1): 11 kB Progress (1): 15 kB Progress (1): 19 kB Progress (1): 22 kB Progress (1): 24 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/35/apache-35.pom (24 kB at 391 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.13.1/junit-bom-5.13.1.pom +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.13.1/junit-bom-5.13.1.pom (5.6 kB at 90 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.10.4/plexus-archiver-4.10.4.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.28.0/commons-compress-1.28.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.12/xz-1.12.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.6.0/plexus-io-3.6.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/com/github/luben/zstd-jni/1.5.7-9/zstd-jni-1.5.7-9.pom +Progress (1): 750 B Progress (1): 1.9 kB Progress (1): 3.7 kB Progress (1): 5.3 kB Progress (1): 9.1 kB Progress (1): 11 kB Progress (1): 14 kB Progress (1): 17 kB Progress (1): 22 kB Progress (1): 25 kB Progress (1): 25 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.28.0/commons-compress-1.28.0.pom (25 kB at 452 kB/s) +Progress (1): 1.2 kB Progress (1): 3.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.6.0/plexus-io-3.6.0.pom (3.5 kB at 59 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/85/commons-parent-85.pom +Progress (1): 1.1 kB Progress (1): 1.9 kB Progress (2): 1.9 kB | 1.1 kB Progress (2): 1.9 kB | 2.0 kB Progress (3): 1.9 kB | 2.0 kB | 1.2 kB Progress (3): 1.9 kB | 2.0 kB | 4.2 kB Progress (3): 1.9 kB | 2.0 kB | 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.12/xz-1.12.pom (1.9 kB at 31 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.10.4/plexus-archiver-4.10.4.pom (5.6 kB at 88 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/github/luben/zstd-jni/1.5.7-9/zstd-jni-1.5.7-9.pom (2.0 kB at 31 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.20.0/commons-io-2.20.0.pom +Progress (1): 702 B Progress (1): 1.9 kB Progress (1): 3.2 kB Progress (1): 4.7 kB Progress (1): 6.8 kB Progress (1): 9.4 kB Progress (1): 11 kB Progress (1): 14 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 21 kB Progress (1): 23 kB Progress (1): 25 kB Progress (1): 29 kB Progress (1): 32 kB Progress (1): 32 kB Progress (1): 37 kB Progress (1): 41 kB Progress (1): 45 kB Progress (1): 47 kB Progress (1): 50 kB Progress (1): 52 kB Progress (1): 56 kB Progress (1): 58 kB Progress (1): 61 kB Progress (1): 64 kB Progress (1): 69 kB Progress (1): 71 kB Progress (1): 74 kB Progress (1): 76 kB Progress (1): 78 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/85/commons-parent-85.pom (78 kB at 1.4 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.19.0/commons-codec-1.19.0.pom +Progress (1): 761 B Progress (1): 2.0 kB Progress (1): 4.8 kB Progress (1): 6.6 kB Progress (1): 8.8 kB Progress (1): 12 kB Progress (1): 14 kB Progress (1): 18 kB Progress (1): 20 kB Progress (1): 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.20.0/commons-io-2.20.0.pom (20 kB at 301 kB/s) +Progress (1): 743 B Progress (1): 1.8 kB Progress (1): 4.1 kB Progress (1): 5.7 kB Progress (1): 7.6 kB Progress (1): 9.7 kB Progress (1): 12 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 22 kB Progress (1): 25 kB Progress (1): 29 kB Progress (1): 32 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.pom (32 kB at 525 kB/s) +Progress (1): 739 B Progress (1): 1.9 kB Progress (1): 4.0 kB Progress (1): 5.7 kB Progress (1): 8.2 kB Progress (1): 11 kB Progress (1): 14 kB Progress (1): 17 kB Progress (1): 18 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.19.0/commons-codec-1.19.0.pom (18 kB at 281 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/file-management/3.2.0/file-management-3.2.0.jar +Progress (1): 7.7/26 kB Progress (1): 11/26 kB Progress (1): 26 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/file-management/3.2.0/file-management-3.2.0.jar (26 kB at 432 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.6.6/maven-archiver-3.6.6.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.12.0/plexus-archiver-4.12.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.22.0/commons-io-2.22.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.3/plexus-utils-4.0.3.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.6.0/plexus-io-3.6.0.jar +Progress (1): 7.7/193 kB Progress (1): 16/193 kB Progress (1): 32/193 kB Progress (1): 49/193 kB Progress (1): 57/193 kB Progress (1): 73/193 kB Progress (1): 90/193 kB Progress (1): 106/193 kB Progress (1): 122/193 kB Progress (1): 139/193 kB Progress (2): 139/193 kB | 7.7/227 kB Progress (3): 139/193 kB | 7.7/227 kB | 7.7/28 kB Progress (3): 139/193 kB | 7.7/227 kB | 7.7/28 kB Progress (3): 139/193 kB | 7.7/227 kB | 16/28 kB Progress (3): 155/193 kB | 7.7/227 kB | 16/28 kB Progress (3): 155/193 kB | 7.7/227 kB | 24/28 kB Progress (3): 155/193 kB | 7.7/227 kB | 28 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.6.6/maven-archiver-3.6.6.jar (28 kB at 350 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.28.0/commons-compress-1.28.0.jar +Progress (2): 172/193 kB | 7.7/227 kB Progress (2): 188/193 kB | 7.7/227 kB Progress (2): 193 kB | 7.7/227 kB Progress (3): 193 kB | 7.7/227 kB | 7.7/80 kB Progress (3): 193 kB | 7.7/227 kB | 16/80 kB Progress (3): 193 kB | 7.7/227 kB | 28/80 kB Progress (3): 193 kB | 7.7/227 kB | 44/80 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/4.0.3/plexus-utils-4.0.3.jar (193 kB at 2.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.12/xz-1.12.jar +Progress (2): 24/227 kB | 44/80 kB Progress (2): 24/227 kB | 61/80 kB Progress (2): 24/227 kB | 77/80 kB Progress (2): 24/227 kB | 80 kB Progress (3): 24/227 kB | 80 kB | 7.7/609 kB Progress (3): 24/227 kB | 80 kB | 16/609 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/3.6.0/plexus-io-3.6.0.jar (80 kB at 882 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/github/luben/zstd-jni/1.5.7-9/zstd-jni-1.5.7-9.jar +Progress (2): 40/227 kB | 16/609 kB Progress (2): 40/227 kB | 32/609 kB Progress (2): 40/227 kB | 49/609 kB Progress (2): 40/227 kB | 65/609 kB Progress (2): 57/227 kB | 65/609 kB Progress (2): 57/227 kB | 81/609 kB Progress (2): 57/227 kB | 98/609 kB Progress (2): 57/227 kB | 114/609 kB Progress (2): 73/227 kB | 114/609 kB Progress (2): 90/227 kB | 114/609 kB Progress (2): 90/227 kB | 131/609 kB Progress (2): 90/227 kB | 147/609 kB Progress (2): 90/227 kB | 163/609 kB Progress (2): 106/227 kB | 163/609 kB Progress (2): 106/227 kB | 180/609 kB Progress (2): 106/227 kB | 196/609 kB Progress (2): 106/227 kB | 212/609 kB Progress (2): 122/227 kB | 212/609 kB Progress (2): 122/227 kB | 229/609 kB Progress (2): 122/227 kB | 245/609 kB Progress (2): 122/227 kB | 262/609 kB Progress (2): 122/227 kB | 278/609 kB Progress (2): 122/227 kB | 294/609 kB Progress (2): 139/227 kB | 294/609 kB Progress (2): 139/227 kB | 311/609 kB Progress (2): 155/227 kB | 311/609 kB Progress (2): 155/227 kB | 327/609 kB Progress (2): 172/227 kB | 327/609 kB Progress (2): 188/227 kB | 327/609 kB Progress (2): 204/227 kB | 327/609 kB Progress (2): 221/227 kB | 327/609 kB Progress (2): 227 kB | 327/609 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.12.0/plexus-archiver-4.12.0.jar (227 kB at 1.7 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.19.0/commons-codec-1.19.0.jar +Progress (1): 344/609 kB Progress (1): 360/609 kB Progress (1): 376/609 kB Progress (1): 393/609 kB Progress (1): 409/609 kB Progress (1): 425/609 kB Progress (1): 442/609 kB Progress (2): 442/609 kB | 7.7/169 kB Progress (2): 442/609 kB | 12/169 kB Progress (2): 442/609 kB | 29/169 kB Progress (2): 442/609 kB | 45/169 kB Progress (2): 442/609 kB | 61/169 kB Progress (2): 442/609 kB | 78/169 kB Progress (2): 455/609 kB | 78/169 kB Progress (2): 458/609 kB | 78/169 kB Progress (2): 458/609 kB | 94/169 kB Progress (2): 458/609 kB | 111/169 kB Progress (3): 458/609 kB | 111/169 kB | 0/7.6 MB Progress (4): 458/609 kB | 111/169 kB | 0/7.6 MB | 0/1.1 MB Progress (4): 458/609 kB | 111/169 kB | 0/7.6 MB | 0/1.1 MB Progress (4): 458/609 kB | 111/169 kB | 0/7.6 MB | 0/1.1 MB Progress (4): 458/609 kB | 111/169 kB | 0/7.6 MB | 0/1.1 MB Progress (4): 458/609 kB | 111/169 kB | 0/7.6 MB | 0/1.1 MB Progress (4): 458/609 kB | 111/169 kB | 0/7.6 MB | 0/1.1 MB Progress (4): 458/609 kB | 111/169 kB | 0.1/7.6 MB | 0/1.1 MB Progress (4): 458/609 kB | 111/169 kB | 0.1/7.6 MB | 0/1.1 MB Progress (4): 458/609 kB | 127/169 kB | 0.1/7.6 MB | 0/1.1 MB Progress (4): 458/609 kB | 127/169 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (4): 458/609 kB | 127/169 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (4): 458/609 kB | 143/169 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (4): 475/609 kB | 143/169 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (4): 475/609 kB | 160/169 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (4): 475/609 kB | 160/169 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (4): 475/609 kB | 169 kB | 0.1/7.6 MB | 0.1/1.1 MB Downloaded from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.12/xz-1.12.jar (169 kB at 827 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.jar +Progress (3): 475/609 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (3): 475/609 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (3): 491/609 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (3): 491/609 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (3): 491/609 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (3): 491/609 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (3): 491/609 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.1/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 507/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 524/609 kB | 0.2/7.6 MB | 0.1/1.1 MB Progress (3): 524/609 kB | 0.3/7.6 MB | 0.1/1.1 MB Progress (3): 524/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 540/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 540/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 540/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 540/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 540/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 540/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 540/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 540/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 557/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 557/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 557/609 kB | 0.3/7.6 MB | 0.2/1.1 MB Progress (3): 557/609 kB | 0.4/7.6 MB | 0.2/1.1 MB Progress (3): 557/609 kB | 0.4/7.6 MB | 0.2/1.1 MB Progress (3): 557/609 kB | 0.4/7.6 MB | 0.2/1.1 MB Progress (3): 557/609 kB | 0.4/7.6 MB | 0.2/1.1 MB Progress (3): 573/609 kB | 0.4/7.6 MB | 0.2/1.1 MB Progress (3): 573/609 kB | 0.4/7.6 MB | 0.2/1.1 MB Progress (3): 573/609 kB | 0.4/7.6 MB | 0.3/1.1 MB Progress (3): 573/609 kB | 0.4/7.6 MB | 0.3/1.1 MB Progress (3): 573/609 kB | 0.4/7.6 MB | 0.3/1.1 MB Progress (3): 573/609 kB | 0.4/7.6 MB | 0.3/1.1 MB Progress (3): 573/609 kB | 0.4/7.6 MB | 0.3/1.1 MB Progress (3): 573/609 kB | 0.4/7.6 MB | 0.3/1.1 MB Progress (3): 586/609 kB | 0.4/7.6 MB | 0.3/1.1 MB Progress (3): 586/609 kB | 0.4/7.6 MB | 0.3/1.1 MB Progress (3): 586/609 kB | 0.5/7.6 MB | 0.3/1.1 MB Progress (3): 586/609 kB | 0.5/7.6 MB | 0.3/1.1 MB Progress (3): 586/609 kB | 0.5/7.6 MB | 0.3/1.1 MB Progress (3): 586/609 kB | 0.5/7.6 MB | 0.3/1.1 MB Progress (3): 586/609 kB | 0.5/7.6 MB | 0.3/1.1 MB Progress (3): 586/609 kB | 0.5/7.6 MB | 0.3/1.1 MB Progress (3): 586/609 kB | 0.5/7.6 MB | 0.3/1.1 MB Progress (3): 602/609 kB | 0.5/7.6 MB | 0.3/1.1 MB Progress (3): 602/609 kB | 0.5/7.6 MB | 0.3/1.1 MB Progress (3): 609 kB | 0.5/7.6 MB | 0.3/1.1 MB Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.22.0/commons-io-2.22.0.jar (609 kB at 2.2 MB/s) +Progress (2): 0.5/7.6 MB | 0.4/1.1 MB Progress (2): 0.5/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.6/7.6 MB | 0.4/1.1 MB Progress (2): 0.7/7.6 MB | 0.4/1.1 MB Progress (2): 0.7/7.6 MB | 0.4/1.1 MB Progress (2): 0.7/7.6 MB | 0.4/1.1 MB Progress (2): 0.7/7.6 MB | 0.4/1.1 MB Progress (2): 0.7/7.6 MB | 0.4/1.1 MB Progress (2): 0.7/7.6 MB | 0.4/1.1 MB Progress (2): 0.7/7.6 MB | 0.5/1.1 MB Progress (2): 0.7/7.6 MB | 0.5/1.1 MB Progress (2): 0.7/7.6 MB | 0.5/1.1 MB Progress (2): 0.7/7.6 MB | 0.5/1.1 MB Progress (3): 0.7/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.7/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.5/1.1 MB | 3.2/375 kB Progress (3): 0.8/7.6 MB | 0.6/1.1 MB | 3.2/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 3.2/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 3.2/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 3.2/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 3.2/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 3.2/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 3.2/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 3.2/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 0.9/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.6/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.0/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 20/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 36/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 36/375 kB Progress (3): 1.1/7.6 MB | 0.7/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.7/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.7/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.7/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.7/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.7/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.7/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.8/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.8/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.8/1.1 MB | 36/375 kB Progress (3): 1.2/7.6 MB | 0.8/1.1 MB | 36/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 36/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 36/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 52/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 52/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 52/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 52/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 69/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 69/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 85/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 101/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 118/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 126/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 142/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 159/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 175/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 192/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 208/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 224/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 241/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 257/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 274/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 290/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 306/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 323/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 339/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 339/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 339/375 kB Progress (3): 1.3/7.6 MB | 0.8/1.1 MB | 339/375 kB Progress (3): 1.4/7.6 MB | 0.8/1.1 MB | 339/375 kB Progress (3): 1.4/7.6 MB | 0.8/1.1 MB | 339/375 kB Progress (3): 1.4/7.6 MB | 0.8/1.1 MB | 355/375 kB Progress (3): 1.4/7.6 MB | 0.8/1.1 MB | 355/375 kB Progress (3): 1.4/7.6 MB | 0.8/1.1 MB | 355/375 kB Progress (3): 1.4/7.6 MB | 0.8/1.1 MB | 355/375 kB Progress (3): 1.4/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.4/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.4/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.4/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 0.9/1.1 MB | 355/375 kB Progress (3): 1.5/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.6/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.6/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.6/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.6/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.6/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.6/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.6/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.6/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.6/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.7/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.7/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.7/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.7/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.7/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.7/7.6 MB | 1.0/1.1 MB | 355/375 kB Progress (3): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB Progress (3): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB Progress (3): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 7.7/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 15/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 32/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 48/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 49/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 66/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 82/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 98/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 115/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 131/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 147/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 147/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 164/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 180/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 197/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 197/703 kB Progress (4): 1.7/7.6 MB | 1.1/1.1 MB | 355/375 kB | 197/703 kB Progress (4): 1.8/7.6 MB | 1.1/1.1 MB | 355/375 kB | 197/703 kB Progress (4): 1.8/7.6 MB | 1.1/1.1 MB | 355/375 kB | 197/703 kB Progress (4): 1.8/7.6 MB | 1.1/1.1 MB | 355/375 kB | 213/703 kB Progress (4): 1.8/7.6 MB | 1.1/1.1 MB | 355/375 kB | 213/703 kB Progress (4): 1.8/7.6 MB | 1.1/1.1 MB | 355/375 kB | 229/703 kB Progress (4): 1.8/7.6 MB | 1.1/1.1 MB | 355/375 kB | 246/703 kB Progress (4): 1.8/7.6 MB | 1.1/1.1 MB | 355/375 kB | 262/703 kB Progress (4): 1.8/7.6 MB | 1.1/1.1 MB | 355/375 kB | 279/703 kB Progress (4): 1.8/7.6 MB | 1.1/1.1 MB | 355/375 kB | 279/703 kB Progress (4): 1.8/7.6 MB | 1.1 MB | 355/375 kB | 279/703 kB Progress (4): 1.8/7.6 MB | 1.1 MB | 355/375 kB | 295/703 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.28.0/commons-compress-1.28.0.jar (1.1 MB at 2.0 MB/s) +Progress (3): 1.8/7.6 MB | 355/375 kB | 295/703 kB Progress (3): 1.8/7.6 MB | 355/375 kB | 311/703 kB Progress (3): 1.8/7.6 MB | 355/375 kB | 311/703 kB Progress (3): 1.8/7.6 MB | 355/375 kB | 328/703 kB Progress (3): 1.8/7.6 MB | 355/375 kB | 344/703 kB Progress (3): 1.8/7.6 MB | 355/375 kB | 360/703 kB Progress (3): 1.8/7.6 MB | 355/375 kB | 360/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 360/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 360/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 377/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 377/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 393/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 410/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 426/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 442/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 459/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 475/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 492/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 508/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 524/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 541/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 557/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 573/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 590/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 606/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 623/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 639/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 655/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 672/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 688/703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 703 kB Progress (3): 1.9/7.6 MB | 355/375 kB | 703 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.18.0/commons-lang3-3.18.0.jar (703 kB at 1.2 MB/s) +Progress (2): 2.0/7.6 MB | 355/375 kB Progress (2): 2.0/7.6 MB | 355/375 kB Progress (2): 2.0/7.6 MB | 355/375 kB Progress (2): 2.0/7.6 MB | 355/375 kB Progress (2): 2.0/7.6 MB | 355/375 kB Progress (2): 2.0/7.6 MB | 355/375 kB Progress (2): 2.1/7.6 MB | 355/375 kB Progress (2): 2.1/7.6 MB | 355/375 kB Progress (2): 2.1/7.6 MB | 355/375 kB Progress (2): 2.1/7.6 MB | 355/375 kB Progress (2): 2.1/7.6 MB | 372/375 kB Progress (2): 2.1/7.6 MB | 372/375 kB Progress (2): 2.1/7.6 MB | 375 kB Progress (2): 2.1/7.6 MB | 375 kB Progress (2): 2.2/7.6 MB | 375 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.19.0/commons-codec-1.19.0.jar (375 kB at 598 kB/s) +Progress (1): 2.2/7.6 MB Progress (1): 2.2/7.6 MB Progress (1): 2.2/7.6 MB Progress (1): 2.2/7.6 MB Progress (1): 2.2/7.6 MB Progress (1): 2.3/7.6 MB Progress (1): 2.3/7.6 MB Progress (1): 2.3/7.6 MB Progress (1): 2.3/7.6 MB Progress (1): 2.3/7.6 MB Progress (1): 2.3/7.6 MB Progress (1): 2.3/7.6 MB Progress (1): 2.4/7.6 MB Progress (1): 2.4/7.6 MB Progress (1): 2.4/7.6 MB Progress (1): 2.4/7.6 MB Progress (1): 2.4/7.6 MB Progress (1): 2.4/7.6 MB Progress (1): 2.5/7.6 MB Progress (1): 2.5/7.6 MB Progress (1): 2.5/7.6 MB Progress (1): 2.5/7.6 MB Progress (1): 2.5/7.6 MB Progress (1): 2.5/7.6 MB Progress (1): 2.6/7.6 MB Progress (1): 2.6/7.6 MB Progress (1): 2.6/7.6 MB Progress (1): 2.6/7.6 MB Progress (1): 2.6/7.6 MB Progress (1): 2.6/7.6 MB Progress (1): 2.7/7.6 MB Progress (1): 2.7/7.6 MB Progress (1): 2.7/7.6 MB Progress (1): 2.7/7.6 MB Progress (1): 2.7/7.6 MB Progress (1): 2.7/7.6 MB Progress (1): 2.8/7.6 MB Progress (1): 2.8/7.6 MB Progress (1): 2.8/7.6 MB Progress (1): 2.8/7.6 MB Progress (1): 2.8/7.6 MB Progress (1): 2.8/7.6 MB Progress (1): 2.9/7.6 MB Progress (1): 2.9/7.6 MB Progress (1): 2.9/7.6 MB Progress (1): 2.9/7.6 MB Progress (1): 2.9/7.6 MB Progress (1): 2.9/7.6 MB Progress (1): 3.0/7.6 MB Progress (1): 3.0/7.6 MB Progress (1): 3.0/7.6 MB Progress (1): 3.0/7.6 MB Progress (1): 3.0/7.6 MB Progress (1): 3.0/7.6 MB Progress (1): 3.1/7.6 MB Progress (1): 3.1/7.6 MB Progress (1): 3.1/7.6 MB Progress (1): 3.1/7.6 MB Progress (1): 3.1/7.6 MB Progress (1): 3.1/7.6 MB Progress (1): 3.1/7.6 MB Progress (1): 3.2/7.6 MB Progress (1): 3.2/7.6 MB Progress (1): 3.2/7.6 MB Progress (1): 3.2/7.6 MB Progress (1): 3.2/7.6 MB Progress (1): 3.2/7.6 MB Progress (1): 3.3/7.6 MB Progress (1): 3.3/7.6 MB Progress (1): 3.3/7.6 MB Progress (1): 3.3/7.6 MB Progress (1): 3.3/7.6 MB Progress (1): 3.3/7.6 MB Progress (1): 3.4/7.6 MB Progress (1): 3.4/7.6 MB Progress (1): 3.4/7.6 MB Progress (1): 3.4/7.6 MB Progress (1): 3.4/7.6 MB Progress (1): 3.4/7.6 MB Progress (1): 3.5/7.6 MB Progress (1): 3.5/7.6 MB Progress (1): 3.5/7.6 MB Progress (1): 3.5/7.6 MB Progress (1): 3.5/7.6 MB Progress (1): 3.5/7.6 MB Progress (1): 3.6/7.6 MB Progress (1): 3.6/7.6 MB Progress (1): 3.6/7.6 MB Progress (1): 3.6/7.6 MB Progress (1): 3.6/7.6 MB Progress (1): 3.6/7.6 MB Progress (1): 3.7/7.6 MB Progress (1): 3.7/7.6 MB Progress (1): 3.7/7.6 MB Progress (1): 3.7/7.6 MB Progress (1): 3.7/7.6 MB Progress (1): 3.7/7.6 MB Progress (1): 3.8/7.6 MB Progress (1): 3.8/7.6 MB Progress (1): 3.8/7.6 MB Progress (1): 3.8/7.6 MB Progress (1): 3.8/7.6 MB Progress (1): 3.8/7.6 MB Progress (1): 3.9/7.6 MB Progress (1): 3.9/7.6 MB Progress (1): 3.9/7.6 MB Progress (1): 3.9/7.6 MB Progress (1): 3.9/7.6 MB Progress (1): 3.9/7.6 MB Progress (1): 4.0/7.6 MB Progress (1): 4.0/7.6 MB Progress (1): 4.0/7.6 MB Progress (1): 4.0/7.6 MB Progress (1): 4.0/7.6 MB Progress (1): 4.0/7.6 MB Progress (1): 4.1/7.6 MB Progress (1): 4.1/7.6 MB Progress (1): 4.1/7.6 MB Progress (1): 4.1/7.6 MB Progress (1): 4.1/7.6 MB Progress (1): 4.1/7.6 MB Progress (1): 4.1/7.6 MB Progress (1): 4.2/7.6 MB Progress (1): 4.2/7.6 MB Progress (1): 4.2/7.6 MB Progress (1): 4.2/7.6 MB Progress (1): 4.2/7.6 MB Progress (1): 4.2/7.6 MB Progress (1): 4.3/7.6 MB Progress (1): 4.3/7.6 MB Progress (1): 4.3/7.6 MB Progress (1): 4.3/7.6 MB Progress (1): 4.3/7.6 MB Progress (1): 4.3/7.6 MB Progress (1): 4.4/7.6 MB Progress (1): 4.4/7.6 MB Progress (1): 4.4/7.6 MB Progress (1): 4.4/7.6 MB Progress (1): 4.4/7.6 MB Progress (1): 4.4/7.6 MB Progress (1): 4.5/7.6 MB Progress (1): 4.5/7.6 MB Progress (1): 4.5/7.6 MB Progress (1): 4.5/7.6 MB Progress (1): 4.5/7.6 MB Progress (1): 4.5/7.6 MB Progress (1): 4.6/7.6 MB Progress (1): 4.6/7.6 MB Progress (1): 4.6/7.6 MB Progress (1): 4.6/7.6 MB Progress (1): 4.6/7.6 MB Progress (1): 4.6/7.6 MB Progress (1): 4.6/7.6 MB Progress (1): 4.7/7.6 MB Progress (1): 4.7/7.6 MB Progress (1): 4.7/7.6 MB Progress (1): 4.7/7.6 MB Progress (1): 4.7/7.6 MB Progress (1): 4.7/7.6 MB Progress (1): 4.8/7.6 MB Progress (1): 4.8/7.6 MB Progress (1): 4.8/7.6 MB Progress (1): 4.8/7.6 MB Progress (1): 4.8/7.6 MB Progress (1): 4.8/7.6 MB Progress (1): 4.9/7.6 MB Progress (1): 4.9/7.6 MB Progress (1): 4.9/7.6 MB Progress (1): 4.9/7.6 MB Progress (1): 4.9/7.6 MB Progress (1): 4.9/7.6 MB Progress (1): 5.0/7.6 MB Progress (1): 5.0/7.6 MB Progress (1): 5.0/7.6 MB Progress (1): 5.0/7.6 MB Progress (1): 5.0/7.6 MB Progress (1): 5.0/7.6 MB Progress (1): 5.0/7.6 MB Progress (1): 5.1/7.6 MB Progress (1): 5.1/7.6 MB Progress (1): 5.1/7.6 MB Progress (1): 5.1/7.6 MB Progress (1): 5.1/7.6 MB Progress (1): 5.1/7.6 MB Progress (1): 5.2/7.6 MB Progress (1): 5.2/7.6 MB Progress (1): 5.2/7.6 MB Progress (1): 5.2/7.6 MB Progress (1): 5.2/7.6 MB Progress (1): 5.2/7.6 MB Progress (1): 5.3/7.6 MB Progress (1): 5.3/7.6 MB Progress (1): 5.3/7.6 MB Progress (1): 5.3/7.6 MB Progress (1): 5.3/7.6 MB Progress (1): 5.3/7.6 MB Progress (1): 5.4/7.6 MB Progress (1): 5.4/7.6 MB Progress (1): 5.4/7.6 MB Progress (1): 5.4/7.6 MB Progress (1): 5.4/7.6 MB Progress (1): 5.4/7.6 MB Progress (1): 5.5/7.6 MB Progress (1): 5.5/7.6 MB Progress (1): 5.5/7.6 MB Progress (1): 5.5/7.6 MB Progress (1): 5.5/7.6 MB Progress (1): 5.5/7.6 MB Progress (1): 5.6/7.6 MB Progress (1): 5.6/7.6 MB Progress (1): 5.6/7.6 MB Progress (1): 5.6/7.6 MB Progress (1): 5.6/7.6 MB Progress (1): 5.6/7.6 MB Progress (1): 5.7/7.6 MB Progress (1): 5.7/7.6 MB Progress (1): 5.7/7.6 MB Progress (1): 5.7/7.6 MB Progress (1): 5.7/7.6 MB Progress (1): 5.7/7.6 MB Progress (1): 5.8/7.6 MB Progress (1): 5.8/7.6 MB Progress (1): 5.8/7.6 MB Progress (1): 5.8/7.6 MB Progress (1): 5.8/7.6 MB Progress (1): 5.8/7.6 MB Progress (1): 5.9/7.6 MB Progress (1): 5.9/7.6 MB Progress (1): 5.9/7.6 MB Progress (1): 5.9/7.6 MB Progress (1): 5.9/7.6 MB Progress (1): 5.9/7.6 MB Progress (1): 6.0/7.6 MB Progress (1): 6.0/7.6 MB Progress (1): 6.0/7.6 MB Progress (1): 6.0/7.6 MB Progress (1): 6.0/7.6 MB Progress (1): 6.0/7.6 MB Progress (1): 6.0/7.6 MB Progress (1): 6.1/7.6 MB Progress (1): 6.1/7.6 MB Progress (1): 6.1/7.6 MB Progress (1): 6.1/7.6 MB Progress (1): 6.1/7.6 MB Progress (1): 6.1/7.6 MB Progress (1): 6.2/7.6 MB Progress (1): 6.2/7.6 MB Progress (1): 6.2/7.6 MB Progress (1): 6.2/7.6 MB Progress (1): 6.2/7.6 MB Progress (1): 6.2/7.6 MB Progress (1): 6.3/7.6 MB Progress (1): 6.3/7.6 MB Progress (1): 6.3/7.6 MB Progress (1): 6.3/7.6 MB Progress (1): 6.3/7.6 MB Progress (1): 6.3/7.6 MB Progress (1): 6.4/7.6 MB Progress (1): 6.4/7.6 MB Progress (1): 6.4/7.6 MB Progress (1): 6.4/7.6 MB Progress (1): 6.4/7.6 MB Progress (1): 6.4/7.6 MB Progress (1): 6.5/7.6 MB Progress (1): 6.5/7.6 MB Progress (1): 6.5/7.6 MB Progress (1): 6.5/7.6 MB Progress (1): 6.5/7.6 MB Progress (1): 6.5/7.6 MB Progress (1): 6.6/7.6 MB Progress (1): 6.6/7.6 MB Progress (1): 6.6/7.6 MB Progress (1): 6.6/7.6 MB Progress (1): 6.6/7.6 MB Progress (1): 6.6/7.6 MB Progress (1): 6.7/7.6 MB Progress (1): 6.7/7.6 MB Progress (1): 6.7/7.6 MB Progress (1): 6.7/7.6 MB Progress (1): 6.7/7.6 MB Progress (1): 6.7/7.6 MB Progress (1): 6.8/7.6 MB Progress (1): 6.8/7.6 MB Progress (1): 6.8/7.6 MB Progress (1): 6.8/7.6 MB Progress (1): 6.8/7.6 MB Progress (1): 6.8/7.6 MB Progress (1): 6.9/7.6 MB Progress (1): 6.9/7.6 MB Progress (1): 6.9/7.6 MB Progress (1): 6.9/7.6 MB Progress (1): 6.9/7.6 MB Progress (1): 6.9/7.6 MB Progress (1): 6.9/7.6 MB Progress (1): 7.0/7.6 MB Progress (1): 7.0/7.6 MB Progress (1): 7.0/7.6 MB Progress (1): 7.0/7.6 MB Progress (1): 7.0/7.6 MB Progress (1): 7.0/7.6 MB Progress (1): 7.1/7.6 MB Progress (1): 7.1/7.6 MB Progress (1): 7.1/7.6 MB Progress (1): 7.1/7.6 MB Progress (1): 7.1/7.6 MB Progress (1): 7.1/7.6 MB Progress (1): 7.2/7.6 MB Progress (1): 7.2/7.6 MB Progress (1): 7.2/7.6 MB Progress (1): 7.2/7.6 MB Progress (1): 7.2/7.6 MB Progress (1): 7.2/7.6 MB Progress (1): 7.3/7.6 MB Progress (1): 7.3/7.6 MB Progress (1): 7.3/7.6 MB Progress (1): 7.3/7.6 MB Progress (1): 7.3/7.6 MB Progress (1): 7.3/7.6 MB Progress (1): 7.4/7.6 MB Progress (1): 7.4/7.6 MB Progress (1): 7.4/7.6 MB Progress (1): 7.4/7.6 MB Progress (1): 7.4/7.6 MB Progress (1): 7.4/7.6 MB Progress (1): 7.5/7.6 MB Progress (1): 7.5/7.6 MB Progress (1): 7.5/7.6 MB Progress (1): 7.5/7.6 MB Progress (1): 7.5/7.6 MB Progress (1): 7.5/7.6 MB Progress (1): 7.6/7.6 MB Progress (1): 7.6 MB Downloaded from central: https://repo.maven.apache.org/maven2/com/github/luben/zstd-jni/1.5.7-9/zstd-jni-1.5.7-9.jar (7.6 MB at 6.5 MB/s) +[INFO] Building jar: /home/bailey/github/PolyXML/benchmarks/java/target/java-codegen-benchmarks-1.0-SNAPSHOT.jar +[INFO] +[INFO] --- shade:3.6.0:shade (default) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/org/jdom/jdom2/2.0.6.1/jdom2-2.0.6.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.16.1/commons-io-2.16.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.26.2/commons-compress-1.26.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.7/asm-commons-9.7.pom +Progress (1): 1.1 kB Progress (2): 1.1 kB | 726 B Progress (3): 1.1 kB | 726 B | 762 B Progress (3): 1.1 kB | 2.4 kB | 762 B Progress (3): 2.8 kB | 2.4 kB | 762 B Progress (3): 2.8 kB | 2.4 kB | 2.0 kB Progress (3): 2.8 kB | 4.4 kB | 2.0 kB Progress (3): 2.8 kB | 4.4 kB | 4.9 kB Progress (3): 2.8 kB | 8.6 kB | 4.9 kB Progress (3): 2.8 kB | 8.6 kB | 6.7 kB Progress (3): 2.8 kB | 8.8 kB | 6.7 kB Progress (3): 2.8 kB | 8.8 kB | 8.8 kB Progress (3): 2.8 kB | 8.8 kB | 12 kB Progress (3): 2.8 kB | 8.8 kB | 15 kB Progress (3): 2.8 kB | 8.8 kB | 18 kB Progress (3): 2.8 kB | 8.8 kB | 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.7/asm-commons-9.7.pom (2.8 kB at 46 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.16.1/commons-io-2.16.1.pom (20 kB at 322 kB/s) +Progress (2): 8.8 kB | 758 B Progress (3): 8.8 kB | 758 B | 956 B Progress (3): 8.8 kB | 1.9 kB | 956 B Progress (3): 8.8 kB | 1.9 kB | 2.2 kB Progress (3): 8.8 kB | 3.7 kB | 2.2 kB Progress (3): 8.8 kB | 3.7 kB | 3.2 kB Progress (3): 8.8 kB | 5.4 kB | 3.2 kB Progress (3): 8.8 kB | 5.4 kB | 4.6 kB Progress (3): 8.8 kB | 9.3 kB | 4.6 kB Progress (3): 8.8 kB | 12 kB | 4.6 kB Progress (3): 8.8 kB | 15 kB | 4.6 kB Progress (3): 8.8 kB | 18 kB | 4.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.pom (8.8 kB at 141 kB/s) +Progress (2): 21 kB | 4.6 kB Progress (2): 23 kB | 4.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/jdom/jdom2/2.0.6.1/jdom2-2.0.6.1.pom (4.6 kB at 73 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.26.2/commons-compress-1.26.2.pom (23 kB at 364 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/69/commons-parent-69.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/vafer/jdependency/2.10/jdependency-2.10.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/10/plexus-10.pom +Progress (1): 696 B Progress (2): 696 B | 1.1 kB Progress (2): 2.7 kB | 1.1 kB Progress (2): 2.7 kB | 4.9 kB Progress (2): 6.4 kB | 4.9 kB Progress (2): 9.2 kB | 4.9 kB Progress (2): 9.2 kB | 8.5 kB Progress (2): 11 kB | 8.5 kB Progress (2): 16 kB | 8.5 kB Progress (2): 16 kB | 12 kB Progress (2): 20 kB | 12 kB Progress (2): 20 kB | 14 kB Progress (2): 24 kB | 14 kB Progress (2): 25 kB | 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/10/plexus-10.pom (25 kB at 470 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/vafer/jdependency/2.10/jdependency-2.10.pom (14 kB at 255 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.7/asm-tree-9.7.pom +Progress (1): 708 B Progress (1): 1.9 kB Progress (1): 3.1 kB Progress (1): 4.7 kB Progress (1): 6.4 kB Progress (1): 8.4 kB Progress (1): 10 kB Progress (1): 13 kB Progress (1): 14 kB Progress (1): 17 kB Progress (1): 19 kB Progress (1): 22 kB Progress (1): 25 kB Progress (1): 28 kB Progress (1): 31 kB Progress (1): 31 kB Progress (1): 35 kB Progress (1): 40 kB Progress (1): 43 kB Progress (1): 45 kB Progress (1): 48 kB Progress (1): 51 kB Progress (1): 55 kB Progress (1): 57 kB Progress (1): 59 kB Progress (1): 63 kB Progress (1): 67 kB Progress (1): 70 kB Progress (1): 73 kB Progress (1): 75 kB Progress (1): 77 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/69/commons-parent-69.pom (77 kB at 1.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.17.0/commons-codec-1.17.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.14.0/commons-lang3-3.14.0.pom +Progress (1): 1.1 kB Progress (1): 2.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.7/asm-tree-9.7.pom (2.6 kB at 44 kB/s) +Progress (1): 747 B Progress (2): 747 B | 745 B Progress (2): 2.1 kB | 745 B Progress (2): 2.1 kB | 1.9 kB Progress (2): 2.1 kB | 4.0 kB Progress (2): 4.7 kB | 4.0 kB Progress (2): 4.7 kB | 5.8 kB Progress (2): 8.4 kB | 5.8 kB Progress (2): 8.4 kB | 8.4 kB Progress (2): 12 kB | 8.4 kB Progress (2): 12 kB | 11 kB Progress (2): 12 kB | 14 kB Progress (2): 12 kB | 17 kB Progress (2): 12 kB | 18 kB Progress (2): 15 kB | 18 kB Progress (2): 17 kB | 18 kB Progress (2): 18 kB | 18 kB Progress (2): 21 kB | 18 kB Progress (2): 24 kB | 18 kB Progress (2): 28 kB | 18 kB Progress (2): 30 kB | 18 kB Progress (2): 31 kB | 18 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.17.0/commons-codec-1.17.0.pom (18 kB at 303 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.14.0/commons-lang3-3.14.0.pom (31 kB at 515 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/64/commons-parent-64.pom +Progress (1): 706 B Progress (1): 1.9 kB Progress (1): 3.1 kB Progress (1): 4.7 kB Progress (1): 6.4 kB Progress (1): 8.4 kB Progress (1): 10 kB Progress (1): 13 kB Progress (1): 15 kB Progress (1): 18 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 25 kB Progress (1): 28 kB Progress (1): 32 kB Progress (1): 32 kB Progress (1): 35 kB Progress (1): 41 kB Progress (1): 44 kB Progress (1): 46 kB Progress (1): 49 kB Progress (1): 51 kB Progress (1): 54 kB Progress (1): 58 kB Progress (1): 60 kB Progress (1): 64 kB Progress (1): 67 kB Progress (1): 71 kB Progress (1): 74 kB Progress (1): 76 kB Progress (1): 78 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/64/commons-parent-64.pom (78 kB at 1.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/30/apache-30.pom +Progress (1): 743 B Progress (1): 2.1 kB Progress (1): 4.0 kB Progress (1): 6.3 kB Progress (1): 11 kB Progress (1): 16 kB Progress (1): 20 kB Progress (1): 22 kB Progress (1): 23 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/30/apache-30.pom (23 kB at 363 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar +Progress (1): 7.7/269 kB Progress (1): 11/269 kB Progress (1): 28/269 kB Progress (1): 44/269 kB Progress (1): 61/269 kB Progress (1): 77/269 kB Progress (1): 93/269 kB Progress (1): 110/269 kB Progress (1): 126/269 kB Progress (1): 142/269 kB Progress (1): 159/269 kB Progress (1): 175/269 kB Progress (1): 192/269 kB Progress (1): 208/269 kB Progress (1): 224/269 kB Progress (1): 241/269 kB Progress (1): 257/269 kB Progress (1): 269 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/3.5.1/plexus-utils-3.5.1.jar (269 kB at 1.9 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.7/asm-commons-9.7.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/jdom/jdom2/2.0.6.1/jdom2-2.0.6.1.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.26.2/commons-compress-1.26.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.16.1/commons-io-2.16.1.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/vafer/jdependency/2.10/jdependency-2.10.jar +Progress (1): 7.7/328 kB Progress (1): 11/328 kB Progress (2): 11/328 kB | 7.7/416 kB Progress (2): 11/328 kB | 16/416 kB Progress (2): 11/328 kB | 24/416 kB Progress (2): 28/328 kB | 24/416 kB Progress (2): 28/328 kB | 40/416 kB Progress (2): 28/328 kB | 57/416 kB Progress (2): 28/328 kB | 73/416 kB Progress (2): 44/328 kB | 73/416 kB Progress (2): 44/328 kB | 90/416 kB Progress (2): 44/328 kB | 106/416 kB Progress (3): 44/328 kB | 106/416 kB | 0/1.1 MB Progress (3): 44/328 kB | 106/416 kB | 0/1.1 MB Progress (3): 61/328 kB | 106/416 kB | 0/1.1 MB Progress (3): 61/328 kB | 106/416 kB | 0/1.1 MB Progress (3): 61/328 kB | 122/416 kB | 0/1.1 MB Progress (3): 61/328 kB | 139/416 kB | 0/1.1 MB Progress (3): 61/328 kB | 155/416 kB | 0/1.1 MB Progress (3): 77/328 kB | 155/416 kB | 0/1.1 MB Progress (3): 77/328 kB | 172/416 kB | 0/1.1 MB Progress (3): 93/328 kB | 172/416 kB | 0/1.1 MB Progress (3): 93/328 kB | 188/416 kB | 0/1.1 MB Progress (3): 93/328 kB | 188/416 kB | 0/1.1 MB Progress (3): 110/328 kB | 188/416 kB | 0/1.1 MB Progress (3): 110/328 kB | 204/416 kB | 0/1.1 MB Progress (3): 110/328 kB | 221/416 kB | 0/1.1 MB Progress (3): 110/328 kB | 237/416 kB | 0/1.1 MB Progress (3): 110/328 kB | 253/416 kB | 0/1.1 MB Progress (4): 110/328 kB | 253/416 kB | 0/1.1 MB | 7.7/73 kB Progress (4): 110/328 kB | 253/416 kB | 0/1.1 MB | 16/73 kB Progress (4): 126/328 kB | 253/416 kB | 0/1.1 MB | 16/73 kB Progress (4): 126/328 kB | 270/416 kB | 0/1.1 MB | 16/73 kB Progress (4): 142/328 kB | 270/416 kB | 0/1.1 MB | 16/73 kB Progress (4): 142/328 kB | 270/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 159/328 kB | 270/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 159/328 kB | 270/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 159/328 kB | 286/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 159/328 kB | 303/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 159/328 kB | 319/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 159/328 kB | 335/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 175/328 kB | 335/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 175/328 kB | 335/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 175/328 kB | 352/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 192/328 kB | 352/416 kB | 0.1/1.1 MB | 16/73 kB Progress (4): 192/328 kB | 352/416 kB | 0.1/1.1 MB | 28/73 kB Progress (4): 192/328 kB | 368/416 kB | 0.1/1.1 MB | 28/73 kB Progress (4): 192/328 kB | 385/416 kB | 0.1/1.1 MB | 28/73 kB Progress (4): 192/328 kB | 401/416 kB | 0.1/1.1 MB | 28/73 kB Progress (4): 192/328 kB | 416 kB | 0.1/1.1 MB | 28/73 kB Progress (4): 208/328 kB | 416 kB | 0.1/1.1 MB | 28/73 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/vafer/jdependency/2.10/jdependency-2.10.jar (416 kB at 3.9 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.7/asm-tree-9.7.jar +Progress (3): 224/328 kB | 0.1/1.1 MB | 28/73 kB Progress (3): 224/328 kB | 0.1/1.1 MB | 28/73 kB Progress (4): 224/328 kB | 0.1/1.1 MB | 28/73 kB | 7.7/509 kB Progress (4): 224/328 kB | 0.1/1.1 MB | 28/73 kB | 11/509 kB Progress (4): 224/328 kB | 0.1/1.1 MB | 28/73 kB | 11/509 kB Progress (4): 224/328 kB | 0.1/1.1 MB | 28/73 kB | 28/509 kB Progress (4): 224/328 kB | 0.1/1.1 MB | 28/73 kB | 44/509 kB Progress (4): 241/328 kB | 0.1/1.1 MB | 28/73 kB | 44/509 kB Progress (4): 257/328 kB | 0.1/1.1 MB | 28/73 kB | 44/509 kB Progress (4): 274/328 kB | 0.1/1.1 MB | 28/73 kB | 44/509 kB Progress (4): 274/328 kB | 0.1/1.1 MB | 28/73 kB | 61/509 kB Progress (4): 274/328 kB | 0.1/1.1 MB | 44/73 kB | 61/509 kB Progress (4): 274/328 kB | 0.1/1.1 MB | 44/73 kB | 61/509 kB Progress (4): 274/328 kB | 0.1/1.1 MB | 44/73 kB | 77/509 kB Progress (4): 290/328 kB | 0.1/1.1 MB | 44/73 kB | 77/509 kB Progress (4): 290/328 kB | 0.2/1.1 MB | 44/73 kB | 77/509 kB Progress (4): 306/328 kB | 0.2/1.1 MB | 44/73 kB | 77/509 kB Progress (4): 323/328 kB | 0.2/1.1 MB | 44/73 kB | 77/509 kB Progress (4): 328 kB | 0.2/1.1 MB | 44/73 kB | 77/509 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/jdom/jdom2/2.0.6.1/jdom2-2.0.6.1.jar (328 kB at 2.6 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.17.0/commons-codec-1.17.0.jar +Progress (3): 0.2/1.1 MB | 44/73 kB | 77/509 kB Progress (3): 0.2/1.1 MB | 44/73 kB | 93/509 kB Progress (3): 0.2/1.1 MB | 44/73 kB | 93/509 kB Progress (3): 0.2/1.1 MB | 44/73 kB | 110/509 kB Progress (3): 0.2/1.1 MB | 44/73 kB | 110/509 kB Progress (3): 0.2/1.1 MB | 44/73 kB | 126/509 kB Progress (3): 0.2/1.1 MB | 44/73 kB | 142/509 kB Progress (3): 0.2/1.1 MB | 44/73 kB | 159/509 kB Progress (3): 0.2/1.1 MB | 61/73 kB | 159/509 kB Progress (3): 0.2/1.1 MB | 61/73 kB | 159/509 kB Progress (3): 0.2/1.1 MB | 61/73 kB | 159/509 kB Progress (3): 0.2/1.1 MB | 61/73 kB | 175/509 kB Progress (3): 0.3/1.1 MB | 61/73 kB | 175/509 kB Progress (3): 0.3/1.1 MB | 61/73 kB | 192/509 kB Progress (3): 0.3/1.1 MB | 61/73 kB | 208/509 kB Progress (3): 0.3/1.1 MB | 73 kB | 208/509 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-commons/9.7/asm-commons-9.7.jar (73 kB at 536 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.14.0/commons-lang3-3.14.0.jar +Progress (2): 0.3/1.1 MB | 224/509 kB Progress (2): 0.3/1.1 MB | 224/509 kB Progress (2): 0.3/1.1 MB | 233/509 kB Progress (2): 0.3/1.1 MB | 233/509 kB Progress (2): 0.3/1.1 MB | 249/509 kB Progress (2): 0.3/1.1 MB | 249/509 kB Progress (2): 0.3/1.1 MB | 265/509 kB Progress (2): 0.3/1.1 MB | 282/509 kB Progress (2): 0.3/1.1 MB | 282/509 kB Progress (2): 0.3/1.1 MB | 298/509 kB Progress (2): 0.3/1.1 MB | 314/509 kB Progress (2): 0.3/1.1 MB | 331/509 kB Progress (2): 0.3/1.1 MB | 331/509 kB Progress (2): 0.4/1.1 MB | 331/509 kB Progress (2): 0.4/1.1 MB | 331/509 kB Progress (2): 0.4/1.1 MB | 347/509 kB Progress (2): 0.4/1.1 MB | 364/509 kB Progress (2): 0.4/1.1 MB | 364/509 kB Progress (2): 0.4/1.1 MB | 380/509 kB Progress (2): 0.4/1.1 MB | 380/509 kB Progress (2): 0.4/1.1 MB | 396/509 kB Progress (2): 0.4/1.1 MB | 413/509 kB Progress (2): 0.4/1.1 MB | 413/509 kB Progress (2): 0.4/1.1 MB | 429/509 kB Progress (2): 0.4/1.1 MB | 446/509 kB Progress (2): 0.4/1.1 MB | 462/509 kB Progress (2): 0.4/1.1 MB | 462/509 kB Progress (2): 0.4/1.1 MB | 478/509 kB Progress (2): 0.5/1.1 MB | 478/509 kB Progress (2): 0.5/1.1 MB | 495/509 kB Progress (2): 0.5/1.1 MB | 495/509 kB Progress (2): 0.5/1.1 MB | 509 kB Progress (2): 0.5/1.1 MB | 509 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.16.1/commons-io-2.16.1.jar (509 kB at 3.1 MB/s) +Progress (1): 0.5/1.1 MB Progress (1): 0.5/1.1 MB Progress (2): 0.5/1.1 MB | 7.7/52 kB Progress (2): 0.5/1.1 MB | 16/52 kB Progress (2): 0.5/1.1 MB | 32/52 kB Progress (2): 0.5/1.1 MB | 48/52 kB Progress (2): 0.5/1.1 MB | 52 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm-tree/9.7/asm-tree-9.7.jar (52 kB at 305 kB/s) +Progress (1): 0.5/1.1 MB Progress (1): 0.5/1.1 MB Progress (1): 0.6/1.1 MB Progress (1): 0.6/1.1 MB Progress (2): 0.6/1.1 MB | 7.7/373 kB Progress (2): 0.6/1.1 MB | 16/373 kB Progress (2): 0.6/1.1 MB | 24/373 kB Progress (2): 0.6/1.1 MB | 24/373 kB Progress (2): 0.6/1.1 MB | 40/373 kB Progress (2): 0.6/1.1 MB | 57/373 kB Progress (2): 0.6/1.1 MB | 57/373 kB Progress (2): 0.6/1.1 MB | 73/373 kB Progress (2): 0.6/1.1 MB | 73/373 kB Progress (2): 0.6/1.1 MB | 90/373 kB Progress (2): 0.6/1.1 MB | 106/373 kB Progress (2): 0.6/1.1 MB | 122/373 kB Progress (2): 0.6/1.1 MB | 122/373 kB Progress (2): 0.6/1.1 MB | 139/373 kB Progress (2): 0.6/1.1 MB | 147/373 kB Progress (2): 0.6/1.1 MB | 164/373 kB Progress (2): 0.7/1.1 MB | 164/373 kB Progress (2): 0.7/1.1 MB | 180/373 kB Progress (2): 0.7/1.1 MB | 180/373 kB Progress (2): 0.7/1.1 MB | 197/373 kB Progress (2): 0.7/1.1 MB | 197/373 kB Progress (2): 0.7/1.1 MB | 213/373 kB Progress (2): 0.7/1.1 MB | 229/373 kB Progress (2): 0.7/1.1 MB | 246/373 kB Progress (2): 0.7/1.1 MB | 246/373 kB Progress (2): 0.7/1.1 MB | 250/373 kB Progress (2): 0.7/1.1 MB | 266/373 kB Progress (2): 0.7/1.1 MB | 279/373 kB Progress (2): 0.7/1.1 MB | 282/373 kB Progress (2): 0.7/1.1 MB | 299/373 kB Progress (2): 0.7/1.1 MB | 299/373 kB Progress (2): 0.7/1.1 MB | 315/373 kB Progress (2): 0.7/1.1 MB | 331/373 kB Progress (3): 0.7/1.1 MB | 331/373 kB | 7.7/658 kB Progress (3): 0.7/1.1 MB | 348/373 kB | 7.7/658 kB Progress (3): 0.7/1.1 MB | 348/373 kB | 16/658 kB Progress (3): 0.7/1.1 MB | 364/373 kB | 16/658 kB Progress (3): 0.7/1.1 MB | 364/373 kB | 24/658 kB Progress (3): 0.7/1.1 MB | 373 kB | 24/658 kB Progress (3): 0.7/1.1 MB | 373 kB | 40/658 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.17.0/commons-codec-1.17.0.jar (373 kB at 1.7 MB/s) +Progress (2): 0.7/1.1 MB | 40/658 kB Progress (2): 0.8/1.1 MB | 40/658 kB Progress (2): 0.8/1.1 MB | 57/658 kB Progress (2): 0.8/1.1 MB | 57/658 kB Progress (2): 0.8/1.1 MB | 57/658 kB Progress (2): 0.8/1.1 MB | 57/658 kB Progress (2): 0.8/1.1 MB | 57/658 kB Progress (2): 0.8/1.1 MB | 57/658 kB Progress (2): 0.9/1.1 MB | 57/658 kB Progress (2): 0.9/1.1 MB | 73/658 kB Progress (2): 0.9/1.1 MB | 73/658 kB Progress (2): 0.9/1.1 MB | 90/658 kB Progress (2): 0.9/1.1 MB | 90/658 kB Progress (2): 0.9/1.1 MB | 90/658 kB Progress (2): 0.9/1.1 MB | 90/658 kB Progress (2): 0.9/1.1 MB | 90/658 kB Progress (2): 1.0/1.1 MB | 90/658 kB Progress (2): 1.0/1.1 MB | 90/658 kB Progress (2): 1.0/1.1 MB | 90/658 kB Progress (2): 1.0/1.1 MB | 106/658 kB Progress (2): 1.0/1.1 MB | 106/658 kB Progress (2): 1.0/1.1 MB | 106/658 kB Progress (2): 1.0/1.1 MB | 106/658 kB Progress (2): 1.1/1.1 MB | 106/658 kB Progress (2): 1.1/1.1 MB | 122/658 kB Progress (2): 1.1/1.1 MB | 122/658 kB Progress (2): 1.1 MB | 122/658 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.26.2/commons-compress-1.26.2.jar (1.1 MB at 4.6 MB/s) +Progress (1): 139/658 kB Progress (1): 155/658 kB Progress (1): 172/658 kB Progress (1): 188/658 kB Progress (1): 204/658 kB Progress (1): 221/658 kB Progress (1): 237/658 kB Progress (1): 253/658 kB Progress (1): 270/658 kB Progress (1): 286/658 kB Progress (1): 303/658 kB Progress (1): 319/658 kB Progress (1): 335/658 kB Progress (1): 352/658 kB Progress (1): 368/658 kB Progress (1): 385/658 kB Progress (1): 401/658 kB Progress (1): 417/658 kB Progress (1): 434/658 kB Progress (1): 450/658 kB Progress (1): 466/658 kB Progress (1): 483/658 kB Progress (1): 499/658 kB Progress (1): 516/658 kB Progress (1): 532/658 kB Progress (1): 548/658 kB Progress (1): 565/658 kB Progress (1): 581/658 kB Progress (1): 598/658 kB Progress (1): 614/658 kB Progress (1): 630/658 kB Progress (1): 647/658 kB Progress (1): 658 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.14.0/commons-lang3-3.14.0.jar (658 kB at 1.6 MB/s) +[INFO] Including org.openjdk.jmh:jmh-core:jar:1.37 in the shaded jar. +[INFO] Including net.sf.jopt-simple:jopt-simple:jar:5.0.4 in the shaded jar. +[INFO] Including org.apache.commons:commons-math3:jar:3.6.1 in the shaded jar. +[INFO] Including com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.21.2 in the shaded jar. +[INFO] Including com.fasterxml.jackson.core:jackson-core:jar:2.21.2 in the shaded jar. +[INFO] Including com.fasterxml.jackson.core:jackson-annotations:jar:2.21 in the shaded jar. +[INFO] Including com.fasterxml.jackson.core:jackson-databind:jar:2.21.2 in the shaded jar. +[INFO] Including org.codehaus.woodstox:stax2-api:jar:4.2.2 in the shaded jar. +[INFO] Including com.fasterxml.woodstox:woodstox-core:jar:7.1.1 in the shaded jar. +[INFO] Including com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.21.2 in the shaded jar. +[INFO] Including org.glassfish.jaxb:jaxb-runtime:jar:4.0.5 in the shaded jar. +[INFO] Including org.glassfish.jaxb:jaxb-core:jar:4.0.5 in the shaded jar. +[INFO] Including jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.2 in the shaded jar. +[INFO] Including jakarta.activation:jakarta.activation-api:jar:2.1.3 in the shaded jar. +[INFO] Including org.eclipse.angus:angus-activation:jar:2.0.2 in the shaded jar. +[INFO] Including org.glassfish.jaxb:txw2:jar:4.0.5 in the shaded jar. +[INFO] Including com.sun.istack:istack-commons-runtime:jar:4.1.2 in the shaded jar. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] Discovered module-info.class. Shading will break its strong encapsulation. +[WARNING] jackson-core-2.21.2.jar, jackson-databind-2.21.2.jar, jackson-dataformat-xml-2.21.2.jar, jackson-datatype-jdk8-2.21.2.jar define 1 overlapping classes: +[WARNING] - META-INF.versions.9.module-info +[WARNING] jackson-annotations-2.21.jar, jackson-core-2.21.2.jar, jackson-databind-2.21.2.jar, jackson-dataformat-xml-2.21.2.jar, jackson-datatype-jdk8-2.21.2.jar define 1 overlapping resource: +[WARNING] - META-INF/NOTICE +[WARNING] jackson-annotations-2.21.jar, jackson-core-2.21.2.jar, jackson-databind-2.21.2.jar, jackson-dataformat-xml-2.21.2.jar, jackson-datatype-jdk8-2.21.2.jar, stax2-api-4.2.2.jar, woodstox-core-7.1.1.jar define 1 overlapping resource: +[WARNING] - META-INF/LICENSE +[WARNING] angus-activation-2.0.2.jar, jakarta.activation-api-2.1.3.jar, jakarta.xml.bind-api-4.0.2.jar, jaxb-core-4.0.5.jar, jaxb-runtime-4.0.5.jar, txw2-4.0.5.jar define 2 overlapping resources: +[WARNING] - META-INF/LICENSE.md +[WARNING] - META-INF/NOTICE.md +[WARNING] angus-activation-2.0.2.jar, commons-math3-3.6.1.jar, istack-commons-runtime-4.1.2.jar, jackson-annotations-2.21.jar, jackson-core-2.21.2.jar, jackson-databind-2.21.2.jar, jackson-dataformat-xml-2.21.2.jar, jackson-datatype-jdk8-2.21.2.jar, jakarta.activation-api-2.1.3.jar, jakarta.xml.bind-api-4.0.2.jar, java-codegen-benchmarks-1.0-SNAPSHOT.jar, jaxb-core-4.0.5.jar, jaxb-runtime-4.0.5.jar, jmh-core-1.37.jar, jopt-simple-5.0.4.jar, stax2-api-4.2.2.jar, txw2-4.0.5.jar, woodstox-core-7.1.1.jar define 1 overlapping resource: +[WARNING] - META-INF/MANIFEST.MF +[WARNING] maven-shade-plugin has detected that some files are +[WARNING] present in two or more JARs. When this happens, only one +[WARNING] single version of the file is copied to the uber jar. +[WARNING] Usually this is not harmful and you can skip these warnings, +[WARNING] otherwise try to manually exclude artifacts based on +[WARNING] mvn dependency:tree -Ddetail=true and the above output. +[WARNING] See https://maven.apache.org/plugins/maven-shade-plugin/ +[INFO] Replacing /home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar with /home/bailey/github/PolyXML/benchmarks/java/target/java-codegen-benchmarks-1.0-SNAPSHOT-shaded.jar +[INFO] ------------------------------------------------------------------------ +[INFO] BUILD SUCCESS +[INFO] ------------------------------------------------------------------------ +[INFO] Total time: 19.434 s +[INFO] Finished at: 2026-10-04T10:36:34-05:00 +[INFO] ------------------------------------------------------------------------ diff --git a/docs/benchmarks/data/2026-10-04/native-models/java-dependencies.txt b/docs/benchmarks/data/2026-10-04/native-models/java-dependencies.txt new file mode 100644 index 00000000..38cc5253 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/java-dependencies.txt @@ -0,0 +1,347 @@ +[INFO] Scanning for projects... +[INFO] Loaded 23986 auto-discovered prefixes for remote repository central (prefixes-central.txt) +[INFO] Loaded 74 auto-discovered prefixes for remote repository apache.snapshots (prefixes-apache.snapshots.txt) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/3.2.0/maven-install-plugin-3.2.0.pom +Progress (1): 783 B Progress (1): 1.8 kB Progress (1): 3.8 kB Progress (1): 7.4 kB Progress (1): 7.9 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/3.2.0/maven-install-plugin-3.2.0.pom (7.9 kB at 31 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/3.2.0/maven-install-plugin-3.2.0.jar +Progress (1): 0.9/37 kB Progress (1): 2.3/37 kB Progress (1): 3.6/37 kB Progress (1): 5.0/37 kB Progress (1): 6.4/37 kB Progress (1): 7.7/37 kB Progress (1): 9.1/37 kB Progress (1): 10/37 kB Progress (1): 12/37 kB Progress (1): 13/37 kB Progress (1): 15/37 kB Progress (1): 16/37 kB Progress (1): 17/37 kB Progress (1): 19/37 kB Progress (1): 20/37 kB Progress (1): 21/37 kB Progress (1): 23/37 kB Progress (1): 24/37 kB Progress (1): 25/37 kB Progress (1): 27/37 kB Progress (1): 28/37 kB Progress (1): 30/37 kB Progress (1): 31/37 kB Progress (1): 32/37 kB Progress (1): 34/37 kB Progress (1): 35/37 kB Progress (1): 36/37 kB Progress (1): 37 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/3.2.0/maven-install-plugin-3.2.0.jar (37 kB at 422 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/3.2.0/maven-deploy-plugin-3.2.0.pom +Progress (1): 766 B Progress (1): 1.7 kB Progress (1): 3.8 kB Progress (1): 7.7 kB Progress (1): 8.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/3.2.0/maven-deploy-plugin-3.2.0.pom (8.7 kB at 131 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/3.2.0/maven-deploy-plugin-3.2.0.jar +Progress (1): 0.9/43 kB Progress (1): 2.3/43 kB Progress (1): 3.6/43 kB Progress (1): 5.0/43 kB Progress (1): 6.4/43 kB Progress (1): 7.7/43 kB Progress (1): 9.1/43 kB Progress (1): 11/43 kB Progress (1): 16/43 kB Progress (1): 20/43 kB Progress (1): 24/43 kB Progress (1): 28/43 kB Progress (1): 33/43 kB Progress (1): 37/43 kB Progress (1): 41/43 kB Progress (1): 43 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/3.2.0/maven-deploy-plugin-3.2.0.jar (43 kB at 626 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-site-plugin/3.22.0/maven-site-plugin-3.22.0.pom +Progress (1): 739 B Progress (1): 2.3 kB Progress (1): 5.1 kB Progress (1): 7.0 kB Progress (1): 13 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-site-plugin/3.22.0/maven-site-plugin-3.22.0.pom (20 kB at 285 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/48/maven-plugins-48.pom +Progress (1): 771 B Progress (1): 2.3 kB Progress (1): 4.9 kB Progress (1): 7.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/48/maven-plugins-48.pom (7.2 kB at 99 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/48/maven-parent-48.pom +Progress (1): 716 B Progress (1): 1.9 kB Progress (1): 5.6 kB Progress (1): 9.7 kB Progress (1): 14 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 25 kB Progress (1): 27 kB Progress (1): 29 kB Progress (1): 33 kB Progress (1): 37 kB Progress (1): 39 kB Progress (1): 42 kB Progress (1): 45 kB Progress (1): 49 kB Progress (1): 50 kB Progress (1): 50 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/48/maven-parent-48.pom (50 kB at 751 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/38/apache-38.pom +Progress (1): 733 B Progress (1): 2.0 kB Progress (1): 4.0 kB Progress (1): 5.9 kB Progress (1): 10 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 20 kB Progress (1): 23 kB Progress (1): 25 kB Progress (1): 26 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/38/apache-38.pom (26 kB at 371 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-site-plugin/3.22.0/maven-site-plugin-3.22.0.jar +Progress (1): 3.8/126 kB Progress (1): 8.0/126 kB Progress (1): 12/126 kB Progress (1): 16/126 kB Progress (1): 21/126 kB Progress (1): 25/126 kB Progress (1): 29/126 kB Progress (1): 33/126 kB Progress (1): 38/126 kB Progress (1): 42/126 kB Progress (1): 46/126 kB Progress (1): 50/126 kB Progress (1): 54/126 kB Progress (1): 59/126 kB Progress (1): 63/126 kB Progress (1): 67/126 kB Progress (1): 71/126 kB Progress (1): 76/126 kB Progress (1): 80/126 kB Progress (1): 84/126 kB Progress (1): 100/126 kB Progress (1): 117/126 kB Progress (1): 126 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-site-plugin/3.22.0/maven-site-plugin-3.22.0.jar (126 kB at 1.5 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml +Progress (1): 3.2 kB Progress (1): 8.9 kB Progress (1): 14 kB Progress (1): 20 kB Progress (1): 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml (20 kB at 327 kB/s) +Progress (1): 3.4 kB Progress (1): 7.2 kB Progress (1): 10 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml (10 kB at 60 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/maven-metadata.xml +Progress (1): 1.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/maven-metadata.xml (1.4 kB at 13 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/3.11.0/maven-dependency-plugin-3.11.0.pom +Progress (1): 747 B Progress (1): 1.8 kB Progress (1): 3.6 kB Progress (1): 7.2 kB Progress (1): 10.0 kB Progress (1): 14 kB Progress (1): 17 kB Progress (1): 18 kB Progress (1): 19 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/3.11.0/maven-dependency-plugin-3.11.0.pom (19 kB at 312 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/3.11.0/maven-dependency-plugin-3.11.0.jar +Progress (1): 0.9/262 kB Progress (1): 2.3/262 kB Progress (1): 3.6/262 kB Progress (1): 5.0/262 kB Progress (1): 6.4/262 kB Progress (1): 7.7/262 kB Progress (1): 9.1/262 kB Progress (1): 10/262 kB Progress (1): 12/262 kB Progress (1): 13/262 kB Progress (1): 15/262 kB Progress (1): 16/262 kB Progress (1): 17/262 kB Progress (1): 19/262 kB Progress (1): 20/262 kB Progress (1): 21/262 kB Progress (1): 23/262 kB Progress (1): 24/262 kB Progress (1): 26/262 kB Progress (1): 27/262 kB Progress (1): 28/262 kB Progress (1): 30/262 kB Progress (1): 31/262 kB Progress (1): 32/262 kB Progress (1): 34/262 kB Progress (1): 35/262 kB Progress (1): 36/262 kB Progress (1): 38/262 kB Progress (1): 39/262 kB Progress (1): 41/262 kB Progress (1): 42/262 kB Progress (1): 46/262 kB Progress (1): 50/262 kB Progress (1): 55/262 kB Progress (1): 57/262 kB Progress (1): 61/262 kB Progress (1): 65/262 kB Progress (1): 70/262 kB Progress (1): 74/262 kB Progress (1): 78/262 kB Progress (1): 82/262 kB Progress (1): 86/262 kB Progress (1): 91/262 kB Progress (1): 95/262 kB Progress (1): 99/262 kB Progress (1): 103/262 kB Progress (1): 108/262 kB Progress (1): 112/262 kB Progress (1): 116/262 kB Progress (1): 120/262 kB Progress (1): 125/262 kB Progress (1): 129/262 kB Progress (1): 133/262 kB Progress (1): 137/262 kB Progress (1): 141/262 kB Progress (1): 146/262 kB Progress (1): 150/262 kB Progress (1): 154/262 kB Progress (1): 158/262 kB Progress (1): 163/262 kB Progress (1): 167/262 kB Progress (1): 171/262 kB Progress (1): 175/262 kB Progress (1): 180/262 kB Progress (1): 184/262 kB Progress (1): 188/262 kB Progress (1): 192/262 kB Progress (1): 196/262 kB Progress (1): 201/262 kB Progress (1): 205/262 kB Progress (1): 209/262 kB Progress (1): 225/262 kB Progress (1): 242/262 kB Progress (1): 258/262 kB Progress (1): 262 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/3.11.0/maven-dependency-plugin-3.11.0.jar (262 kB at 1.7 MB/s) +[INFO] +[INFO] -----------------< io.polyxml:java-codegen-benchmarks >----------------- +[INFO] Building java-codegen-benchmarks 1.0-SNAPSHOT +[INFO] from pom.xml +[INFO] --------------------------------[ jar ]--------------------------------- +[INFO] +[INFO] --- dependency:3.11.0:tree (default-cli) @ java-codegen-benchmarks --- +Downloading from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip-core/1.5.1/domtrip-core-1.5.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-impl/4.0.0/maven-reporting-impl-4.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/4.0.0/maven-reporting-api-4.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip-maven/1.5.1/domtrip-maven-1.5.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/2.1.0/doxia-sink-api-2.1.0.pom +Progress (1): 848 B Progress (2): 848 B | 788 B Progress (2): 1.3 kB | 788 B Progress (2): 1.3 kB | 2.3 kB Progress (2): 1.3 kB | 5.8 kB Progress (2): 1.3 kB | 8.6 kB Progress (2): 1.3 kB | 8.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/2.1.0/doxia-sink-api-2.1.0.pom (1.3 kB at 24 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-impl/4.0.0/maven-reporting-impl-4.0.0.pom (8.8 kB at 159 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia/2.1.0/doxia-2.1.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/43/maven-shared-components-43.pom +Progress (1): 811 B Progress (1): 2.3 kB Progress (1): 3.8 kB Progress (2): 3.8 kB | 763 B Progress (2): 3.8 kB | 2.2 kB Progress (2): 3.8 kB | 4.5 kB Progress (2): 3.8 kB | 8.2 kB Progress (2): 3.8 kB | 12 kB Progress (2): 3.8 kB | 13 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/43/maven-shared-components-43.pom (3.8 kB at 66 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia/2.1.0/doxia-2.1.0.pom (13 kB at 227 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.2/junit-bom-5.11.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.11.0/plexus-archiver-4.11.0.pom +Progress (1): 791 B Progress (1): 1.9 kB Progress (1): 2.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/4.0.0/maven-reporting-api-4.0.0.pom (2.8 kB at 17 kB/s) +Progress (1): 890 B Progress (1): 2.6 kB Progress (1): 3.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip-maven/1.5.1/domtrip-maven-1.5.1.pom (3.7 kB at 22 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.20.0/commons-lang3-3.20.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip/1.5.1/domtrip-1.5.1.pom +Progress (1): 1.2 kB Progress (1): 4.2 kB Progress (1): 5.6 kB Progress (2): 5.6 kB | 896 B Progress (2): 5.6 kB | 2.8 kB Progress (2): 5.6 kB | 4.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.11.0/plexus-archiver-4.11.0.pom (5.6 kB at 106 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip-core/1.5.1/domtrip-core-1.5.1.pom (4.7 kB at 27 kB/s) +Progress (1): 908 B Progress (1): 4.1 kB Progress (1): 5.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.2/junit-bom-5.11.2.pom (5.6 kB at 99 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-i18n/1.1.0/plexus-i18n-1.1.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-analyzer/1.17.1/maven-dependency-analyzer-1.17.1.pom +Progress (1): 740 B Progress (2): 740 B | 1.0 kB Progress (2): 740 B | 1.6 kB Progress (2): 1.6 kB | 1.6 kB Progress (2): 3.4 kB | 1.6 kB Progress (2): 5.1 kB | 1.6 kB Progress (2): 6.4 kB | 1.6 kB Progress (2): 8.2 kB | 1.6 kB Progress (2): 11 kB | 1.6 kB Progress (2): 12 kB | 1.6 kB Progress (2): 17 kB | 1.6 kB Progress (2): 19 kB | 1.6 kB Progress (2): 21 kB | 1.6 kB Progress (2): 24 kB | 1.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip/1.5.1/domtrip-1.5.1.pom (1.6 kB at 28 kB/s) +Progress (1): 28 kB Progress (1): 30 kB Progress (1): 33 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.20.0/commons-lang3-3.20.0.pom (33 kB at 562 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/parent/parent/52/parent-52.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/92/commons-parent-92.pom +Progress (1): 1.2 kB Progress (1): 2.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-i18n/1.1.0/plexus-i18n-1.1.0.pom (2.8 kB at 47 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-tree/3.3.0/maven-dependency-tree-3.3.0.pom +Progress (1): 793 B Progress (1): 1.8 kB Progress (1): 4.1 kB Progress (1): 6.7 kB Progress (1): 7.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-analyzer/1.17.1/maven-dependency-analyzer-1.17.1.pom (7.1 kB at 112 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/48/maven-shared-components-48.pom +Progress (1): 816 B Progress (1): 2.4 kB Progress (1): 4.2 kB Progress (1): 6.6 kB Progress (1): 9.8 kB Progress (1): 13 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 26 kB Downloaded from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/parent/parent/52/parent-52.pom (26 kB at 422 kB/s) +Progress (1): 816 B Progress (1): 1.8 kB Progress (1): 3.1 kB Progress (1): 4.4 kB Progress (1): 5.5 kB Progress (1): 7.8 kB Progress (1): 10 kB Progress (1): 12 kB Progress (1): 14 kB Progress (1): 16 kB Progress (1): 17 kB Progress (1): 20 kB Progress (1): 23 kB Progress (1): 24 kB Progress (1): 27 kB Progress (1): 30 kB Progress (1): 32 kB Progress (1): 38 kB Progress (1): 41 kB Progress (1): 44 kB Progress (1): 46 kB Progress (1): 49 kB Progress (1): 51 kB Progress (1): 53 kB Progress (1): 57 kB Progress (1): 58 kB Progress (1): 61 kB Progress (1): 65 kB Progress (1): 68 kB Progress (1): 70 kB Progress (1): 73 kB Progress (1): 74 kB Progress (1): 77 kB Progress (1): 80 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/92/commons-parent-92.pom (80 kB at 1.2 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-artifact-transfer/0.13.1/maven-artifact-transfer-0.13.1.pom +Progress (1): 788 B Progress (1): 2.3 kB Progress (1): 4.9 kB Progress (1): 7.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-tree/3.3.0/maven-dependency-tree-3.3.0.pom (7.0 kB at 125 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.9.25/maven-resolver-util-1.9.25.pom +Progress (1): 810 B Progress (1): 1.9 kB Progress (1): 3.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/48/maven-shared-components-48.pom (3.8 kB at 58 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/assertj/assertj-bom/3.27.7/assertj-bom-3.27.7.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-core/2.4.1/velocity-engine-core-2.4.1.pom +Progress (1): 1.1 kB Progress (1): 2.8 kB Progress (1): 5.9 kB Progress (1): 10 kB Progress (1): 11 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-artifact-transfer/0.13.1/maven-artifact-transfer-0.13.1.pom (11 kB at 216 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/34/maven-shared-components-34.pom +Progress (1): 838 B Progress (1): 2.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.9.25/maven-resolver-util-1.9.25.pom (2.2 kB at 41 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver/1.9.25/maven-resolver-1.9.25.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/tools/velocity-tools-generic/3.1/velocity-tools-generic-3.1.pom +Progress (1): 1.0 kB Progress (1): 3.2 kB Progress (2): 3.2 kB | 797 B Progress (2): 3.2 kB | 1.7 kB Progress (2): 3.3 kB | 1.7 kB Progress (2): 3.3 kB | 3.8 kB Progress (2): 3.3 kB | 7.9 kB Progress (2): 3.3 kB | 11 kB Progress (2): 3.3 kB | 12 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/assertj/assertj-bom/3.27.7/assertj-bom-3.27.7.pom (3.3 kB at 49 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-core/2.4.1/velocity-engine-core-2.4.1.pom (12 kB at 193 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/2.0.0/doxia-sink-api-2.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-parent/2.4.1/velocity-engine-parent-2.4.1.pom +Progress (1): 781 B Progress (1): 1.8 kB Progress (1): 3.7 kB Progress (1): 5.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/34/maven-shared-components-34.pom (5.1 kB at 96 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/34/maven-parent-34.pom +Progress (1): 756 B Progress (1): 2.3 kB Progress (1): 4.0 kB Progress (1): 9.1 kB Progress (1): 12 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 22 kB Progress (1): 25 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver/1.9.25/maven-resolver-1.9.25.pom (25 kB at 446 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-model/2.0.0/doxia-site-model-2.0.0.pom +Progress (1): 862 B Progress (1): 2.6 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/tools/velocity-tools-generic/3.1/velocity-tools-generic-3.1.pom (2.6 kB at 49 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/tools/velocity-tools-parent/3.1/velocity-tools-parent-3.1.pom +Progress (1): 835 B Progress (1): 1.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/2.0.0/doxia-sink-api-2.0.0.pom (1.4 kB at 24 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia/2.0.0/doxia-2.0.0.pom +Progress (1): 806 B Progress (1): 1.8 kB Progress (1): 4.4 kB Progress (1): 6.7 kB Progress (1): 9.3 kB Progress (1): 9.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-parent/2.4.1/velocity-engine-parent-2.4.1.pom (9.5 kB at 151 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-master/7/velocity-master-7.pom +Progress (1): 727 B Progress (1): 1.6 kB Progress (1): 4.4 kB Progress (1): 8.5 kB Progress (1): 11 kB Progress (1): 16 kB Progress (1): 20 kB Progress (1): 24 kB Progress (1): 26 kB Progress (1): 28 kB Progress (1): 29 kB Progress (1): 33 kB Progress (1): 36 kB Progress (1): 38 kB Progress (1): 43 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/34/maven-parent-34.pom (43 kB at 765 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-core/2.0.0/doxia-core-2.0.0.pom +Progress (1): 816 B Progress (1): 2.2 kB Progress (1): 4.5 kB Progress (1): 7.5 kB Progress (1): 8.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/tools/velocity-tools-parent/3.1/velocity-tools-parent-3.1.pom (8.0 kB at 151 kB/s) +Progress (1): 789 B Progress (1): 2.7 kB Progress (1): 5.8 kB Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-master/4/velocity-master-4.pom +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-model/2.0.0/doxia-site-model-2.0.0.pom (5.8 kB at 91 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sitetools/2.0.0/doxia-sitetools-2.0.0.pom +Progress (1): 754 B Progress (2): 754 B | 812 B Progress (2): 754 B | 1.8 kB Progress (2): 1.6 kB | 1.8 kB Progress (2): 3.3 kB | 1.8 kB Progress (2): 7.5 kB | 1.8 kB Progress (2): 9.5 kB | 1.8 kB Progress (2): 9.5 kB | 4.4 kB Progress (2): 9.5 kB | 7.5 kB Progress (2): 9.5 kB | 7.9 kB Progress (2): 12 kB | 7.9 kB Progress (2): 17 kB | 7.9 kB Progress (2): 17 kB | 7.9 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-master/7/velocity-master-7.pom (7.9 kB at 128 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia/2.0.0/doxia-2.0.0.pom (17 kB at 257 kB/s) +Progress (1): 815 B Progress (1): 2.5 kB Progress (1): 3.9 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-core/2.0.0/doxia-core-2.0.0.pom (3.9 kB at 74 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-integration-tools/2.0.0/doxia-integration-tools-2.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-renderer/2.0.0/doxia-site-renderer-2.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-apt/2.0.0/doxia-module-apt-2.0.0.pom +Progress (1): 758 B Progress (1): 2.2 kB Progress (1): 5.4 kB Progress (1): 8.4 kB Progress (1): 12 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sitetools/2.0.0/doxia-sitetools-2.0.0.pom (12 kB at 203 kB/s) +Progress (1): 808 B Progress (1): 2.5 kB Progress (1): 5.9 kB Progress (1): 7.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-master/4/velocity-master-4.pom (7.8 kB at 118 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/2.0.0/doxia-module-xdoc-2.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.6.2/maven-archiver-3.6.2.pom +Progress (1): 840 B Progress (1): 2.1 kB Progress (1): 6.9 kB Progress (1): 7.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-integration-tools/2.0.0/doxia-integration-tools-2.0.0.pom (7.8 kB at 144 kB/s) +Progress (1): 774 B Progress (1): 1.8 kB Progress (1): 6.1 kB Progress (1): 7.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-renderer/2.0.0/doxia-site-renderer-2.0.0.pom (7.4 kB at 125 kB/s) +Progress (1): 819 B Progress (1): 1.9 kB Progress (1): 2.9 kB Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/1.0.0/org.eclipse.sisu.plexus-1.0.0.pom +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-apt/2.0.0/doxia-module-apt-2.0.0.pom (2.9 kB at 47 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-modules/2.0.0/doxia-modules-2.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.21.0/commons-io-2.21.0.pom +Progress (1): 801 B Progress (1): 2.3 kB Progress (1): 4.4 kB Progress (2): 4.4 kB | 779 B Progress (2): 4.4 kB | 3.1 kB Progress (2): 4.4 kB | 5.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.6.2/maven-archiver-3.6.2.pom (4.4 kB at 88 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/2.0.0/doxia-module-xdoc-2.0.0.pom (5.4 kB at 102 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/41/maven-shared-components-41.pom +Progress (1): 823 B Progress (1): 2.2 kB Progress (1): 2.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-modules/2.0.0/doxia-modules-2.0.0.pom (2.5 kB at 47 kB/s) +Progress (1): 760 B Progress (1): 1.6 kB Progress (1): 4.3 kB Progress (1): 6.2 kB Progress (1): 7.3 kB Progress (1): 9.5 kB Progress (1): 13 kB Progress (1): 15 kB Downloading from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.11/xz-1.11.pom +Progress (1): 18 kB Progress (1): 21 kB Progress (1): 21 kB Progress (2): 21 kB | 802 B Progress (2): 21 kB | 2.1 kB Progress (2): 21 kB | 4.9 kB Progress (2): 21 kB | 12 kB Progress (2): 21 kB | 17 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.21.0/commons-io-2.21.0.pom (21 kB at 372 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/1.0.0/org.eclipse.sisu.plexus-1.0.0.pom (17 kB at 272 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/91/commons-parent-91.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/sisu-inject/1.0.0/sisu-inject-1.0.0.pom +Progress (1): 815 B Progress (1): 2.3 kB Progress (1): 3.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/41/maven-shared-components-41.pom (3.2 kB at 61 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/github/luben/zstd-jni/1.5.7-6/zstd-jni-1.5.7-6.pom +Progress (1): 783 B Progress (2): 783 B | 699 B Progress (2): 783 B | 1.9 kB Progress (2): 783 B | 3.2 kB Progress (2): 1.9 kB | 3.2 kB Progress (2): 1.9 kB | 4.7 kB Progress (2): 1.9 kB | 6.8 kB Progress (2): 1.9 kB | 9.4 kB Progress (2): 1.9 kB | 11 kB Progress (2): 1.9 kB | 12 kB Progress (2): 4.2 kB | 12 kB Progress (2): 6.1 kB | 12 kB Progress (2): 8.7 kB | 12 kB Progress (2): 12 kB | 12 kB Progress (2): 16 kB | 12 kB Progress (2): 18 kB | 12 kB Progress (2): 18 kB | 14 kB Progress (2): 18 kB | 16 kB Progress (2): 18 kB | 19 kB Progress (2): 18 kB | 22 kB Progress (2): 21 kB | 22 kB Progress (2): 21 kB | 24 kB Progress (2): 24 kB | 24 kB Progress (2): 26 kB | 24 kB Progress (2): 26 kB | 26 kB Progress (2): 26 kB | 30 kB Progress (2): 28 kB | 30 kB Progress (2): 28 kB | 33 kB Progress (2): 28 kB | 34 kB Progress (2): 28 kB | 39 kB Progress (2): 28 kB | 43 kB Progress (2): 28 kB | 45 kB Progress (2): 28 kB | 48 kB Progress (2): 28 kB | 51 kB Progress (2): 28 kB | 54 kB Progress (2): 28 kB | 57 kB Progress (2): 28 kB | 59 kB Progress (2): 28 kB | 60 kB Progress (2): 28 kB | 63 kB Progress (2): 28 kB | 68 kB Progress (2): 28 kB | 70 kB Progress (2): 28 kB | 73 kB Progress (2): 28 kB | 75 kB Progress (2): 28 kB | 78 kB Progress (2): 28 kB | 79 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/91/commons-parent-91.pom (79 kB at 1.1 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.10/asm-9.10.pom +Progress (2): 28 kB | 1.1 kB Progress (3): 28 kB | 1.1 kB | 1.1 kB Progress (3): 28 kB | 1.1 kB | 2.0 kB Progress (3): 28 kB | 1.9 kB | 2.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/sisu-inject/1.0.0/sisu-inject-1.0.0.pom (28 kB at 366 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.11/xz-1.11.pom (1.9 kB at 24 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/com/github/luben/zstd-jni/1.5.7-6/zstd-jni-1.5.7-6.pom (2.0 kB at 32 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.0.0/plexus-component-annotations-2.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.1.0/maven-common-artifact-filters-3.1.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.9.25/maven-resolver-api-1.9.25.pom +Progress (1): 1.3 kB Progress (1): 2.4 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.10/asm-9.10.pom (2.4 kB at 42 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.17.0/commons-lang3-3.17.0.pom +Progress (1): 750 B Progress (2): 750 B | 1.4 kB Progress (2): 750 B | 2.7 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.0.0/plexus-component-annotations-2.0.0.pom (750 B at 12 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.pom (2.7 kB at 44 kB/s) +Progress (1): 835 B Progress (2): 835 B | 803 B Progress (2): 835 B | 1.8 kB Progress (2): 2.2 kB | 1.8 kB Progress (2): 2.2 kB | 5.1 kB Progress (2): 2.2 kB | 5.3 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/3.1.0/maven-common-artifact-filters-3.1.0.pom (5.3 kB at 84 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-api/1.9.25/maven-resolver-api-1.9.25.pom (2.2 kB at 39 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/2.0.0/plexus-containers-2.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.5/slf4j-parent-1.7.5.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/33/maven-shared-components-33.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-core/2.3/velocity-engine-core-2.3.pom +Progress (1): 742 B Progress (1): 1.8 kB Progress (1): 4.1 kB Progress (1): 5.8 kB Progress (1): 7.6 kB Progress (1): 10.0 kB Progress (1): 13 kB Progress (1): 14 kB Progress (1): 17 kB Progress (1): 20 kB Progress (1): 24 kB Progress (1): 27 kB Progress (1): 30 kB Progress (1): 31 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.17.0/commons-lang3-3.17.0.pom (31 kB at 558 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/73/commons-parent-73.pom +Progress (1): 1.4 kB Progress (2): 1.4 kB | 1.1 kB Progress (2): 4.2 kB | 1.1 kB Progress (2): 4.2 kB | 3.6 kB Progress (2): 4.2 kB | 6.6 kB Progress (2): 8.1 kB | 6.6 kB Progress (2): 10 kB | 6.6 kB Progress (2): 10 kB | 9.6 kB Progress (2): 10 kB | 12 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.5/slf4j-parent-1.7.5.pom (12 kB at 197 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-core/2.3/velocity-engine-core-2.3.pom (10 kB at 178 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-parent/2.3/velocity-engine-parent-2.3.pom +Progress (1): 1.3 kB Progress (1): 4.0 kB Progress (1): 4.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/2.0.0/plexus-containers-2.0.0.pom (4.8 kB at 71 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/5.1/plexus-5.1.pom +Progress (1): 781 B Progress (1): 1.8 kB Progress (1): 3.7 kB Progress (1): 5.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-shared-components/33/maven-shared-components-33.pom (5.1 kB at 68 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-digester3/3.2/commons-digester3-3.2.pom +Progress (1): 705 B Progress (2): 705 B | 764 B Progress (3): 705 B | 764 B | 801 B Progress (3): 705 B | 2.1 kB | 801 B Progress (3): 705 B | 2.1 kB | 2.2 kB Progress (3): 1.9 kB | 2.1 kB | 2.2 kB Progress (3): 1.9 kB | 3.7 kB | 2.2 kB Progress (3): 3.2 kB | 3.7 kB | 2.2 kB Progress (3): 3.2 kB | 3.7 kB | 6.0 kB Progress (3): 3.2 kB | 7.1 kB | 6.0 kB Progress (3): 4.6 kB | 7.1 kB | 6.0 kB Progress (3): 4.6 kB | 7.1 kB | 9.4 kB Progress (3): 4.6 kB | 11 kB | 9.4 kB Progress (3): 6.8 kB | 11 kB | 9.4 kB Progress (3): 6.8 kB | 11 kB | 12 kB Progress (3): 6.8 kB | 13 kB | 12 kB Progress (3): 6.8 kB | 13 kB | 14 kB Progress (3): 8.4 kB | 13 kB | 14 kB Progress (3): 8.4 kB | 16 kB | 14 kB Progress (3): 11 kB | 16 kB | 14 kB Progress (3): 11 kB | 18 kB | 14 kB Progress (3): 11 kB | 18 kB | 14 kB Progress (3): 13 kB | 18 kB | 14 kB Progress (3): 15 kB | 18 kB | 14 kB Progress (3): 17 kB | 18 kB | 14 kB Progress (3): 20 kB | 18 kB | 14 kB Progress (3): 23 kB | 18 kB | 14 kB Progress (3): 26 kB | 18 kB | 14 kB Progress (3): 29 kB | 18 kB | 14 kB Progress (3): 32 kB | 18 kB | 14 kB Progress (3): 33 kB | 18 kB | 14 kB Progress (3): 38 kB | 18 kB | 14 kB Progress (3): 41 kB | 18 kB | 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.pom (18 kB at 322 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-parent/2.3/velocity-engine-parent-2.3.pom (14 kB at 247 kB/s) +Progress (1): 44 kB Progress (1): 47 kB Progress (1): 50 kB Progress (1): 52 kB Progress (1): 56 kB Progress (1): 59 kB Progress (1): 59 kB Progress (1): 63 kB Progress (1): 66 kB Progress (1): 69 kB Progress (1): 72 kB Progress (1): 74 kB Progress (1): 78 kB Progress (1): 78 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/73/commons-parent-73.pom (78 kB at 1.1 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/47/commons-parent-47.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.10/commons-lang3-3.10.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.pom +Progress (1): 700 B Progress (1): 1.8 kB Progress (1): 5.4 kB Progress (1): 8.7 kB Progress (1): 9.9 kB Progress (1): 14 kB Progress (1): 18 kB Progress (1): 21 kB Progress (1): 23 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/5.1/plexus-5.1.pom (23 kB at 375 kB/s) +Progress (1): 765 B Progress (1): 1.6 kB Downloading from central: https://repo.maven.apache.org/maven2/com/github/cliftonlabs/json-simple/3.0.2/json-simple-3.0.2.pom +Progress (1): 4.1 kB Progress (1): 6.3 kB Progress (1): 7.4 kB Progress (1): 10.0 kB Progress (1): 13 kB Progress (1): 15 kB Progress (1): 17 kB Progress (1): 18 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-digester3/3.2/commons-digester3-3.2.pom (18 kB at 284 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/22/commons-parent-22.pom +Progress (1): 1.0 kB Progress (1): 3.3 kB Progress (1): 3.8 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.pom (3.8 kB at 77 kB/s) +Progress (1): 704 B Progress (1): 1.9 kB Progress (1): 3.3 kB Progress (1): 5.0 kB Progress (1): 6.7 kB Progress (1): 8.3 kB Progress (1): 9.8 kB Progress (1): 10 kB Progress (1): 14 kB Progress (1): 16 kB Progress (1): 20 kB Progress (1): 23 kB Progress (1): 27 kB Progress (1): 30 kB Progress (1): 32 kB Progress (1): 35 kB Progress (1): 35 kB Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.30/slf4j-parent-1.7.30.pom +Progress (1): 38 kB Progress (1): 43 kB Progress (1): 45 kB Progress (1): 47 kB Progress (1): 52 kB Progress (1): 58 kB Progress (1): 61 kB Progress (2): 61 kB | 721 B Progress (2): 65 kB | 721 B Progress (2): 65 kB | 2.1 kB Progress (2): 67 kB | 2.1 kB Progress (2): 67 kB | 5.3 kB Progress (2): 67 kB | 9.1 kB Progress (2): 67 kB | 13 kB Progress (2): 67 kB | 15 kB Progress (2): 67 kB | 17 kB Progress (2): 67 kB | 19 kB Progress (2): 67 kB | 21 kB Progress (2): 67 kB | 25 kB Progress (2): 67 kB | 28 kB Progress (2): 67 kB | 31 kB Progress (2): 69 kB | 31 kB Progress (2): 70 kB | 31 kB Progress (2): 73 kB | 31 kB Progress (2): 74 kB | 31 kB Progress (2): 76 kB | 31 kB Progress (2): 78 kB | 31 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/47/commons-parent-47.pom (78 kB at 1.4 MB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.10/commons-lang3-3.10.pom (31 kB at 536 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/50/commons-parent-50.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/19/apache-19.pom +Progress (1): 724 B Progress (1): 1.9 kB Progress (1): 3.4 kB Progress (1): 7.0 kB Progress (1): 9.8 kB Progress (1): 14 kB Progress (1): 17 kB Progress (1): 17 kB Progress (2): 17 kB | 1.0 kB Progress (2): 17 kB | 3.1 kB Progress (2): 17 kB | 6.8 kB Progress (2): 17 kB | 7.5 kB Progress (2): 20 kB | 7.5 kB Progress (2): 24 kB | 7.5 kB Progress (2): 32 kB | 7.5 kB Progress (2): 34 kB | 7.5 kB Progress (2): 37 kB | 7.5 kB Progress (2): 39 kB | 7.5 kB Progress (2): 41 kB | 7.5 kB Progress (2): 42 kB | 7.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/github/cliftonlabs/json-simple/3.0.2/json-simple-3.0.2.pom (7.5 kB at 115 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/22/commons-parent-22.pom (42 kB at 687 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/9/apache-9.pom +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.17.0/commons-io-2.17.0.pom +Progress (1): 1.0 kB Progress (1): 3.2 kB Progress (1): 6.0 kB Progress (1): 9.1 kB Progress (1): 12 kB Progress (1): 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.30/slf4j-parent-1.7.30.pom (14 kB at 271 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.pom +Progress (1): 756 B Progress (1): 2.1 kB Progress (1): 3.9 kB Progress (1): 8.0 kB Progress (1): 12 kB Progress (1): 15 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/19/apache-19.pom (15 kB at 292 kB/s) +Progress (1): 702 B Progress (1): 1.8 kB Progress (1): 3.1 kB Progress (1): 4.6 kB Progress (1): 6.7 kB Progress (1): 8.3 kB Progress (1): 11 kB Progress (1): 13 kB Progress (1): 15 kB Progress (1): 17 kB Progress (1): 20 kB Progress (1): 23 kB Progress (1): 26 kB Progress (1): 30 kB Progress (1): 33 kB Progress (1): 34 kB Progress (1): 37 kB Progress (1): 39 kB Progress (1): 42 kB Progress (1): 45 kB Progress (1): 49 kB Progress (1): 51 kB Progress (1): 54 kB Progress (1): 58 kB Progress (1): 62 kB Progress (1): 69 kB Progress (1): 72 kB Progress (1): 76 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/50/commons-parent-50.pom (76 kB at 1.3 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.27/plexus-interpolation-1.27.pom +Progress (1): 753 B Progress (1): 2.0 kB Progress (1): 3.7 kB Progress (1): 7.1 kB Progress (1): 11 kB Progress (1): 14 kB Progress (1): 15 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/9/apache-9.pom (15 kB at 266 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-skin-model/2.0.0/doxia-skin-model-2.0.0.pom +Progress (1): 761 B Progress (1): 2.0 kB Progress (1): 4.8 kB Progress (1): 6.9 kB Progress (1): 9.0 kB Progress (1): 12 kB Progress (1): 15 kB Progress (1): 16 kB Progress (1): 19 kB Progress (1): 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.17.0/commons-io-2.17.0.pom (20 kB at 323 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/74/commons-parent-74.pom +Progress (1): 769 B Progress (1): 2.2 kB Progress (1): 3.8 kB Progress (1): 6.9 kB Progress (1): 8.8 kB Progress (1): 13 kB Progress (1): 15 kB Progress (1): 18 kB Progress (1): 20 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.pom (20 kB at 336 kB/s) +Progress (1): 1.4 kB Progress (1): 2.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-i18n/1.0-beta-10/plexus-i18n-1.0-beta-10.pom (2.1 kB at 38 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xhtml5/2.0.0/doxia-module-xhtml5-2.0.0.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom +Progress (1): 1.3 kB Progress (1): 3.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.27/plexus-interpolation-1.27.pom (3.0 kB at 49 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/16/plexus-16.pom +Progress (1): 797 B Progress (1): 2.3 kB Progress (1): 3.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-skin-model/2.0.0/doxia-skin-model-2.0.0.pom (3.0 kB at 52 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/2.2.0/plexus-velocity-2.2.0.pom +Progress (1): 705 B Progress (1): 1.9 kB Progress (1): 3.2 kB Progress (1): 4.6 kB Progress (1): 6.8 kB Progress (1): 8.5 kB Progress (1): 10 kB Progress (1): 11 kB Progress (1): 13 kB Progress (1): 15 kB Progress (1): 17 kB Progress (1): 20 kB Progress (1): 23 kB Progress (1): 26 kB Progress (1): 29 kB Progress (1): 32 kB Progress (1): 33 kB Progress (1): 39 kB Progress (1): 41 kB Progress (1): 44 kB Progress (1): 47 kB Progress (1): 49 kB Progress (1): 52 kB Progress (1): 56 kB Progress (1): 58 kB Progress (1): 59 kB Progress (1): 63 kB Progress (1): 66 kB Progress (1): 70 kB Progress (1): 72 kB Progress (1): 74 kB Progress (1): 78 kB Progress (1): 78 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/74/commons-parent-74.pom (78 kB at 1.1 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-core/2.4/velocity-engine-core-2.4.pom +Progress (1): 1.7 kB Progress (1): 3.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom (3.0 kB at 56 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom +Progress (1): 818 B Progress (1): 2.9 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xhtml5/2.0.0/doxia-module-xhtml5-2.0.0.pom (2.9 kB at 48 kB/s) +Progress (1): 692 B Progress (1): 2.7 kB Progress (1): 6.4 kB Progress (1): 8.9 kB Progress (1): 11 kB Progress (1): 14 kB Progress (1): 18 kB Progress (1): 19 kB Progress (1): 23 kB Progress (1): 27 kB Progress (1): 28 kB Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.9.2/plexus-archiver-4.9.2.pom +Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/16/plexus-16.pom (28 kB at 521 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.inject/1.0.0/org.eclipse.sisu.inject-1.0.0.pom +Progress (1): 808 B Progress (1): 2.4 kB Progress (1): 4.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/2.2.0/plexus-velocity-2.2.0.pom (4.1 kB at 74 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.2.0/plexus-component-annotations-2.2.0.pom +Progress (1): 1.7 kB Progress (2): 1.7 kB | 801 B Progress (2): 1.7 kB | 2.2 kB Progress (2): 1.7 kB | 5.1 kB Progress (2): 1.7 kB | 9.4 kB Progress (2): 1.7 kB | 12 kB Progress (2): 4.8 kB | 12 kB Progress (2): 7.9 kB | 12 kB Progress (2): 8.2 kB | 12 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom (8.2 kB at 147 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-core/2.4/velocity-engine-core-2.4.pom (12 kB at 184 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-parent/2.4/velocity-engine-parent-2.4.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.9.0/plexus-classworlds-2.9.0.pom +Progress (1): 1.3 kB Progress (1): 4.1 kB Progress (1): 6.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.9.2/plexus-archiver-4.9.2.pom (6.0 kB at 109 kB/s) +Progress (1): 804 B Progress (1): 3.8 kB Progress (1): 11 kB Progress (1): 18 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.inject/1.0.0/org.eclipse.sisu.inject-1.0.0.pom (18 kB at 332 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.pom +Downloading from central: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.pom +Progress (1): 736 B Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.2.0/plexus-component-annotations-2.2.0.pom (736 B at 13 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/2.2.0/plexus-containers-2.2.0.pom +Progress (1): 806 B Progress (1): 2.6 kB Progress (1): 5.1 kB Progress (1): 7.8 kB Progress (1): 9.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-parent/2.4/velocity-engine-parent-2.4.pom (9.5 kB at 186 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.pom +Progress (1): 858 B Progress (1): 2.5 kB Progress (1): 5.4 kB Progress (1): 7.1 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.9.0/plexus-classworlds-2.9.0.pom (7.1 kB at 127 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/20/plexus-20.pom +Progress (1): 785 B Progress (1): 2.4 kB Progress (1): 5.9 kB Progress (1): 9.5 kB Progress (1): 11 kB Progress (1): 12 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.pom (12 kB at 230 kB/s) +Progress (1): 768 B Progress (1): 2.0 kB Progress (1): 5.3 kB Progress (1): 7.4 kB Progress (1): 11 kB Progress (1): 14 kB Progress (1): 17 kB Progress (1): 19 kB Progress (1): 19 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.pom (19 kB at 337 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/34/commons-parent-34.pom +Progress (1): 1.3 kB Progress (1): 2.3 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-containers/2.2.0/plexus-containers-2.2.0.pom (2.3 kB at 43 kB/s) +Progress (1): 788 B Progress (1): 2.3 kB Progress (1): 5.8 kB Progress (1): 7.8 kB Progress (1): 11 kB Progress (1): 11 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.pom (11 kB at 211 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/14/commons-parent-14.pom +Progress (1): 715 B Progress (1): 1.9 kB Progress (2): 1.9 kB | 692 B Progress (2): 3.2 kB | 692 B Progress (2): 3.2 kB | 2.5 kB Progress (2): 4.7 kB | 2.5 kB Progress (2): 8.3 kB | 2.5 kB Progress (2): 12 kB | 2.5 kB Progress (2): 16 kB | 2.5 kB Progress (2): 17 kB | 2.5 kB Progress (2): 17 kB | 6.4 kB Progress (2): 17 kB | 8.8 kB Progress (2): 17 kB | 11 kB Progress (2): 17 kB | 14 kB Progress (2): 17 kB | 17 kB Progress (2): 17 kB | 19 kB Progress (2): 17 kB | 21 kB Progress (2): 17 kB | 26 kB Progress (2): 17 kB | 29 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/20/plexus-20.pom (29 kB at 471 kB/s) +Progress (1): 20 kB Progress (1): 22 kB Progress (1): 24 kB Progress (1): 28 kB Progress (1): 31 kB Progress (1): 34 kB Progress (1): 39 kB Progress (1): 43 kB Progress (1): 44 kB Progress (1): 47 kB Progress (1): 49 kB Progress (1): 52 kB Progress (1): 54 kB Progress (1): 56 kB Progress (1): 56 kB Progress (2): 56 kB | 783 B Progress (2): 56 kB | 2.0 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/34/commons-parent-34.pom (56 kB at 1.1 MB/s) +Progress (1): 5.0 kB Progress (1): 6.8 kB Progress (1): 10 kB Progress (1): 13 kB Progress (1): 16 kB Progress (1): 18 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom (18 kB at 334 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/5/commons-parent-5.pom +Progress (1): 730 B Progress (1): 1.9 kB Progress (1): 4.1 kB Progress (1): 8.3 kB Progress (1): 12 kB Progress (1): 15 kB Progress (1): 18 kB Progress (1): 21 kB Progress (1): 27 kB Progress (1): 30 kB Progress (1): 31 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/14/commons-parent-14.pom (31 kB at 551 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/7/apache-7.pom +Progress (1): 782 B Progress (1): 2.1 kB Progress (1): 4.7 kB Progress (1): 8.4 kB Progress (1): 12 kB Progress (1): 16 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/5/commons-parent-5.pom (16 kB at 267 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/4/apache-4.pom +Progress (1): 754 B Progress (1): 2.0 kB Progress (1): 3.7 kB Progress (1): 7.1 kB Progress (1): 11 kB Progress (1): 14 kB Progress (1): 14 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/7/apache-7.pom (14 kB at 278 kB/s) +Progress (1): 790 B Progress (1): 2.1 kB Progress (1): 4.2 kB Progress (1): 4.5 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/4/apache-4.pom (4.5 kB at 75 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip-maven/1.5.1/domtrip-maven-1.5.1.jar +Progress (1): 3.2/75 kB Progress (1): 20/75 kB Progress (1): 36/75 kB Progress (1): 52/75 kB Progress (1): 69/75 kB Progress (1): 75 kB Downloaded from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip-maven/1.5.1/domtrip-maven-1.5.1.jar (75 kB at 1.0 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip-core/1.5.1/domtrip-core-1.5.1.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/2.1.0/doxia-sink-api-2.1.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/4.0.0/maven-reporting-api-4.0.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.11.0/plexus-archiver-4.11.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-impl/4.0.0/maven-reporting-impl-4.0.0.jar +Progress (1): 3.2/12 kB Progress (1): 7.4/12 kB Progress (1): 12/12 kB Progress (2): 12/12 kB | 3.2/9.8 kB Progress (2): 12 kB | 3.2/9.8 kB Progress (2): 12 kB | 9.8 kB Progress (3): 12 kB | 9.8 kB | 7.7/153 kB Progress (3): 12 kB | 9.8 kB | 16/153 kB Progress (3): 12 kB | 9.8 kB | 28/153 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/2.1.0/doxia-sink-api-2.1.0.jar (12 kB at 207 kB/s) +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/4.0.0/maven-reporting-api-4.0.0.jar (9.8 kB at 171 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.20.0/commons-lang3-3.20.0.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-i18n/1.1.0/plexus-i18n-1.1.0.jar +Progress (1): 44/153 kB Progress (1): 61/153 kB Progress (2): 61/153 kB | 3.8/21 kB Progress (2): 61/153 kB | 8.0/21 kB Progress (2): 61/153 kB | 12/21 kB Progress (2): 61/153 kB | 16/21 kB Progress (2): 77/153 kB | 16/21 kB Progress (2): 77/153 kB | 21/21 kB Progress (2): 77/153 kB | 21 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-impl/4.0.0/maven-reporting-impl-4.0.0.jar (21 kB at 308 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-analyzer/1.17.1/maven-dependency-analyzer-1.17.1.jar +Progress (1): 93/153 kB Progress (2): 93/153 kB | 3.8/227 kB Progress (2): 93/153 kB | 8.0/227 kB Progress (2): 93/153 kB | 11/227 kB Progress (2): 110/153 kB | 11/227 kB Progress (2): 110/153 kB | 16/227 kB Progress (2): 110/153 kB | 20/227 kB Progress (2): 110/153 kB | 24/227 kB Progress (2): 110/153 kB | 28/227 kB Progress (2): 126/153 kB | 28/227 kB Progress (2): 126/153 kB | 32/227 kB Progress (2): 126/153 kB | 37/227 kB Progress (2): 142/153 kB | 37/227 kB Progress (2): 142/153 kB | 41/227 kB Progress (2): 142/153 kB | 45/227 kB Progress (2): 142/153 kB | 49/227 kB Progress (2): 153 kB | 49/227 kB Progress (2): 153 kB | 54/227 kB Progress (2): 153 kB | 58/227 kB Progress (2): 153 kB | 62/227 kB Downloaded from central: https://repo.maven.apache.org/maven2/eu/maveniverse/maven/domtrip/domtrip-core/1.5.1/domtrip-core-1.5.1.jar (153 kB at 1.8 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-tree/3.3.0/maven-dependency-tree-3.3.0.jar +Progress (1): 66/227 kB Progress (1): 71/227 kB Progress (1): 75/227 kB Progress (2): 75/227 kB | 7.7/714 kB Progress (2): 75/227 kB | 11/714 kB Progress (2): 75/227 kB | 28/714 kB Progress (2): 75/227 kB | 44/714 kB Progress (3): 75/227 kB | 44/714 kB | 7.7/10 kB Progress (3): 75/227 kB | 44/714 kB | 10 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-i18n/1.1.0/plexus-i18n-1.1.0.jar (10 kB at 89 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-artifact-transfer/0.13.1/maven-artifact-transfer-0.13.1.jar +Progress (2): 79/227 kB | 44/714 kB Progress (2): 83/227 kB | 44/714 kB Progress (2): 83/227 kB | 61/714 kB Progress (2): 83/227 kB | 77/714 kB Progress (2): 87/227 kB | 77/714 kB Progress (2): 92/227 kB | 77/714 kB Progress (2): 92/227 kB | 93/714 kB Progress (3): 92/227 kB | 93/714 kB | 3.2/55 kB Progress (3): 92/227 kB | 110/714 kB | 3.2/55 kB Progress (3): 108/227 kB | 110/714 kB | 3.2/55 kB Progress (3): 108/227 kB | 110/714 kB | 7.4/55 kB Progress (3): 108/227 kB | 110/714 kB | 12/55 kB Progress (3): 108/227 kB | 126/714 kB | 12/55 kB Progress (3): 108/227 kB | 126/714 kB | 16/55 kB Progress (3): 108/227 kB | 142/714 kB | 16/55 kB Progress (3): 108/227 kB | 142/714 kB | 20/55 kB Progress (3): 108/227 kB | 142/714 kB | 24/55 kB Progress (3): 108/227 kB | 159/714 kB | 24/55 kB Progress (3): 108/227 kB | 159/714 kB | 28/55 kB Progress (3): 124/227 kB | 159/714 kB | 28/55 kB Progress (3): 124/227 kB | 159/714 kB | 32/55 kB Progress (3): 124/227 kB | 159/714 kB | 36/55 kB Progress (3): 124/227 kB | 159/714 kB | 40/55 kB Progress (3): 141/227 kB | 159/714 kB | 40/55 kB Progress (3): 142/227 kB | 159/714 kB | 40/55 kB Progress (3): 142/227 kB | 159/714 kB | 45/55 kB Progress (3): 142/227 kB | 175/714 kB | 45/55 kB Progress (3): 142/227 kB | 175/714 kB | 49/55 kB Progress (3): 142/227 kB | 175/714 kB | 53/55 kB Progress (3): 142/227 kB | 175/714 kB | 55 kB Progress (3): 142/227 kB | 192/714 kB | 55 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-analyzer/1.17.1/maven-dependency-analyzer-1.17.1.jar (55 kB at 392 kB/s) +Progress (3): 142/227 kB | 192/714 kB | 7.7/43 kB Progress (3): 142/227 kB | 208/714 kB | 7.7/43 kB Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.9.25/maven-resolver-util-1.9.25.jar +Progress (3): 142/227 kB | 208/714 kB | 16/43 kB Progress (3): 142/227 kB | 224/714 kB | 16/43 kB Progress (3): 142/227 kB | 224/714 kB | 32/43 kB Progress (3): 142/227 kB | 224/714 kB | 43 kB Progress (3): 142/227 kB | 241/714 kB | 43 kB Progress (3): 142/227 kB | 257/714 kB | 43 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-dependency-tree/3.3.0/maven-dependency-tree-3.3.0.jar (43 kB at 296 kB/s) +Progress (2): 142/227 kB | 273/714 kB Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-core/2.4.1/velocity-engine-core-2.4.1.jar +Progress (2): 142/227 kB | 290/714 kB Progress (2): 142/227 kB | 306/714 kB Progress (2): 142/227 kB | 323/714 kB Progress (2): 142/227 kB | 339/714 kB Progress (2): 142/227 kB | 355/714 kB Progress (2): 159/227 kB | 355/714 kB Progress (2): 159/227 kB | 372/714 kB Progress (2): 159/227 kB | 388/714 kB Progress (3): 159/227 kB | 388/714 kB | 3.2/159 kB Progress (3): 159/227 kB | 388/714 kB | 20/159 kB Progress (3): 159/227 kB | 388/714 kB | 36/159 kB Progress (3): 159/227 kB | 388/714 kB | 52/159 kB Progress (3): 159/227 kB | 388/714 kB | 65/159 kB Progress (3): 159/227 kB | 388/714 kB | 81/159 kB Progress (3): 159/227 kB | 405/714 kB | 81/159 kB Progress (3): 175/227 kB | 405/714 kB | 81/159 kB Progress (3): 175/227 kB | 421/714 kB | 81/159 kB Progress (3): 175/227 kB | 437/714 kB | 81/159 kB Progress (3): 192/227 kB | 437/714 kB | 81/159 kB Progress (3): 192/227 kB | 454/714 kB | 81/159 kB Progress (3): 192/227 kB | 470/714 kB | 81/159 kB Progress (3): 208/227 kB | 470/714 kB | 81/159 kB Progress (3): 208/227 kB | 486/714 kB | 81/159 kB Progress (3): 208/227 kB | 503/714 kB | 81/159 kB Progress (3): 208/227 kB | 519/714 kB | 81/159 kB Progress (3): 208/227 kB | 536/714 kB | 81/159 kB Progress (3): 208/227 kB | 552/714 kB | 81/159 kB Progress (3): 224/227 kB | 552/714 kB | 81/159 kB Progress (3): 227 kB | 552/714 kB | 81/159 kB Progress (3): 227 kB | 568/714 kB | 81/159 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-archiver/4.11.0/plexus-archiver-4.11.0.jar (227 kB at 1.1 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/velocity/tools/velocity-tools-generic/3.1/velocity-tools-generic-3.1.jar +Progress (2): 585/714 kB | 81/159 kB Progress (2): 601/714 kB | 81/159 kB Progress (2): 618/714 kB | 81/159 kB Progress (2): 634/714 kB | 81/159 kB Progress (2): 650/714 kB | 81/159 kB Progress (2): 650/714 kB | 97/159 kB Progress (2): 667/714 kB | 97/159 kB Progress (3): 667/714 kB | 97/159 kB | 3.2/516 kB Progress (3): 683/714 kB | 97/159 kB | 3.2/516 kB Progress (3): 683/714 kB | 97/159 kB | 20/516 kB Progress (3): 699/714 kB | 97/159 kB | 20/516 kB Progress (3): 699/714 kB | 97/159 kB | 36/516 kB Progress (3): 714 kB | 97/159 kB | 36/516 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.20.0/commons-lang3-3.20.0.jar (714 kB at 3.3 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-model/2.0.0/doxia-site-model-2.0.0.jar +Progress (2): 97/159 kB | 52/516 kB Progress (3): 97/159 kB | 52/516 kB | 3.2/197 kB Progress (3): 97/159 kB | 52/516 kB | 7.4/197 kB Progress (3): 97/159 kB | 52/516 kB | 11/197 kB Progress (3): 97/159 kB | 52/516 kB | 16/197 kB Progress (3): 97/159 kB | 52/516 kB | 20/197 kB Progress (3): 97/159 kB | 61/516 kB | 20/197 kB Progress (3): 97/159 kB | 61/516 kB | 28/197 kB Progress (3): 97/159 kB | 77/516 kB | 28/197 kB Progress (3): 97/159 kB | 77/516 kB | 44/197 kB Progress (3): 97/159 kB | 93/516 kB | 44/197 kB Progress (3): 97/159 kB | 110/516 kB | 44/197 kB Progress (3): 97/159 kB | 126/516 kB | 44/197 kB Progress (3): 97/159 kB | 126/516 kB | 61/197 kB Progress (3): 114/159 kB | 126/516 kB | 61/197 kB Progress (3): 114/159 kB | 142/516 kB | 61/197 kB Progress (3): 114/159 kB | 142/516 kB | 77/197 kB Progress (3): 130/159 kB | 142/516 kB | 77/197 kB Progress (3): 130/159 kB | 159/516 kB | 77/197 kB Progress (3): 130/159 kB | 175/516 kB | 77/197 kB Progress (3): 130/159 kB | 192/516 kB | 77/197 kB Progress (3): 130/159 kB | 208/516 kB | 77/197 kB Progress (3): 130/159 kB | 224/516 kB | 77/197 kB Progress (3): 130/159 kB | 241/516 kB | 77/197 kB Progress (3): 147/159 kB | 241/516 kB | 77/197 kB Progress (3): 147/159 kB | 257/516 kB | 77/197 kB Progress (3): 159 kB | 257/516 kB | 77/197 kB Progress (3): 159 kB | 273/516 kB | 77/197 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-artifact-transfer/0.13.1/maven-artifact-transfer-0.13.1.jar (159 kB at 617 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-core/2.0.0/doxia-core-2.0.0.jar +Progress (2): 290/516 kB | 77/197 kB Progress (2): 306/516 kB | 77/197 kB Progress (2): 306/516 kB | 93/197 kB Progress (3): 306/516 kB | 93/197 kB | 7.7/217 kB Progress (3): 306/516 kB | 93/197 kB | 16/217 kB Progress (3): 306/516 kB | 93/197 kB | 28/217 kB Progress (3): 306/516 kB | 110/197 kB | 28/217 kB Progress (3): 306/516 kB | 110/197 kB | 44/217 kB Progress (4): 306/516 kB | 110/197 kB | 44/217 kB | 7.7/86 kB Progress (4): 306/516 kB | 110/197 kB | 44/217 kB | 16/86 kB Progress (4): 306/516 kB | 110/197 kB | 44/217 kB | 28/86 kB Progress (4): 306/516 kB | 110/197 kB | 61/217 kB | 28/86 kB Progress (4): 306/516 kB | 110/197 kB | 61/217 kB | 44/86 kB Progress (4): 306/516 kB | 110/197 kB | 61/217 kB | 61/86 kB Progress (4): 306/516 kB | 110/197 kB | 61/217 kB | 77/86 kB Progress (4): 306/516 kB | 110/197 kB | 61/217 kB | 86 kB Progress (4): 306/516 kB | 110/197 kB | 77/217 kB | 86 kB Progress (4): 306/516 kB | 110/197 kB | 93/217 kB | 86 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-model/2.0.0/doxia-site-model-2.0.0.jar (86 kB at 299 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-integration-tools/2.0.0/doxia-integration-tools-2.0.0.jar +Progress (3): 306/516 kB | 110/197 kB | 98/217 kB Progress (3): 323/516 kB | 110/197 kB | 98/217 kB Progress (3): 323/516 kB | 110/197 kB | 115/217 kB Progress (3): 323/516 kB | 126/197 kB | 115/217 kB Progress (3): 339/516 kB | 126/197 kB | 115/217 kB Progress (3): 355/516 kB | 126/197 kB | 115/217 kB Progress (3): 355/516 kB | 126/197 kB | 131/217 kB Progress (3): 355/516 kB | 142/197 kB | 131/217 kB Progress (3): 372/516 kB | 142/197 kB | 131/217 kB Progress (3): 388/516 kB | 142/197 kB | 131/217 kB Progress (3): 388/516 kB | 142/197 kB | 147/217 kB Progress (3): 388/516 kB | 159/197 kB | 147/217 kB Progress (3): 405/516 kB | 159/197 kB | 147/217 kB Progress (3): 405/516 kB | 175/197 kB | 147/217 kB Progress (3): 421/516 kB | 175/197 kB | 147/217 kB Progress (3): 421/516 kB | 175/197 kB | 164/217 kB Progress (3): 437/516 kB | 175/197 kB | 164/217 kB Progress (3): 454/516 kB | 175/197 kB | 164/217 kB Progress (3): 470/516 kB | 175/197 kB | 164/217 kB Progress (3): 486/516 kB | 175/197 kB | 164/217 kB Progress (3): 486/516 kB | 175/197 kB | 180/217 kB Progress (3): 486/516 kB | 192/197 kB | 180/217 kB Progress (3): 486/516 kB | 192/197 kB | 197/217 kB Progress (3): 486/516 kB | 197 kB | 197/217 kB Progress (3): 503/516 kB | 197 kB | 197/217 kB Progress (3): 503/516 kB | 197 kB | 213/217 kB Progress (3): 516 kB | 197 kB | 213/217 kB Progress (3): 516 kB | 197 kB | 217 kB Progress (4): 516 kB | 197 kB | 217 kB | 3.2/168 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/resolver/maven-resolver-util/1.9.25/maven-resolver-util-1.9.25.jar (197 kB at 641 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-renderer/2.0.0/doxia-site-renderer-2.0.0.jar +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/tools/velocity-tools-generic/3.1/velocity-tools-generic-3.1.jar (217 kB at 702 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-apt/2.0.0/doxia-module-apt-2.0.0.jar +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/velocity/velocity-engine-core/2.4.1/velocity-engine-core-2.4.1.jar (516 kB at 1.7 MB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/2.0.0/doxia-module-xdoc-2.0.0.jar +Progress (1): 20/168 kB Progress (1): 36/168 kB Progress (1): 52/168 kB Progress (1): 61/168 kB Progress (1): 77/168 kB Progress (1): 93/168 kB Progress (1): 110/168 kB Progress (1): 126/168 kB Progress (1): 142/168 kB Progress (1): 159/168 kB Progress (1): 168 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-core/2.0.0/doxia-core-2.0.0.jar (168 kB at 490 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.6.2/maven-archiver-3.6.2.jar +Progress (1): 7.7/50 kB Progress (1): 16/50 kB Progress (1): 24/50 kB Progress (1): 40/50 kB Progress (1): 50 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-integration-tools/2.0.0/doxia-integration-tools-2.0.0.jar (50 kB at 139 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/1.0.0/org.eclipse.sisu.plexus-1.0.0.jar +Progress (1): 3.2/35 kB Progress (2): 3.2/35 kB | 7.3/44 kB Progress (2): 20/35 kB | 7.3/44 kB Progress (2): 20/35 kB | 24/44 kB Progress (2): 20/35 kB | 40/44 kB Progress (2): 20/35 kB | 44 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-site-renderer/2.0.0/doxia-site-renderer-2.0.0.jar (44 kB at 112 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.21.0/commons-io-2.21.0.jar +Progress (1): 35 kB Progress (2): 35 kB | 7.7/54 kB Progress (2): 35 kB | 8.2/54 kB Progress (2): 35 kB | 25/54 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xdoc/2.0.0/doxia-module-xdoc-2.0.0.jar (35 kB at 90 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.11/xz-1.11.jar +Progress (1): 33/54 kB Progress (1): 49/54 kB Progress (1): 54 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-apt/2.0.0/doxia-module-apt-2.0.0.jar (54 kB at 137 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/github/luben/zstd-jni/1.5.7-6/zstd-jni-1.5.7-6.jar +Progress (1): 7.7/27 kB Progress (1): 15/27 kB Progress (1): 16/27 kB Progress (1): 27 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-archiver/3.6.2/maven-archiver-3.6.2.jar (27 kB at 67 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.10/asm-9.10.jar +Progress (1): 7.7/216 kB Progress (1): 15/216 kB Progress (1): 32/216 kB Progress (1): 48/216 kB Progress (1): 65/216 kB Progress (1): 81/216 kB Progress (1): 97/216 kB Progress (1): 114/216 kB Progress (1): 130/216 kB Progress (1): 147/216 kB Progress (1): 163/216 kB Progress (1): 179/216 kB Progress (1): 196/216 kB Progress (1): 212/216 kB Progress (1): 216 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.plexus/1.0.0/org.eclipse.sisu.plexus-1.0.0.jar (216 kB at 508 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.0.0/plexus-component-annotations-2.0.0.jar +Progress (1): 7.7/585 kB Progress (1): 11/585 kB Progress (2): 11/585 kB | 3.2/169 kB Progress (2): 28/585 kB | 3.2/169 kB Progress (2): 44/585 kB | 3.2/169 kB Progress (2): 60/585 kB | 3.2/169 kB Progress (2): 60/585 kB | 20/169 kB Progress (2): 77/585 kB | 20/169 kB Progress (2): 77/585 kB | 28/169 kB Progress (2): 93/585 kB | 28/169 kB Progress (2): 93/585 kB | 33/169 kB Progress (3): 93/585 kB | 33/169 kB | 7.7/126 kB Progress (3): 110/585 kB | 33/169 kB | 7.7/126 kB Progress (3): 110/585 kB | 33/169 kB | 16/126 kB Progress (3): 110/585 kB | 49/169 kB | 16/126 kB Progress (3): 126/585 kB | 49/169 kB | 16/126 kB Progress (3): 131/585 kB | 49/169 kB | 16/126 kB Progress (3): 147/585 kB | 49/169 kB | 16/126 kB Progress (3): 147/585 kB | 49/169 kB | 24/126 kB Progress (3): 147/585 kB | 66/169 kB | 24/126 kB Progress (3): 164/585 kB | 66/169 kB | 24/126 kB Progress (3): 164/585 kB | 66/169 kB | 40/126 kB Progress (4): 164/585 kB | 66/169 kB | 40/126 kB | 0/7.4 MB Progress (4): 164/585 kB | 66/169 kB | 40/126 kB | 0/7.4 MB Progress (4): 180/585 kB | 66/169 kB | 40/126 kB | 0/7.4 MB Progress (4): 180/585 kB | 66/169 kB | 40/126 kB | 0/7.4 MB Progress (4): 197/585 kB | 66/169 kB | 40/126 kB | 0/7.4 MB Progress (4): 213/585 kB | 66/169 kB | 40/126 kB | 0/7.4 MB Progress (4): 213/585 kB | 66/169 kB | 57/126 kB | 0/7.4 MB Progress (4): 213/585 kB | 82/169 kB | 57/126 kB | 0/7.4 MB Progress (4): 213/585 kB | 82/169 kB | 57/126 kB | 0/7.4 MB Progress (4): 229/585 kB | 82/169 kB | 57/126 kB | 0/7.4 MB Progress (4): 246/585 kB | 82/169 kB | 57/126 kB | 0/7.4 MB Progress (4): 246/585 kB | 82/169 kB | 57/126 kB | 0.1/7.4 MB Progress (4): 246/585 kB | 98/169 kB | 57/126 kB | 0.1/7.4 MB Progress (4): 246/585 kB | 98/169 kB | 73/126 kB | 0.1/7.4 MB Progress (4): 262/585 kB | 98/169 kB | 73/126 kB | 0.1/7.4 MB Progress (4): 279/585 kB | 98/169 kB | 73/126 kB | 0.1/7.4 MB Progress (4): 295/585 kB | 98/169 kB | 73/126 kB | 0.1/7.4 MB Progress (4): 295/585 kB | 98/169 kB | 90/126 kB | 0.1/7.4 MB Progress (4): 295/585 kB | 98/169 kB | 90/126 kB | 0.1/7.4 MB Progress (4): 295/585 kB | 115/169 kB | 90/126 kB | 0.1/7.4 MB Progress (4): 311/585 kB | 115/169 kB | 90/126 kB | 0.1/7.4 MB Progress (4): 311/585 kB | 115/169 kB | 106/126 kB | 0.1/7.4 MB Progress (4): 311/585 kB | 115/169 kB | 106/126 kB | 0.1/7.4 MB Progress (4): 311/585 kB | 131/169 kB | 106/126 kB | 0.1/7.4 MB Progress (4): 328/585 kB | 131/169 kB | 106/126 kB | 0.1/7.4 MB Progress (4): 328/585 kB | 131/169 kB | 106/126 kB | 0.1/7.4 MB Progress (4): 344/585 kB | 131/169 kB | 106/126 kB | 0.1/7.4 MB Progress (4): 360/585 kB | 131/169 kB | 106/126 kB | 0.1/7.4 MB Progress (4): 360/585 kB | 147/169 kB | 106/126 kB | 0.1/7.4 MB Progress (4): 360/585 kB | 147/169 kB | 106/126 kB | 0.1/7.4 MB Progress (4): 360/585 kB | 147/169 kB | 122/126 kB | 0.1/7.4 MB Progress (4): 377/585 kB | 147/169 kB | 122/126 kB | 0.1/7.4 MB Progress (4): 377/585 kB | 147/169 kB | 126 kB | 0.1/7.4 MB Progress (4): 393/585 kB | 147/169 kB | 126 kB | 0.1/7.4 MB Progress (4): 393/585 kB | 147/169 kB | 126 kB | 0.1/7.4 MB Downloaded from central: https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.10/asm-9.10.jar (126 kB at 256 kB/s) +Progress (3): 410/585 kB | 147/169 kB | 0.1/7.4 MB Downloading from central: https://repo.maven.apache.org/maven2/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.jar +Progress (3): 426/585 kB | 147/169 kB | 0.1/7.4 MB Progress (3): 426/585 kB | 164/169 kB | 0.1/7.4 MB Progress (3): 442/585 kB | 164/169 kB | 0.1/7.4 MB Progress (3): 442/585 kB | 169 kB | 0.1/7.4 MB Progress (3): 442/585 kB | 169 kB | 0.2/7.4 MB Progress (3): 459/585 kB | 169 kB | 0.2/7.4 MB Progress (3): 459/585 kB | 169 kB | 0.2/7.4 MB Downloaded from central: https://repo.maven.apache.org/maven2/org/tukaani/xz/1.11/xz-1.11.jar (169 kB at 339 kB/s) +Progress (2): 475/585 kB | 0.2/7.4 MB Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-digester3/3.2/commons-digester3-3.2.jar +Progress (2): 492/585 kB | 0.2/7.4 MB Progress (2): 492/585 kB | 0.2/7.4 MB Progress (2): 508/585 kB | 0.2/7.4 MB Progress (2): 508/585 kB | 0.2/7.4 MB Progress (2): 524/585 kB | 0.2/7.4 MB Progress (2): 541/585 kB | 0.2/7.4 MB Progress (2): 557/585 kB | 0.2/7.4 MB Progress (2): 557/585 kB | 0.2/7.4 MB Progress (2): 573/585 kB | 0.2/7.4 MB Progress (2): 585 kB | 0.2/7.4 MB Progress (2): 585 kB | 0.2/7.4 MB Progress (3): 585 kB | 0.2/7.4 MB | 4.2 kB Progress (3): 585 kB | 0.3/7.4 MB | 4.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-io/commons-io/2.21.0/commons-io-2.21.0.jar (585 kB at 1.1 MB/s) +Progress (2): 0.3/7.4 MB | 4.2 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-component-annotations/2.0.0/plexus-component-annotations-2.0.0.jar (4.2 kB at 8.3 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/com/github/cliftonlabs/json-simple/3.0.2/json-simple-3.0.2.jar +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.jar +Progress (1): 0.3/7.4 MB Progress (1): 0.3/7.4 MB Progress (1): 0.3/7.4 MB Progress (1): 0.3/7.4 MB Progress (1): 0.4/7.4 MB Progress (1): 0.4/7.4 MB Progress (1): 0.4/7.4 MB Progress (1): 0.4/7.4 MB Progress (1): 0.4/7.4 MB Progress (1): 0.4/7.4 MB Progress (1): 0.5/7.4 MB Progress (1): 0.5/7.4 MB Progress (1): 0.5/7.4 MB Progress (1): 0.5/7.4 MB Progress (1): 0.5/7.4 MB Progress (1): 0.5/7.4 MB Progress (1): 0.6/7.4 MB Progress (1): 0.6/7.4 MB Progress (1): 0.6/7.4 MB Progress (2): 0.6/7.4 MB | 7.7/247 kB Progress (2): 0.6/7.4 MB | 11/247 kB Progress (2): 0.6/7.4 MB | 11/247 kB Progress (3): 0.6/7.4 MB | 11/247 kB | 3.2/242 kB Progress (3): 0.6/7.4 MB | 11/247 kB | 11/242 kB Progress (3): 0.6/7.4 MB | 11/247 kB | 11/242 kB Progress (3): 0.6/7.4 MB | 28/247 kB | 11/242 kB Progress (3): 0.6/7.4 MB | 28/247 kB | 11/242 kB Progress (3): 0.6/7.4 MB | 44/247 kB | 11/242 kB Progress (3): 0.6/7.4 MB | 44/247 kB | 28/242 kB Progress (3): 0.7/7.4 MB | 44/247 kB | 28/242 kB Progress (3): 0.7/7.4 MB | 44/247 kB | 28/242 kB Progress (3): 0.7/7.4 MB | 44/247 kB | 28/242 kB Progress (3): 0.7/7.4 MB | 61/247 kB | 28/242 kB Progress (3): 0.7/7.4 MB | 61/247 kB | 44/242 kB Progress (4): 0.7/7.4 MB | 61/247 kB | 44/242 kB | 7.7/35 kB Progress (4): 0.7/7.4 MB | 61/247 kB | 44/242 kB | 7.7/35 kB Progress (4): 0.7/7.4 MB | 61/247 kB | 44/242 kB | 11/35 kB Progress (4): 0.7/7.4 MB | 61/247 kB | 44/242 kB | 28/35 kB Progress (4): 0.7/7.4 MB | 61/247 kB | 44/242 kB | 35 kB Downloaded from central: https://repo.maven.apache.org/maven2/com/github/cliftonlabs/json-simple/3.0.2/json-simple-3.0.2.jar (35 kB at 61 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.27/plexus-interpolation-1.27.jar +Progress (3): 0.7/7.4 MB | 61/247 kB | 44/242 kB Progress (3): 0.7/7.4 MB | 77/247 kB | 44/242 kB Progress (3): 0.7/7.4 MB | 77/247 kB | 61/242 kB Progress (3): 0.7/7.4 MB | 77/247 kB | 61/242 kB Progress (4): 0.7/7.4 MB | 77/247 kB | 61/242 kB | 7.7/251 kB Progress (4): 0.7/7.4 MB | 77/247 kB | 61/242 kB | 16/251 kB Progress (4): 0.7/7.4 MB | 77/247 kB | 61/242 kB | 32/251 kB Progress (4): 0.7/7.4 MB | 77/247 kB | 61/242 kB | 32/251 kB Progress (4): 0.7/7.4 MB | 77/247 kB | 61/242 kB | 48/251 kB Progress (4): 0.7/7.4 MB | 77/247 kB | 77/242 kB | 48/251 kB Progress (4): 0.7/7.4 MB | 93/247 kB | 77/242 kB | 48/251 kB Progress (4): 0.7/7.4 MB | 93/247 kB | 77/242 kB | 65/251 kB Progress (4): 0.8/7.4 MB | 93/247 kB | 77/242 kB | 65/251 kB Progress (4): 0.8/7.4 MB | 93/247 kB | 77/242 kB | 81/251 kB Progress (4): 0.8/7.4 MB | 93/247 kB | 77/242 kB | 97/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 77/242 kB | 97/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 77/242 kB | 97/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 93/242 kB | 97/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 93/242 kB | 114/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 93/242 kB | 114/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 93/242 kB | 114/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 93/242 kB | 130/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 93/242 kB | 130/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 93/242 kB | 130/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 93/242 kB | 147/251 kB Progress (4): 0.8/7.4 MB | 110/247 kB | 110/242 kB | 147/251 kB Progress (4): 0.8/7.4 MB | 126/247 kB | 110/242 kB | 147/251 kB Progress (4): 0.9/7.4 MB | 126/247 kB | 110/242 kB | 147/251 kB Progress (4): 0.9/7.4 MB | 126/247 kB | 110/242 kB | 163/251 kB Progress (4): 0.9/7.4 MB | 142/247 kB | 110/242 kB | 163/251 kB Progress (4): 0.9/7.4 MB | 142/247 kB | 110/242 kB | 163/251 kB Progress (4): 0.9/7.4 MB | 142/247 kB | 110/242 kB | 179/251 kB Progress (4): 0.9/7.4 MB | 142/247 kB | 110/242 kB | 196/251 kB Progress (4): 0.9/7.4 MB | 142/247 kB | 110/242 kB | 196/251 kB Progress (4): 0.9/7.4 MB | 142/247 kB | 126/242 kB | 196/251 kB Progress (4): 0.9/7.4 MB | 142/247 kB | 126/242 kB | 212/251 kB Progress (4): 0.9/7.4 MB | 142/247 kB | 126/242 kB | 228/251 kB Progress (4): 0.9/7.4 MB | 159/247 kB | 126/242 kB | 228/251 kB Progress (4): 0.9/7.4 MB | 159/247 kB | 126/242 kB | 228/251 kB Progress (4): 0.9/7.4 MB | 159/247 kB | 142/242 kB | 228/251 kB Progress (4): 0.9/7.4 MB | 175/247 kB | 142/242 kB | 228/251 kB Progress (4): 0.9/7.4 MB | 175/247 kB | 142/242 kB | 245/251 kB Progress (4): 0.9/7.4 MB | 175/247 kB | 159/242 kB | 245/251 kB Progress (4): 0.9/7.4 MB | 175/247 kB | 159/242 kB | 245/251 kB Progress (4): 0.9/7.4 MB | 175/247 kB | 159/242 kB | 251 kB Progress (4): 0.9/7.4 MB | 175/247 kB | 159/242 kB | 251 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-text/1.12.0/commons-text-1.12.0.jar (251 kB at 407 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-skin-model/2.0.0/doxia-skin-model-2.0.0.jar +Progress (3): 0.9/7.4 MB | 192/247 kB | 159/242 kB Progress (3): 0.9/7.4 MB | 192/247 kB | 175/242 kB Progress (3): 0.9/7.4 MB | 208/247 kB | 175/242 kB Progress (3): 0.9/7.4 MB | 208/247 kB | 192/242 kB Progress (3): 1.0/7.4 MB | 208/247 kB | 192/242 kB Progress (3): 1.0/7.4 MB | 208/247 kB | 208/242 kB Progress (3): 1.0/7.4 MB | 224/247 kB | 208/242 kB Progress (3): 1.0/7.4 MB | 224/247 kB | 208/242 kB Progress (3): 1.0/7.4 MB | 241/247 kB | 208/242 kB Progress (3): 1.0/7.4 MB | 241/247 kB | 208/242 kB Progress (3): 1.0/7.4 MB | 241/247 kB | 224/242 kB Progress (3): 1.0/7.4 MB | 241/247 kB | 241/242 kB Progress (3): 1.0/7.4 MB | 241/247 kB | 241/242 kB Progress (3): 1.0/7.4 MB | 241/247 kB | 242 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-digester3/3.2/commons-digester3-3.2.jar (242 kB at 382 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xhtml5/2.0.0/doxia-module-xhtml5-2.0.0.jar +Progress (2): 1.0/7.4 MB | 247 kB Progress (2): 1.0/7.4 MB | 247 kB Progress (2): 1.0/7.4 MB | 247 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.jar (247 kB at 389 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/2.2.0/plexus-velocity-2.2.0.jar +Progress (1): 1.1/7.4 MB Progress (1): 1.1/7.4 MB Progress (1): 1.1/7.4 MB Progress (1): 1.1/7.4 MB Progress (1): 1.1/7.4 MB Progress (1): 1.1/7.4 MB Progress (1): 1.2/7.4 MB Progress (1): 1.2/7.4 MB Progress (1): 1.2/7.4 MB Progress (1): 1.2/7.4 MB Progress (1): 1.2/7.4 MB Progress (1): 1.2/7.4 MB Progress (1): 1.3/7.4 MB Progress (1): 1.3/7.4 MB Progress (1): 1.3/7.4 MB Progress (1): 1.3/7.4 MB Progress (1): 1.3/7.4 MB Progress (1): 1.3/7.4 MB Progress (1): 1.4/7.4 MB Progress (1): 1.4/7.4 MB Progress (2): 1.4/7.4 MB | 7.7/86 kB Progress (2): 1.4/7.4 MB | 11/86 kB Progress (2): 1.4/7.4 MB | 11/86 kB Progress (2): 1.4/7.4 MB | 28/86 kB Progress (2): 1.4/7.4 MB | 44/86 kB Progress (2): 1.4/7.4 MB | 44/86 kB Progress (2): 1.4/7.4 MB | 61/86 kB Progress (2): 1.4/7.4 MB | 77/86 kB Progress (2): 1.4/7.4 MB | 86 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-interpolation/1.27/plexus-interpolation-1.27.jar (86 kB at 131 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.inject/1.0.0/org.eclipse.sisu.inject-1.0.0.jar +Progress (1): 1.4/7.4 MB Progress (1): 1.4/7.4 MB Progress (1): 1.5/7.4 MB Progress (1): 1.5/7.4 MB Progress (1): 1.5/7.4 MB Progress (1): 1.5/7.4 MB Progress (1): 1.5/7.4 MB Progress (1): 1.5/7.4 MB Progress (1): 1.6/7.4 MB Progress (1): 1.6/7.4 MB Progress (1): 1.6/7.4 MB Progress (1): 1.6/7.4 MB Progress (1): 1.6/7.4 MB Progress (1): 1.6/7.4 MB Progress (1): 1.6/7.4 MB Progress (1): 1.7/7.4 MB Progress (1): 1.7/7.4 MB Progress (1): 1.7/7.4 MB Progress (1): 1.7/7.4 MB Progress (1): 1.7/7.4 MB Progress (1): 1.7/7.4 MB Progress (1): 1.8/7.4 MB Progress (1): 1.8/7.4 MB Progress (2): 1.8/7.4 MB | 3.2/16 kB Progress (3): 1.8/7.4 MB | 3.2/16 kB | 5.7 kB Progress (4): 1.8/7.4 MB | 3.2/16 kB | 5.7 kB | 7.7/17 kB Progress (4): 1.8/7.4 MB | 3.2/16 kB | 5.7 kB | 16/17 kB Progress (4): 1.8/7.4 MB | 3.2/16 kB | 5.7 kB | 17 kB Progress (4): 1.8/7.4 MB | 16 kB | 5.7 kB | 17 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-velocity/2.2.0/plexus-velocity-2.2.0.jar (5.7 kB at 8.0 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.9.0/plexus-classworlds-2.9.0.jar +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-module-xhtml5/2.0.0/doxia-module-xhtml5-2.0.0.jar (17 kB at 24 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar +Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-skin-model/2.0.0/doxia-skin-model-2.0.0.jar (16 kB at 23 kB/s) +Downloading from central: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar +Progress (1): 1.8/7.4 MB Progress (1): 1.8/7.4 MB Progress (1): 1.8/7.4 MB Progress (2): 1.8/7.4 MB | 7.7/304 kB Progress (2): 1.8/7.4 MB | 11/304 kB Progress (2): 1.8/7.4 MB | 11/304 kB Progress (2): 1.8/7.4 MB | 28/304 kB Progress (2): 1.9/7.4 MB | 28/304 kB Progress (2): 1.9/7.4 MB | 28/304 kB Progress (2): 1.9/7.4 MB | 28/304 kB Progress (2): 1.9/7.4 MB | 44/304 kB Progress (2): 1.9/7.4 MB | 44/304 kB Progress (2): 1.9/7.4 MB | 61/304 kB Progress (2): 1.9/7.4 MB | 61/304 kB Progress (2): 1.9/7.4 MB | 77/304 kB Progress (2): 1.9/7.4 MB | 77/304 kB Progress (2): 2.0/7.4 MB | 77/304 kB Progress (2): 2.0/7.4 MB | 93/304 kB Progress (2): 2.0/7.4 MB | 93/304 kB Progress (2): 2.0/7.4 MB | 110/304 kB Progress (2): 2.0/7.4 MB | 110/304 kB Progress (2): 2.0/7.4 MB | 126/304 kB Progress (2): 2.0/7.4 MB | 126/304 kB Progress (2): 2.0/7.4 MB | 142/304 kB Progress (2): 2.0/7.4 MB | 142/304 kB Progress (2): 2.0/7.4 MB | 142/304 kB Progress (2): 2.0/7.4 MB | 159/304 kB Progress (2): 2.0/7.4 MB | 175/304 kB Progress (2): 2.1/7.4 MB | 175/304 kB Progress (2): 2.1/7.4 MB | 192/304 kB Progress (2): 2.1/7.4 MB | 192/304 kB Progress (2): 2.1/7.4 MB | 208/304 kB Progress (2): 2.1/7.4 MB | 208/304 kB Progress (2): 2.1/7.4 MB | 208/304 kB Progress (2): 2.1/7.4 MB | 224/304 kB Progress (2): 2.1/7.4 MB | 224/304 kB Progress (2): 2.1/7.4 MB | 241/304 kB Progress (2): 2.1/7.4 MB | 241/304 kB Progress (2): 2.1/7.4 MB | 241/304 kB Progress (2): 2.1/7.4 MB | 257/304 kB Progress (2): 2.1/7.4 MB | 274/304 kB Progress (2): 2.2/7.4 MB | 274/304 kB Progress (2): 2.2/7.4 MB | 274/304 kB Progress (2): 2.2/7.4 MB | 290/304 kB Progress (2): 2.2/7.4 MB | 290/304 kB Progress (2): 2.2/7.4 MB | 304 kB Progress (2): 2.2/7.4 MB | 304 kB Progress (2): 2.2/7.4 MB | 304 kB Progress (2): 2.2/7.4 MB | 304 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/sisu/org.eclipse.sisu.inject/1.0.0/org.eclipse.sisu.inject-1.0.0.jar (304 kB at 401 kB/s) +Progress (1): 2.3/7.4 MB Progress (1): 2.3/7.4 MB Progress (1): 2.3/7.4 MB Progress (1): 2.3/7.4 MB Progress (1): 2.3/7.4 MB Progress (1): 2.3/7.4 MB Progress (1): 2.4/7.4 MB Progress (1): 2.4/7.4 MB Progress (1): 2.4/7.4 MB Progress (1): 2.4/7.4 MB Progress (1): 2.4/7.4 MB Progress (1): 2.4/7.4 MB Progress (1): 2.5/7.4 MB Progress (1): 2.5/7.4 MB Progress (1): 2.5/7.4 MB Progress (1): 2.5/7.4 MB Progress (1): 2.5/7.4 MB Progress (1): 2.5/7.4 MB Progress (1): 2.6/7.4 MB Progress (1): 2.6/7.4 MB Progress (1): 2.6/7.4 MB Progress (1): 2.6/7.4 MB Progress (1): 2.6/7.4 MB Progress (1): 2.6/7.4 MB Progress (1): 2.7/7.4 MB Progress (1): 2.7/7.4 MB Progress (1): 2.7/7.4 MB Progress (1): 2.7/7.4 MB Progress (1): 2.7/7.4 MB Progress (1): 2.7/7.4 MB Progress (1): 2.8/7.4 MB Progress (1): 2.8/7.4 MB Progress (1): 2.8/7.4 MB Progress (1): 2.8/7.4 MB Progress (2): 2.8/7.4 MB | 7.7/588 kB Progress (2): 2.8/7.4 MB | 11/588 kB Progress (2): 2.8/7.4 MB | 11/588 kB Progress (2): 2.8/7.4 MB | 11/588 kB Progress (2): 2.8/7.4 MB | 11/588 kB Progress (2): 2.9/7.4 MB | 11/588 kB Progress (2): 2.9/7.4 MB | 11/588 kB Progress (2): 2.9/7.4 MB | 11/588 kB Progress (2): 2.9/7.4 MB | 11/588 kB Progress (2): 2.9/7.4 MB | 28/588 kB Progress (2): 2.9/7.4 MB | 28/588 kB Progress (2): 2.9/7.4 MB | 28/588 kB Progress (2): 3.0/7.4 MB | 28/588 kB Progress (2): 3.0/7.4 MB | 28/588 kB Progress (2): 3.0/7.4 MB | 28/588 kB Progress (2): 3.0/7.4 MB | 28/588 kB Progress (2): 3.0/7.4 MB | 28/588 kB Progress (2): 3.0/7.4 MB | 44/588 kB Progress (3): 3.0/7.4 MB | 44/588 kB | 4.1/54 kB Progress (3): 3.0/7.4 MB | 44/588 kB | 20/54 kB Progress (3): 3.0/7.4 MB | 44/588 kB | 20/54 kB Progress (3): 3.1/7.4 MB | 44/588 kB | 20/54 kB Progress (3): 3.1/7.4 MB | 44/588 kB | 20/54 kB Progress (3): 3.1/7.4 MB | 61/588 kB | 20/54 kB Progress (3): 3.1/7.4 MB | 61/588 kB | 20/54 kB Progress (3): 3.1/7.4 MB | 61/588 kB | 37/54 kB Progress (3): 3.1/7.4 MB | 77/588 kB | 37/54 kB Progress (3): 3.1/7.4 MB | 77/588 kB | 53/54 kB Progress (3): 3.1/7.4 MB | 77/588 kB | 54 kB Progress (3): 3.1/7.4 MB | 77/588 kB | 54 kB Progress (3): 3.1/7.4 MB | 77/588 kB | 54 kB Progress (3): 3.1/7.4 MB | 77/588 kB | 54 kB Progress (3): 3.1/7.4 MB | 77/588 kB | 54 kB Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-classworlds/2.9.0/plexus-classworlds-2.9.0.jar (54 kB at 63 kB/s) +Progress (2): 3.2/7.4 MB | 77/588 kB Progress (2): 3.2/7.4 MB | 77/588 kB Progress (2): 3.2/7.4 MB | 93/588 kB Progress (2): 3.2/7.4 MB | 93/588 kB Progress (2): 3.2/7.4 MB | 93/588 kB Progress (3): 3.2/7.4 MB | 93/588 kB | 7.7/62 kB Progress (3): 3.2/7.4 MB | 93/588 kB | 15/62 kB Progress (3): 3.2/7.4 MB | 93/588 kB | 15/62 kB Progress (3): 3.2/7.4 MB | 93/588 kB | 15/62 kB Progress (3): 3.3/7.4 MB | 93/588 kB | 15/62 kB Progress (3): 3.3/7.4 MB | 93/588 kB | 15/62 kB Progress (3): 3.3/7.4 MB | 110/588 kB | 15/62 kB Progress (3): 3.3/7.4 MB | 110/588 kB | 32/62 kB Progress (3): 3.3/7.4 MB | 110/588 kB | 32/62 kB Progress (3): 3.3/7.4 MB | 110/588 kB | 32/62 kB Progress (3): 3.3/7.4 MB | 110/588 kB | 32/62 kB Progress (3): 3.3/7.4 MB | 110/588 kB | 32/62 kB Progress (3): 3.3/7.4 MB | 110/588 kB | 32/62 kB Progress (3): 3.4/7.4 MB | 110/588 kB | 32/62 kB Progress (3): 3.4/7.4 MB | 126/588 kB | 32/62 kB Progress (3): 3.4/7.4 MB | 126/588 kB | 48/62 kB Progress (3): 3.4/7.4 MB | 126/588 kB | 48/62 kB Progress (3): 3.4/7.4 MB | 142/588 kB | 48/62 kB Progress (3): 3.4/7.4 MB | 142/588 kB | 48/62 kB Progress (3): 3.4/7.4 MB | 142/588 kB | 48/62 kB Progress (3): 3.4/7.4 MB | 142/588 kB | 48/62 kB Progress (3): 3.4/7.4 MB | 142/588 kB | 48/62 kB Progress (3): 3.5/7.4 MB | 142/588 kB | 48/62 kB Progress (3): 3.5/7.4 MB | 159/588 kB | 48/62 kB Progress (3): 3.5/7.4 MB | 159/588 kB | 62 kB Progress (3): 3.5/7.4 MB | 159/588 kB | 62 kB Progress (3): 3.5/7.4 MB | 159/588 kB | 62 kB Progress (3): 3.5/7.4 MB | 159/588 kB | 62 kB Progress (3): 3.5/7.4 MB | 159/588 kB | 62 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar (62 kB at 69 kB/s) +Progress (2): 3.5/7.4 MB | 159/588 kB Progress (2): 3.5/7.4 MB | 159/588 kB Progress (2): 3.6/7.4 MB | 159/588 kB Progress (2): 3.6/7.4 MB | 175/588 kB Progress (2): 3.6/7.4 MB | 175/588 kB Progress (2): 3.6/7.4 MB | 175/588 kB Progress (2): 3.6/7.4 MB | 192/588 kB Progress (2): 3.6/7.4 MB | 192/588 kB Progress (2): 3.6/7.4 MB | 192/588 kB Progress (2): 3.6/7.4 MB | 192/588 kB Progress (2): 3.7/7.4 MB | 192/588 kB Progress (2): 3.7/7.4 MB | 192/588 kB Progress (2): 3.7/7.4 MB | 192/588 kB Progress (2): 3.7/7.4 MB | 208/588 kB Progress (2): 3.7/7.4 MB | 208/588 kB Progress (2): 3.7/7.4 MB | 224/588 kB Progress (2): 3.7/7.4 MB | 224/588 kB Progress (2): 3.7/7.4 MB | 224/588 kB Progress (2): 3.7/7.4 MB | 241/588 kB Progress (2): 3.7/7.4 MB | 241/588 kB Progress (2): 3.7/7.4 MB | 257/588 kB Progress (2): 3.8/7.4 MB | 257/588 kB Progress (2): 3.8/7.4 MB | 257/588 kB Progress (2): 3.8/7.4 MB | 257/588 kB Progress (2): 3.8/7.4 MB | 257/588 kB Progress (2): 3.8/7.4 MB | 273/588 kB Progress (2): 3.8/7.4 MB | 273/588 kB Progress (2): 3.8/7.4 MB | 273/588 kB Progress (2): 3.9/7.4 MB | 273/588 kB Progress (2): 3.9/7.4 MB | 273/588 kB Progress (2): 3.9/7.4 MB | 290/588 kB Progress (2): 3.9/7.4 MB | 290/588 kB Progress (2): 3.9/7.4 MB | 290/588 kB Progress (2): 3.9/7.4 MB | 306/588 kB Progress (2): 3.9/7.4 MB | 306/588 kB Progress (2): 3.9/7.4 MB | 306/588 kB Progress (2): 4.0/7.4 MB | 306/588 kB Progress (2): 4.0/7.4 MB | 306/588 kB Progress (2): 4.0/7.4 MB | 323/588 kB Progress (2): 4.0/7.4 MB | 323/588 kB Progress (2): 4.0/7.4 MB | 323/588 kB Progress (2): 4.0/7.4 MB | 323/588 kB Progress (2): 4.0/7.4 MB | 323/588 kB Progress (2): 4.1/7.4 MB | 323/588 kB Progress (2): 4.1/7.4 MB | 323/588 kB Progress (2): 4.1/7.4 MB | 339/588 kB Progress (2): 4.1/7.4 MB | 339/588 kB Progress (2): 4.1/7.4 MB | 339/588 kB Progress (2): 4.1/7.4 MB | 339/588 kB Progress (2): 4.1/7.4 MB | 339/588 kB Progress (2): 4.2/7.4 MB | 339/588 kB Progress (2): 4.2/7.4 MB | 339/588 kB Progress (2): 4.2/7.4 MB | 355/588 kB Progress (2): 4.2/7.4 MB | 355/588 kB Progress (2): 4.2/7.4 MB | 372/588 kB Progress (2): 4.2/7.4 MB | 372/588 kB Progress (2): 4.2/7.4 MB | 372/588 kB Progress (2): 4.2/7.4 MB | 372/588 kB Progress (2): 4.3/7.4 MB | 372/588 kB Progress (2): 4.3/7.4 MB | 372/588 kB Progress (2): 4.3/7.4 MB | 372/588 kB Progress (2): 4.3/7.4 MB | 388/588 kB Progress (2): 4.3/7.4 MB | 388/588 kB Progress (2): 4.3/7.4 MB | 388/588 kB Progress (2): 4.3/7.4 MB | 388/588 kB Progress (2): 4.4/7.4 MB | 388/588 kB Progress (2): 4.4/7.4 MB | 388/588 kB Progress (2): 4.4/7.4 MB | 405/588 kB Progress (2): 4.4/7.4 MB | 405/588 kB Progress (2): 4.4/7.4 MB | 405/588 kB Progress (2): 4.4/7.4 MB | 421/588 kB Progress (2): 4.4/7.4 MB | 421/588 kB Progress (2): 4.4/7.4 MB | 421/588 kB Progress (2): 4.5/7.4 MB | 421/588 kB Progress (2): 4.5/7.4 MB | 421/588 kB Progress (2): 4.5/7.4 MB | 421/588 kB Progress (2): 4.5/7.4 MB | 421/588 kB Progress (2): 4.5/7.4 MB | 421/588 kB Progress (2): 4.5/7.4 MB | 437/588 kB Progress (2): 4.5/7.4 MB | 437/588 kB Progress (2): 4.5/7.4 MB | 437/588 kB Progress (2): 4.6/7.4 MB | 437/588 kB Progress (2): 4.6/7.4 MB | 454/588 kB Progress (2): 4.6/7.4 MB | 470/588 kB Progress (2): 4.6/7.4 MB | 470/588 kB Progress (2): 4.6/7.4 MB | 470/588 kB Progress (2): 4.6/7.4 MB | 470/588 kB Progress (2): 4.6/7.4 MB | 470/588 kB Progress (2): 4.6/7.4 MB | 470/588 kB Progress (2): 4.6/7.4 MB | 470/588 kB Progress (2): 4.7/7.4 MB | 470/588 kB Progress (2): 4.7/7.4 MB | 470/588 kB Progress (2): 4.7/7.4 MB | 470/588 kB Progress (2): 4.7/7.4 MB | 470/588 kB Progress (2): 4.7/7.4 MB | 470/588 kB Progress (2): 4.7/7.4 MB | 470/588 kB Progress (2): 4.8/7.4 MB | 470/588 kB Progress (2): 4.8/7.4 MB | 470/588 kB Progress (2): 4.8/7.4 MB | 470/588 kB Progress (2): 4.8/7.4 MB | 470/588 kB Progress (2): 4.8/7.4 MB | 470/588 kB Progress (2): 4.8/7.4 MB | 470/588 kB Progress (2): 4.9/7.4 MB | 470/588 kB Progress (2): 4.9/7.4 MB | 470/588 kB Progress (2): 4.9/7.4 MB | 470/588 kB Progress (2): 4.9/7.4 MB | 470/588 kB Progress (2): 4.9/7.4 MB | 486/588 kB Progress (2): 4.9/7.4 MB | 486/588 kB Progress (2): 4.9/7.4 MB | 486/588 kB Progress (2): 4.9/7.4 MB | 503/588 kB Progress (2): 5.0/7.4 MB | 503/588 kB Progress (2): 5.0/7.4 MB | 503/588 kB Progress (2): 5.0/7.4 MB | 503/588 kB Progress (2): 5.0/7.4 MB | 503/588 kB Progress (2): 5.0/7.4 MB | 503/588 kB Progress (2): 5.0/7.4 MB | 503/588 kB Progress (2): 5.0/7.4 MB | 503/588 kB Progress (2): 5.1/7.4 MB | 503/588 kB Progress (2): 5.1/7.4 MB | 519/588 kB Progress (2): 5.1/7.4 MB | 519/588 kB Progress (2): 5.1/7.4 MB | 519/588 kB Progress (2): 5.1/7.4 MB | 536/588 kB Progress (2): 5.1/7.4 MB | 536/588 kB Progress (2): 5.1/7.4 MB | 536/588 kB Progress (2): 5.1/7.4 MB | 536/588 kB Progress (2): 5.1/7.4 MB | 552/588 kB Progress (2): 5.2/7.4 MB | 552/588 kB Progress (2): 5.2/7.4 MB | 552/588 kB Progress (2): 5.2/7.4 MB | 552/588 kB Progress (2): 5.2/7.4 MB | 552/588 kB Progress (2): 5.2/7.4 MB | 552/588 kB Progress (2): 5.2/7.4 MB | 552/588 kB Progress (2): 5.3/7.4 MB | 552/588 kB Progress (2): 5.3/7.4 MB | 552/588 kB Progress (2): 5.3/7.4 MB | 568/588 kB Progress (2): 5.3/7.4 MB | 568/588 kB Progress (2): 5.3/7.4 MB | 568/588 kB Progress (2): 5.3/7.4 MB | 568/588 kB Progress (2): 5.3/7.4 MB | 568/588 kB Progress (2): 5.4/7.4 MB | 568/588 kB Progress (2): 5.4/7.4 MB | 585/588 kB Progress (2): 5.4/7.4 MB | 588 kB Progress (2): 5.4/7.4 MB | 588 kB Progress (2): 5.4/7.4 MB | 588 kB Progress (2): 5.4/7.4 MB | 588 kB Progress (2): 5.4/7.4 MB | 588 kB Progress (2): 5.4/7.4 MB | 588 kB Downloaded from central: https://repo.maven.apache.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar (588 kB at 560 kB/s) +Progress (1): 5.5/7.4 MB Progress (1): 5.5/7.4 MB Progress (1): 5.5/7.4 MB Progress (1): 5.5/7.4 MB Progress (1): 5.5/7.4 MB Progress (1): 5.5/7.4 MB Progress (1): 5.5/7.4 MB Progress (1): 5.6/7.4 MB Progress (1): 5.6/7.4 MB Progress (1): 5.6/7.4 MB Progress (1): 5.6/7.4 MB Progress (1): 5.6/7.4 MB Progress (1): 5.6/7.4 MB Progress (1): 5.7/7.4 MB Progress (1): 5.7/7.4 MB Progress (1): 5.7/7.4 MB Progress (1): 5.7/7.4 MB Progress (1): 5.7/7.4 MB Progress (1): 5.7/7.4 MB Progress (1): 5.8/7.4 MB Progress (1): 5.8/7.4 MB Progress (1): 5.8/7.4 MB Progress (1): 5.8/7.4 MB Progress (1): 5.8/7.4 MB Progress (1): 5.8/7.4 MB Progress (1): 5.8/7.4 MB Progress (1): 5.9/7.4 MB Progress (1): 5.9/7.4 MB Progress (1): 5.9/7.4 MB Progress (1): 5.9/7.4 MB Progress (1): 5.9/7.4 MB Progress (1): 5.9/7.4 MB Progress (1): 6.0/7.4 MB Progress (1): 6.0/7.4 MB Progress (1): 6.0/7.4 MB Progress (1): 6.0/7.4 MB Progress (1): 6.0/7.4 MB Progress (1): 6.0/7.4 MB Progress (1): 6.0/7.4 MB Progress (1): 6.1/7.4 MB Progress (1): 6.1/7.4 MB Progress (1): 6.1/7.4 MB Progress (1): 6.1/7.4 MB Progress (1): 6.1/7.4 MB Progress (1): 6.1/7.4 MB Progress (1): 6.2/7.4 MB Progress (1): 6.2/7.4 MB Progress (1): 6.2/7.4 MB Progress (1): 6.2/7.4 MB Progress (1): 6.2/7.4 MB Progress (1): 6.2/7.4 MB Progress (1): 6.3/7.4 MB Progress (1): 6.3/7.4 MB Progress (1): 6.3/7.4 MB Progress (1): 6.3/7.4 MB Progress (1): 6.3/7.4 MB Progress (1): 6.3/7.4 MB Progress (1): 6.3/7.4 MB Progress (1): 6.4/7.4 MB Progress (1): 6.4/7.4 MB Progress (1): 6.4/7.4 MB Progress (1): 6.4/7.4 MB Progress (1): 6.4/7.4 MB Progress (1): 6.4/7.4 MB Progress (1): 6.5/7.4 MB Progress (1): 6.5/7.4 MB Progress (1): 6.5/7.4 MB Progress (1): 6.5/7.4 MB Progress (1): 6.5/7.4 MB Progress (1): 6.5/7.4 MB Progress (1): 6.6/7.4 MB Progress (1): 6.6/7.4 MB Progress (1): 6.6/7.4 MB Progress (1): 6.6/7.4 MB Progress (1): 6.6/7.4 MB Progress (1): 6.6/7.4 MB Progress (1): 6.6/7.4 MB Progress (1): 6.7/7.4 MB Progress (1): 6.7/7.4 MB Progress (1): 6.7/7.4 MB Progress (1): 6.7/7.4 MB Progress (1): 6.7/7.4 MB Progress (1): 6.7/7.4 MB Progress (1): 6.8/7.4 MB Progress (1): 6.8/7.4 MB Progress (1): 6.8/7.4 MB Progress (1): 6.8/7.4 MB Progress (1): 6.8/7.4 MB Progress (1): 6.8/7.4 MB Progress (1): 6.9/7.4 MB Progress (1): 6.9/7.4 MB Progress (1): 6.9/7.4 MB Progress (1): 6.9/7.4 MB Progress (1): 6.9/7.4 MB Progress (1): 6.9/7.4 MB Progress (1): 7.0/7.4 MB Progress (1): 7.0/7.4 MB Progress (1): 7.0/7.4 MB Progress (1): 7.0/7.4 MB Progress (1): 7.0/7.4 MB Progress (1): 7.0/7.4 MB Progress (1): 7.1/7.4 MB Progress (1): 7.1/7.4 MB Progress (1): 7.1/7.4 MB Progress (1): 7.1/7.4 MB Progress (1): 7.1/7.4 MB Progress (1): 7.1/7.4 MB Progress (1): 7.2/7.4 MB Progress (1): 7.2/7.4 MB Progress (1): 7.2/7.4 MB Progress (1): 7.2/7.4 MB Progress (1): 7.2/7.4 MB Progress (1): 7.2/7.4 MB Progress (1): 7.3/7.4 MB Progress (1): 7.3/7.4 MB Progress (1): 7.3/7.4 MB Progress (1): 7.3/7.4 MB Progress (1): 7.3/7.4 MB Progress (1): 7.3/7.4 MB Progress (1): 7.4/7.4 MB Progress (1): 7.4/7.4 MB Progress (1): 7.4/7.4 MB Progress (1): 7.4/7.4 MB Progress (1): 7.4 MB Downloaded from central: https://repo.maven.apache.org/maven2/com/github/luben/zstd-jni/1.5.7-6/zstd-jni-1.5.7-6.jar (7.4 MB at 5.8 MB/s) +[INFO] io.polyxml:java-codegen-benchmarks:jar:1.0-SNAPSHOT +[INFO] +- org.openjdk.jmh:jmh-core:jar:1.37:compile +[INFO] | +- net.sf.jopt-simple:jopt-simple:jar:5.0.4:compile +[INFO] | \- org.apache.commons:commons-math3:jar:3.6.1:compile +[INFO] +- org.openjdk.jmh:jmh-generator-annprocess:jar:1.37:provided +[INFO] +- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.21.2:compile +[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.21.2:compile +[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.21:compile +[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.21.2:compile +[INFO] | +- org.codehaus.woodstox:stax2-api:jar:4.2.2:compile +[INFO] | \- com.fasterxml.woodstox:woodstox-core:jar:7.1.1:compile +[INFO] +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.21.2:compile +[INFO] +- org.glassfish.jaxb:jaxb-runtime:jar:4.0.5:compile +[INFO] | \- org.glassfish.jaxb:jaxb-core:jar:4.0.5:compile +[INFO] | +- jakarta.xml.bind:jakarta.xml.bind-api:jar:4.0.2:compile +[INFO] | +- jakarta.activation:jakarta.activation-api:jar:2.1.3:compile +[INFO] | +- org.eclipse.angus:angus-activation:jar:2.0.2:runtime +[INFO] | +- org.glassfish.jaxb:txw2:jar:4.0.5:compile +[INFO] | \- com.sun.istack:istack-commons-runtime:jar:4.1.2:compile +[INFO] \- org.junit.jupiter:junit-jupiter:jar:5.11.4:test +[INFO] +- org.junit.jupiter:junit-jupiter-api:jar:5.11.4:test +[INFO] | +- org.opentest4j:opentest4j:jar:1.3.0:test +[INFO] | +- org.junit.platform:junit-platform-commons:jar:1.11.4:test +[INFO] | \- org.apiguardian:apiguardian-api:jar:1.1.2:test +[INFO] +- org.junit.jupiter:junit-jupiter-params:jar:5.11.4:test +[INFO] \- org.junit.jupiter:junit-jupiter-engine:jar:5.11.4:test +[INFO] \- org.junit.platform:junit-platform-engine:jar:1.11.4:test +[INFO] ------------------------------------------------------------------------ +[INFO] BUILD SUCCESS +[INFO] ------------------------------------------------------------------------ +[INFO] Total time: 6.118 s +[INFO] Finished at: 2026-10-04T10:36:41-05:00 +[INFO] ------------------------------------------------------------------------ diff --git a/docs/benchmarks/data/2026-10-04/native-models/java-jmh.json b/docs/benchmarks/data/2026-10-04/native-models/java-jmh.json new file mode 100644 index 00000000..05a50340 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/java-jmh.json @@ -0,0 +1,2548 @@ +[ + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.directRead", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "settlement" + }, + "primaryMetric" : { + "score" : 380.1360285034425, + "scoreError" : 4.8455847670692265, + "scoreConfidence" : [ + 375.2904437363733, + 384.98161327051173 + ], + "scorePercentiles" : { + "0.0" : 374.23297616414845, + "50.0" : 381.5239779125351, + "90.0" : 382.6152355785959, + "95.0" : 382.6165466709415, + "99.0" : 382.6165466709415, + "99.9" : 382.6165466709415, + "99.99" : 382.6165466709415, + "99.999" : 382.6165466709415, + "99.9999" : 382.6165466709415, + "100.0" : 382.6165466709415 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 374.2963635019922, + 380.93513379401486, + 381.47093833709124, + 379.77735533554585, + 374.23297616414845 + ], + [ + 382.60343574748555, + 381.5770174879789, + 382.2674825544627, + 381.58303544076404, + 382.6165466709415 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 1638.3829999968484, + "scoreError" : 20.887822285053282, + "scoreConfidence" : [ + 1617.4951777117951, + 1659.2708222819017 + ], + "scorePercentiles" : { + "0.0" : 1612.9041197406148, + "50.0" : 1644.3456888174483, + "90.0" : 1649.1119640393097, + "95.0" : 1649.1211643984498, + "99.0" : 1649.1211643984498, + "99.9" : 1649.1211643984498, + "99.99" : 1649.1211643984498, + "99.999" : 1649.1211643984498, + "99.9999" : 1649.1211643984498, + "100.0" : 1649.1211643984498 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 1613.2381728929697, + 1641.815822734668, + 1644.1296498508777, + 1636.8794892144283, + 1612.9041197406148 + ], + [ + 1649.0291608070488, + 1644.5617277840186, + 1647.535234145357, + 1644.6154584000506, + 1649.1211643984498 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 4520009.248549848, + "scoreError" : 0.11268486471197345, + "scoreConfidence" : [ + 4520009.135864983, + 4520009.361234712 + ], + "scorePercentiles" : { + "0.0" : 4520009.169712794, + "50.0" : 4520009.235602094, + "90.0" : 4520009.377837116, + "95.0" : 4520009.377837116, + "99.0" : 4520009.377837116, + "99.9" : 4520009.377837116, + "99.99" : 4520009.377837116, + "99.999" : 4520009.377837116, + "99.9999" : 4520009.377837116, + "100.0" : 4520009.377837116 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 4520009.377837116, + 4520009.25984252, + 4520009.235602094, + 4520009.242105263, + 4520009.377837116 + ], + [ + 4520009.169712794, + 4520009.235602094, + 4520009.2235294115, + 4520009.193717278, + 4520009.169712794 + ] + ] + }, + "gc.count" : { + "score" : 216.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 216.0, + 216.0 + ], + "scorePercentiles" : { + "0.0" : 21.0, + "50.0" : 22.0, + "90.0" : 22.0, + "95.0" : 22.0, + "99.0" : 22.0, + "99.9" : 22.0, + "99.99" : 22.0, + "99.999" : 22.0, + "99.9999" : 22.0, + "100.0" : 22.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 22.0, + 21.0, + 22.0, + 21.0, + 22.0 + ], + [ + 21.0, + 22.0, + 22.0, + 22.0, + 21.0 + ] + ] + }, + "gc.time" : { + "score" : 226.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 226.0, + 226.0 + ], + "scorePercentiles" : { + "0.0" : 22.0, + "50.0" : 22.5, + "90.0" : 23.9, + "95.0" : 24.0, + "99.0" : 24.0, + "99.9" : 24.0, + "99.99" : 24.0, + "99.999" : 24.0, + "99.9999" : 24.0, + "100.0" : 24.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 22.0, + 22.0, + 22.0, + 22.0, + 23.0 + ], + [ + 24.0, + 23.0, + 23.0, + 23.0, + 22.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.directRead", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "telemetry" + }, + "primaryMetric" : { + "score" : 605.3058101221241, + "scoreError" : 2.467346723576725, + "scoreConfidence" : [ + 602.8384633985473, + 607.7731568457008 + ], + "scorePercentiles" : { + "0.0" : 602.4959446627438, + "50.0" : 605.5165051824162, + "90.0" : 608.365865498869, + "95.0" : 608.6221004516086, + "99.0" : 608.6221004516086, + "99.9" : 608.6221004516086, + "99.99" : 608.6221004516086, + "99.999" : 608.6221004516086, + "99.9999" : 608.6221004516086, + "100.0" : 608.6221004516086 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 605.3545248327193, + 605.5250536992683, + 605.561486283077, + 605.507956665564, + 608.6221004516086 + ], + [ + 605.8139984425932, + 606.0597509242116, + 602.4959446627438, + 603.3574311641967, + 604.7598540952578 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 1569.934377558052, + "scoreError" : 6.397638544744986, + "scoreConfidence" : [ + 1563.536739013307, + 1576.3320161027968 + ], + "scorePercentiles" : { + "0.0" : 1562.5874702360074, + "50.0" : 1570.4814629969592, + "90.0" : 1577.8518861222178, + "95.0" : 1578.5185411842394, + "99.0" : 1578.5185411842394, + "99.9" : 1578.5185411842394, + "99.99" : 1578.5185411842394, + "99.999" : 1578.5185411842394, + "99.9999" : 1578.5185411842394, + "100.0" : 1578.5185411842394 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 1570.0907900949285, + 1570.4525704141338, + 1570.5883961232478, + 1570.5103555797848, + 1578.5185411842394 + ], + [ + 1571.2741922060143, + 1571.8519905640221, + 1562.5874702360074, + 1564.9325187030952, + 1568.5369504750458 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 2720005.8093394004, + "scoreError" : 0.03374462897788237, + "scoreConfidence" : [ + 2720005.7755947714, + 2720005.8430840294 + ], + "scorePercentiles" : { + "0.0" : 2720005.7668308704, + "50.0" : 2720005.8109706827, + "90.0" : 2720005.84784986, + "95.0" : 2720005.850746269, + "99.0" : 2720005.850746269, + "99.9" : 2720005.850746269, + "99.99" : 2720005.850746269, + "99.999" : 2720005.850746269, + "99.9999" : 2720005.850746269, + "100.0" : 2720005.850746269 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 2720005.8001651526, + 2720005.8217821782, + 2720005.8217821782, + 2720005.795379538, + 2720005.7668308704 + ], + [ + 2720005.795379538, + 2720005.8169826875, + 2720005.850746269, + 2720005.8193869097, + 2720005.804958678 + ] + ] + }, + "gc.count" : { + "score" : 208.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 208.0, + 208.0 + ], + "scorePercentiles" : { + "0.0" : 20.0, + "50.0" : 21.0, + "90.0" : 21.0, + "95.0" : 21.0, + "99.0" : 21.0, + "99.9" : 21.0, + "99.99" : 21.0, + "99.999" : 21.0, + "99.9999" : 21.0, + "100.0" : 21.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 21.0, + 21.0, + 21.0, + 20.0, + 21.0 + ], + [ + 21.0, + 21.0, + 21.0, + 20.0, + 21.0 + ] + ] + }, + "gc.time" : { + "score" : 214.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 214.0, + 214.0 + ], + "scorePercentiles" : { + "0.0" : 20.0, + "50.0" : 21.5, + "90.0" : 22.9, + "95.0" : 23.0, + "99.0" : 23.0, + "99.9" : 23.0, + "99.99" : 23.0, + "99.999" : 23.0, + "99.9999" : 23.0, + "100.0" : 23.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 22.0, + 21.0, + 22.0, + 20.0, + 23.0 + ], + [ + 21.0, + 21.0, + 22.0, + 20.0, + 22.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.directWrite", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "settlement" + }, + "primaryMetric" : { + "score" : 208.08580283623527, + "scoreError" : 4.253439382611786, + "scoreConfidence" : [ + 203.8323634536235, + 212.33924221884706 + ], + "scorePercentiles" : { + "0.0" : 204.42716750646946, + "50.0" : 208.03797446984737, + "90.0" : 211.44100185640903, + "95.0" : 211.46189033812325, + "99.0" : 211.46189033812325, + "99.9" : 211.46189033812325, + "99.99" : 211.46189033812325, + "99.999" : 211.46189033812325, + "99.9999" : 211.46189033812325, + "100.0" : 211.46189033812325 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 206.13512824875687, + 204.91506209201768, + 206.17920134777017, + 204.42716750646946, + 205.8268569042707 + ], + [ + 210.43164601450422, + 210.33132279753494, + 211.46189033812325, + 209.8967475919246, + 211.25300552098093 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 1876.2267590780684, + "scoreError" : 38.352351522115164, + "scoreConfidence" : [ + 1837.8744075559532, + 1914.5791106001836 + ], + "scorePercentiles" : { + "0.0" : 1843.2514812715206, + "50.0" : 1875.8206975143034, + "90.0" : 1906.4509184774047, + "95.0" : 1906.6330889606002, + "99.0" : 1906.6330889606002, + "99.9" : 1906.6330889606002, + "99.99" : 1906.6330889606002, + "99.999" : 1906.6330889606002, + "99.9999" : 1906.6330889606002, + "100.0" : 1906.6330889606002 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 1858.681465717787, + 1847.5685578091047, + 1859.0500998924135, + 1843.2514812715206, + 1855.8612251157654 + ], + [ + 1897.3667681612083, + 1896.452224587445, + 1906.6330889606002, + 1892.5912951361931, + 1904.8113841286456 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 9456016.890046384, + "scoreError" : 0.3369540943335737, + "scoreConfidence" : [ + 9456016.55309229, + 9456017.227000479 + ], + "scorePercentiles" : { + "0.0" : 9456016.605200946, + "50.0" : 9456016.883679468, + "90.0" : 9456017.2061399, + "95.0" : 9456017.209756097, + "99.0" : 9456017.209756097, + "99.9" : 9456017.209756097, + "99.99" : 9456017.209756097, + "99.999" : 9456017.209756097, + "99.9999" : 9456017.209756097, + "100.0" : 9456017.209756097 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 9456017.007263923, + 9456017.209756097, + 9456017.007263923, + 9456017.173594132, + 9456017.04854369 + ], + [ + 9456016.68408551, + 9456016.760095011, + 9456016.680851065, + 9456016.723809524, + 9456016.605200946 + ] + ] + }, + "gc.count" : { + "score" : 249.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 249.0, + 249.0 + ], + "scorePercentiles" : { + "0.0" : 24.0, + "50.0" : 25.0, + "90.0" : 25.9, + "95.0" : 26.0, + "99.0" : 26.0, + "99.9" : 26.0, + "99.99" : 26.0, + "99.999" : 26.0, + "99.9999" : 26.0, + "100.0" : 26.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 24.0, + 25.0, + 24.0, + 25.0, + 25.0 + ], + [ + 26.0, + 25.0, + 25.0, + 25.0, + 25.0 + ] + ] + }, + "gc.time" : { + "score" : 257.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 257.0, + 257.0 + ], + "scorePercentiles" : { + "0.0" : 24.0, + "50.0" : 26.0, + "90.0" : 27.0, + "95.0" : 27.0, + "99.0" : 27.0, + "99.9" : 27.0, + "99.99" : 27.0, + "99.999" : 27.0, + "99.9999" : 27.0, + "100.0" : 27.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 24.0, + 25.0, + 26.0, + 26.0, + 26.0 + ], + [ + 26.0, + 24.0, + 26.0, + 27.0, + 27.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.directWrite", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "telemetry" + }, + "primaryMetric" : { + "score" : 698.8611308742883, + "scoreError" : 4.591034063787572, + "scoreConfidence" : [ + 694.2700968105007, + 703.4521649380758 + ], + "scorePercentiles" : { + "0.0" : 693.8266057929463, + "50.0" : 699.1911584799252, + "90.0" : 703.7251302646495, + "95.0" : 703.9180638973954, + "99.0" : 703.9180638973954, + "99.9" : 703.9180638973954, + "99.99" : 703.9180638973954, + "99.999" : 703.9180638973954, + "99.9999" : 703.9180638973954, + "100.0" : 703.9180638973954 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 696.1357535802288, + 697.616936098729, + 698.5981174609682, + 699.7841994988822, + 703.9180638973954 + ], + [ + 700.5637403939176, + 696.0517124189527, + 693.8266057929463, + 701.9887275699363, + 700.1274520309263 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 3902.388129827164, + "scoreError" : 25.642745843628838, + "scoreConfidence" : [ + 3876.7453839835352, + 3928.0308756707927 + ], + "scorePercentiles" : { + "0.0" : 3874.2925889920175, + "50.0" : 3904.270629775391, + "90.0" : 3929.564544735304, + "95.0" : 3930.6580976646833, + "99.0" : 3930.6580976646833, + "99.9" : 3930.6580976646833, + "99.99" : 3930.6580976646833, + "99.999" : 3930.6580976646833, + "99.9999" : 3930.6580976646833, + "100.0" : 3930.6580976646833 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 3887.2840543680113, + 3895.3622415054956, + 3900.9075216288334, + 3907.633737921949, + 3930.6580976646833 + ], + [ + 3912.0087370589704, + 3886.562442606593, + 3874.2925889920175, + 3919.722568370889, + 3909.4493081541996 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 5856005.029492596, + "scoreError" : 0.0422199262531847, + "scoreConfidence" : [ + 5856004.98727267, + 5856005.071712523 + ], + "scorePercentiles" : { + "0.0" : 5856004.985095813, + "50.0" : 5856005.029748743, + "90.0" : 5856005.064845843, + "95.0" : 5856005.065326633, + "99.0" : 5856005.065326633, + "99.9" : 5856005.065326633, + "99.99" : 5856005.065326633, + "99.999" : 5856005.065326633, + "99.9999" : 5856005.065326633, + "100.0" : 5856005.065326633 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 5856005.04235463, + 5856005.054441261, + 5856005.0472103, + 5856005.017142857, + 5856004.985095813 + ], + [ + 5856005.009985735, + 5856005.065326633, + 5856005.060518732, + 5856004.999288256, + 5856005.013561741 + ] + ] + }, + "gc.count" : { + "score" : 388.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 388.0, + 388.0 + ], + "scorePercentiles" : { + "0.0" : 37.0, + "50.0" : 38.5, + "90.0" : 40.0, + "95.0" : 40.0, + "99.0" : 40.0, + "99.9" : 40.0, + "99.99" : 40.0, + "99.999" : 40.0, + "99.9999" : 40.0, + "100.0" : 40.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 40.0, + 40.0, + 39.0, + 40.0, + 40.0 + ], + [ + 38.0, + 37.0, + 38.0, + 38.0, + 38.0 + ] + ] + }, + "gc.time" : { + "score" : 426.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 426.0, + 426.0 + ], + "scorePercentiles" : { + "0.0" : 41.0, + "50.0" : 43.0, + "90.0" : 44.0, + "95.0" : 44.0, + "99.0" : 44.0, + "99.9" : 44.0, + "99.99" : 44.0, + "99.999" : 44.0, + "99.9999" : 44.0, + "100.0" : 44.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 44.0, + 43.0, + 43.0, + 42.0, + 44.0 + ], + [ + 43.0, + 41.0, + 43.0, + 41.0, + 42.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.jacksonRead", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "settlement" + }, + "primaryMetric" : { + "score" : 402.5312621500833, + "scoreError" : 4.929850195532347, + "scoreConfidence" : [ + 397.60141195455094, + 407.4611123456157 + ], + "scorePercentiles" : { + "0.0" : 395.759203478717, + "50.0" : 402.9324723746388, + "90.0" : 406.2673504150979, + "95.0" : 406.3505168512422, + "99.0" : 406.3505168512422, + "99.9" : 406.3505168512422, + "99.99" : 406.3505168512422, + "99.999" : 406.3505168512422, + "99.9999" : 406.3505168512422, + "100.0" : 406.3505168512422 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 403.00023155434496, + 402.86471319493256, + 404.5361083311739, + 395.759203478717, + 406.3505168512422 + ], + [ + 405.51885248979914, + 404.55808360699945, + 402.59580508437784, + 401.75120933647463, + 398.3778975727718 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 1934.5047751966915, + "scoreError" : 23.692365674847103, + "scoreConfidence" : [ + 1910.8124095218445, + 1958.1971408715385 + ], + "scorePercentiles" : { + "0.0" : 1901.9665944715443, + "50.0" : 1936.4483857077716, + "90.0" : 1952.479321320904, + "95.0" : 1952.8791882057717, + "99.0" : 1952.8791882057717, + "99.9" : 1952.8791882057717, + "99.99" : 1952.8791882057717, + "99.999" : 1952.8791882057717, + "99.9999" : 1952.8791882057717, + "100.0" : 1952.8791882057717 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 1936.7973937567865, + 1936.0993776587568, + 1944.1362573547628, + 1901.9665944715443, + 1952.8791882057717 + ], + [ + 1948.8805193570947, + 1944.2082110888125, + 1934.7630213713694, + 1930.7754139425003, + 1914.5417747595116 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 5040008.722394081, + "scoreError" : 0.11093476433824051, + "scoreConfidence" : [ + 5040008.611459317, + 5040008.833328845 + ], + "scorePercentiles" : { + "0.0" : 5040008.639606396, + "50.0" : 5040008.709240793, + "90.0" : 5040008.863123075, + "95.0" : 5040008.868686869, + "99.0" : 5040008.868686869, + "99.9" : 5040008.868686869, + "99.99" : 5040008.868686869, + "99.999" : 5040008.868686869, + "99.9999" : 5040008.868686869, + "100.0" : 5040008.868686869 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 5040008.703841388, + 5040008.714640198, + 5040008.671604938, + 5040008.868686869, + 5040008.639606396 + ], + [ + 5040008.650246305, + 5040008.671604938, + 5040008.754342432, + 5040008.736318408, + 5040008.813048934 + ] + ] + }, + "gc.count" : { + "score" : 254.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 254.0, + 254.0 + ], + "scorePercentiles" : { + "0.0" : 25.0, + "50.0" : 25.0, + "90.0" : 26.0, + "95.0" : 26.0, + "99.0" : 26.0, + "99.9" : 26.0, + "99.99" : 26.0, + "99.999" : 26.0, + "99.9999" : 26.0, + "100.0" : 26.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 25.0, + 26.0, + 26.0, + 25.0, + 25.0 + ], + [ + 25.0, + 26.0, + 26.0, + 25.0, + 25.0 + ] + ] + }, + "gc.time" : { + "score" : 268.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 268.0, + 268.0 + ], + "scorePercentiles" : { + "0.0" : 26.0, + "50.0" : 27.0, + "90.0" : 28.0, + "95.0" : 28.0, + "99.0" : 28.0, + "99.9" : 28.0, + "99.99" : 28.0, + "99.999" : 28.0, + "99.9999" : 28.0, + "100.0" : 28.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 26.0, + 28.0, + 28.0, + 27.0, + 27.0 + ], + [ + 27.0, + 26.0, + 27.0, + 26.0, + 26.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.jacksonRead", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "telemetry" + }, + "primaryMetric" : { + "score" : 626.0465431779817, + "scoreError" : 4.449456760231316, + "scoreConfidence" : [ + 621.5970864177503, + 630.495999938213 + ], + "scorePercentiles" : { + "0.0" : 620.0666704377979, + "50.0" : 627.1505463321578, + "90.0" : 628.935978323683, + "95.0" : 628.9613898572378, + "99.0" : 628.9613898572378, + "99.9" : 628.9613898572378, + "99.99" : 628.9613898572378, + "99.999" : 628.9613898572378, + "99.9999" : 628.9613898572378, + "100.0" : 628.9613898572378 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 627.4745446591334, + 626.0090733555248, + 626.8265480051821, + 628.70727452169, + 622.2799860658466 + ], + [ + 627.640467769387, + 628.1417669814399, + 620.0666704377979, + 624.3577101265776, + 628.9613898572378 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 1934.1402766710817, + "scoreError" : 13.763606240686588, + "scoreConfidence" : [ + 1920.376670430395, + 1947.9038829117683 + ], + "scorePercentiles" : { + "0.0" : 1915.6473297458147, + "50.0" : 1937.5451516016235, + "90.0" : 1943.11147787256, + "95.0" : 1943.191432471527, + "99.0" : 1943.191432471527, + "99.9" : 1943.191432471527, + "99.99" : 1943.191432471527, + "99.999" : 1943.191432471527, + "99.9999" : 1943.191432471527, + "100.0" : 1943.191432471527 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 1938.575486541509, + 1933.976082316049, + 1936.514816661738, + 1942.3918864818577, + 1922.5064262274261 + ], + [ + 1939.0948316912586, + 1940.580061050752, + 1915.6473297458147, + 1928.9244135228867, + 1943.191432471527 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 3240005.616985784, + "scoreError" : 0.04905989617564016, + "scoreConfidence" : [ + 3240005.5679258876, + 3240005.66604568 + ], + "scorePercentiles" : { + "0.0" : 3240005.579030977, + "50.0" : 3240005.618532057, + "90.0" : 3240005.6813402846, + "95.0" : 3240005.6857373086, + "99.0" : 3240005.6857373086, + "99.9" : 3240005.6857373086, + "99.99" : 3240005.6857373086, + "99.999" : 3240005.6857373086, + "99.9999" : 3240005.6857373086, + "100.0" : 3240005.6857373086 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 3240005.592356688, + 3240005.6312849163, + 3240005.6267942586, + 3240005.583465819, + 3240005.6417670683 + ], + [ + 3240005.592356688, + 3240005.613365155, + 3240005.6857373086, + 3240005.623698959, + 3240005.579030977 + ] + ] + }, + "gc.count" : { + "score" : 255.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 255.0, + 255.0 + ], + "scorePercentiles" : { + "0.0" : 25.0, + "50.0" : 25.5, + "90.0" : 26.0, + "95.0" : 26.0, + "99.0" : 26.0, + "99.9" : 26.0, + "99.99" : 26.0, + "99.999" : 26.0, + "99.9999" : 26.0, + "100.0" : 26.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 26.0, + 25.0, + 26.0, + 25.0, + 26.0 + ], + [ + 25.0, + 26.0, + 25.0, + 26.0, + 25.0 + ] + ] + }, + "gc.time" : { + "score" : 263.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 263.0, + 263.0 + ], + "scorePercentiles" : { + "0.0" : 25.0, + "50.0" : 26.0, + "90.0" : 28.0, + "95.0" : 28.0, + "99.0" : 28.0, + "99.9" : 28.0, + "99.99" : 28.0, + "99.999" : 28.0, + "99.9999" : 28.0, + "100.0" : 28.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 28.0, + 26.0, + 26.0, + 25.0, + 27.0 + ], + [ + 25.0, + 28.0, + 25.0, + 27.0, + 26.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.jacksonWrite", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "settlement" + }, + "primaryMetric" : { + "score" : 197.94370196911453, + "scoreError" : 1.6959441622481135, + "scoreConfidence" : [ + 196.24775780686642, + 199.63964613136264 + ], + "scorePercentiles" : { + "0.0" : 195.61014262841195, + "50.0" : 198.38623921086017, + "90.0" : 199.01076456973195, + "95.0" : 199.02379258709618, + "99.0" : 199.02379258709618, + "99.9" : 199.02379258709618, + "99.99" : 199.02379258709618, + "99.999" : 199.02379258709618, + "99.9999" : 199.02379258709618, + "100.0" : 199.02379258709618 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 198.7424755618125, + 198.89351241345383, + 199.02379258709618, + 198.7767133228176, + 197.66716091842775 + ], + [ + 195.61014262841195, + 197.23452154506225, + 198.36202740739753, + 198.4104510143228, + 196.71622229234285 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 1242.6954366755801, + "scoreError" : 10.646130892562566, + "scoreConfidence" : [ + 1232.0493057830176, + 1253.3415675681426 + ], + "scorePercentiles" : { + "0.0" : 1228.0373358046406, + "50.0" : 1245.4768526721984, + "90.0" : 1249.3411322568193, + "95.0" : 1249.41878610643, + "99.0" : 1249.41878610643, + "99.9" : 1249.41878610643, + "99.99" : 1249.41878610643, + "99.999" : 1249.41878610643, + "99.9999" : 1249.41878610643, + "100.0" : 1249.41878610643 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 1247.7350643027662, + 1248.6422476103241, + 1249.41878610643, + 1247.9604020285992, + 1240.9845244473684 + ], + [ + 1228.0373358046406, + 1238.228882321062, + 1245.3030316684683, + 1245.6506736759286, + 1234.9934187902134 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 6584017.752177451, + "scoreError" : 0.13948446818239305, + "scoreConfidence" : [ + 6584017.612692983, + 6584017.891661919 + ], + "scorePercentiles" : { + "0.0" : 6584017.648241206, + "50.0" : 6584017.733008477, + "90.0" : 6584017.912859726, + "95.0" : 6584017.918367347, + "99.0" : 6584017.918367347, + "99.9" : 6584017.918367347, + "99.99" : 6584017.918367347, + "99.999" : 6584017.918367347, + "99.9999" : 6584017.918367347, + "100.0" : 6584017.918367347 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 6584017.648241206, + 6584017.728643216, + 6584017.684210527, + 6584017.648241206, + 6584017.737373738 + ], + [ + 6584017.918367347, + 6584017.863291139, + 6584017.773299748, + 6584017.692695214, + 6584017.827411167 + ] + ] + }, + "gc.count" : { + "score" : 164.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 164.0, + 164.0 + ], + "scorePercentiles" : { + "0.0" : 16.0, + "50.0" : 16.0, + "90.0" : 17.0, + "95.0" : 17.0, + "99.0" : 17.0, + "99.9" : 17.0, + "99.99" : 17.0, + "99.999" : 17.0, + "99.9999" : 17.0, + "100.0" : 17.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 16.0, + 17.0, + 16.0, + 17.0, + 16.0 + ], + [ + 16.0, + 17.0, + 16.0, + 17.0, + 16.0 + ] + ] + }, + "gc.time" : { + "score" : 174.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 174.0, + 174.0 + ], + "scorePercentiles" : { + "0.0" : 16.0, + "50.0" : 17.0, + "90.0" : 18.9, + "95.0" : 19.0, + "99.0" : 19.0, + "99.9" : 19.0, + "99.99" : 19.0, + "99.999" : 19.0, + "99.9999" : 19.0, + "100.0" : 19.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 17.0, + 19.0, + 17.0, + 18.0, + 16.0 + ], + [ + 17.0, + 18.0, + 17.0, + 18.0, + 17.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.jacksonWrite", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "telemetry" + }, + "primaryMetric" : { + "score" : 490.0843462537705, + "scoreError" : 3.6110024884390635, + "scoreConfidence" : [ + 486.47334376533144, + 493.69534874220955 + ], + "scorePercentiles" : { + "0.0" : 487.03520744695953, + "50.0" : 489.8748015310864, + "90.0" : 495.26445650583133, + "95.0" : 495.7304453310251, + "99.0" : 495.7304453310251, + "99.9" : 495.7304453310251, + "99.99" : 495.7304453310251, + "99.999" : 495.7304453310251, + "99.9999" : 495.7304453310251, + "100.0" : 495.7304453310251 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 488.4235524339966, + 489.7650286156937, + 489.9845744464791, + 489.379236141573, + 495.7304453310251 + ], + [ + 490.50250611641263, + 491.0433743468045, + 487.03520744695953, + 487.90898057967286, + 491.0705570790874 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 807.5175558639644, + "scoreError" : 5.934260539384492, + "scoreConfidence" : [ + 801.5832953245799, + 813.4518164033489 + ], + "scorePercentiles" : { + "0.0" : 802.4938451956428, + "50.0" : 807.183885933088, + "90.0" : 816.0253111606829, + "95.0" : 816.7888004562247, + "99.0" : 816.7888004562247, + "99.9" : 816.7888004562247, + "99.99" : 816.7888004562247, + "99.999" : 816.7888004562247, + "99.9999" : 816.7888004562247, + "100.0" : 816.7888004562247 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 804.7919542592232, + 807.0071706138192, + 807.3606012523568, + 806.3587364755201, + 816.7888004562247 + ], + [ + 808.2007755438195, + 809.0823487018546, + 802.4938451956428, + 803.9374186403764, + 809.1539075008062 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 1728007.1707248124, + "scoreError" : 0.0617984947665172, + "scoreConfidence" : [ + 1728007.1089263177, + 1728007.2325233072 + ], + "scorePercentiles" : { + "0.0" : 1728007.0806451612, + "50.0" : 1728007.1726866942, + "90.0" : 1728007.2329029003, + "95.0" : 1728007.236923077, + "99.0" : 1728007.236923077, + "99.9" : 1728007.236923077, + "99.99" : 1728007.236923077, + "99.999" : 1728007.236923077, + "99.9999" : 1728007.236923077, + "100.0" : 1728007.236923077 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 1728007.189355169, + 1728007.1673469387, + 1728007.1926605504, + 1728007.1673469387, + 1728007.0806451612 + ], + [ + 1728007.152749491, + 1728007.1780264496, + 1728007.236923077, + 1728007.1967213114, + 1728007.1454730418 + ] + ] + }, + "gc.count" : { + "score" : 107.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 107.0, + 107.0 + ], + "scorePercentiles" : { + "0.0" : 10.0, + "50.0" : 11.0, + "90.0" : 11.0, + "95.0" : 11.0, + "99.0" : 11.0, + "99.9" : 11.0, + "99.99" : 11.0, + "99.999" : 11.0, + "99.9999" : 11.0, + "100.0" : 11.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 11.0, + 10.0, + 11.0, + 11.0, + 11.0 + ], + [ + 10.0, + 11.0, + 11.0, + 10.0, + 11.0 + ] + ] + }, + "gc.time" : { + "score" : 115.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 115.0, + 115.0 + ], + "scorePercentiles" : { + "0.0" : 10.0, + "50.0" : 12.0, + "90.0" : 12.9, + "95.0" : 13.0, + "99.0" : 13.0, + "99.9" : 13.0, + "99.99" : 13.0, + "99.999" : 13.0, + "99.9999" : 13.0, + "100.0" : 13.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 12.0, + 10.0, + 12.0, + 11.0, + 13.0 + ], + [ + 11.0, + 12.0, + 12.0, + 10.0, + 12.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.jaxbRead", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "settlement" + }, + "primaryMetric" : { + "score" : 173.61133903447976, + "scoreError" : 3.2974834893983815, + "scoreConfidence" : [ + 170.31385554508137, + 176.90882252387814 + ], + "scorePercentiles" : { + "0.0" : 170.61739194880263, + "50.0" : 173.5753304354402, + "90.0" : 176.12936926950667, + "95.0" : 176.15341595219635, + "99.0" : 176.15341595219635, + "99.9" : 176.15341595219635, + "99.99" : 176.15341595219635, + "99.999" : 176.15341595219635, + "99.9999" : 176.15341595219635, + "100.0" : 176.15341595219635 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 170.61739194880263, + 171.83200534699643, + 172.2989826536651, + 171.90586263056488, + 171.3812924906844 + ], + [ + 174.85167821721532, + 175.70587039357866, + 176.15341595219635, + 175.45394158579433, + 175.91294912529943 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 1174.7071848298458, + "scoreError" : 22.327126191488563, + "scoreConfidence" : [ + 1152.3800586383572, + 1197.0343110213344 + ], + "scorePercentiles" : { + "0.0" : 1154.4117942248142, + "50.0" : 1174.479958879092, + "90.0" : 1191.7778841662398, + "95.0" : 1191.942352593485, + "99.0" : 1191.942352593485, + "99.9" : 1191.942352593485, + "99.99" : 1191.942352593485, + "99.999" : 1191.942352593485, + "99.9999" : 1191.942352593485, + "100.0" : 1191.942352593485 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 1154.4117942248142, + 1162.6161479331493, + 1165.842007334039, + 1163.1898620037896, + 1159.6331907924782 + ], + [ + 1183.1179104241448, + 1188.8699447914935, + 1191.942352593485, + 1187.150969880033, + 1190.297668321032 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 7096026.292583314, + "scoreError" : 0.4245995949477689, + "scoreConfidence" : [ + 7096025.867983718, + 7096026.717182909 + ], + "scorePercentiles" : { + "0.0" : 7096025.677053824, + "50.0" : 7096026.317275748, + "90.0" : 7096026.659649123, + "95.0" : 7096026.666666667, + "99.0" : 7096026.666666667, + "99.9" : 7096026.666666667, + "99.99" : 7096026.666666667, + "99.999" : 7096026.666666667, + "99.9999" : 7096026.666666667, + "100.0" : 7096026.666666667 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 7096026.596491228, + 7096026.441860465, + 7096026.666666667, + 7096026.348837209, + 7096026.425655977 + ], + [ + 7096026.285714285, + 7096026.136363637, + 7096025.677053824, + 7096026.210826211, + 7096026.136363637 + ] + ] + }, + "gc.count" : { + "score" : 155.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 155.0, + 155.0 + ], + "scorePercentiles" : { + "0.0" : 15.0, + "50.0" : 15.5, + "90.0" : 16.0, + "95.0" : 16.0, + "99.0" : 16.0, + "99.9" : 16.0, + "99.99" : 16.0, + "99.999" : 16.0, + "99.9999" : 16.0, + "100.0" : 16.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 15.0, + 15.0, + 16.0, + 15.0, + 15.0 + ], + [ + 16.0, + 16.0, + 15.0, + 16.0, + 16.0 + ] + ] + }, + "gc.time" : { + "score" : 181.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 181.0, + 181.0 + ], + "scorePercentiles" : { + "0.0" : 16.0, + "50.0" : 18.5, + "90.0" : 19.9, + "95.0" : 20.0, + "99.0" : 20.0, + "99.9" : 20.0, + "99.99" : 20.0, + "99.999" : 20.0, + "99.9999" : 20.0, + "100.0" : 20.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 18.0, + 16.0, + 20.0, + 17.0, + 17.0 + ], + [ + 19.0, + 19.0, + 17.0, + 19.0, + 19.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.jaxbRead", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "telemetry" + }, + "primaryMetric" : { + "score" : 238.7707016712467, + "scoreError" : 1.7356055571595719, + "scoreConfidence" : [ + 237.03509611408714, + 240.50630722840629 + ], + "scorePercentiles" : { + "0.0" : 236.95759193672868, + "50.0" : 238.71321115804196, + "90.0" : 240.6283767211439, + "95.0" : 240.71573397543372, + "99.0" : 240.71573397543372, + "99.9" : 240.71573397543372, + "99.99" : 240.71573397543372, + "99.999" : 240.71573397543372, + "99.9999" : 240.71573397543372, + "100.0" : 240.71573397543372 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 239.8421614325353, + 239.40642201479497, + 238.80524429345843, + 236.95759193672868, + 237.1162511776522 + ], + [ + 240.71573397543372, + 238.6211780226255, + 238.58083911311846, + 238.36478573469697, + 239.29680901142265 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 795.9497986236995, + "scoreError" : 5.800341350971815, + "scoreConfidence" : [ + 790.1494572727277, + 801.7501399746714 + ], + "scorePercentiles" : { + "0.0" : 789.8904421072903, + "50.0" : 795.7625875691438, + "90.0" : 802.1749715313264, + "95.0" : 802.470353874288, + "99.0" : 802.470353874288, + "99.9" : 802.470353874288, + "99.99" : 802.470353874288, + "99.999" : 802.470353874288, + "99.9999" : 802.470353874288, + "100.0" : 802.470353874288 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 799.5165304446716, + 798.0636969150704, + 796.0738455907942, + 789.8904421072903, + 790.4223389206599 + ], + [ + 802.470353874288, + 795.4513295474932, + 795.3248567012023, + 794.5982304199215, + 797.686361715604 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 3496017.720292718, + "scoreError" : 0.19186742084687153, + "scoreConfidence" : [ + 3496017.5284252972, + 3496017.912160139 + ], + "scorePercentiles" : { + "0.0" : 3496017.539748954, + "50.0" : 3496017.7188818567, + "90.0" : 3496017.925584673, + "95.0" : 3496017.9368421054, + "99.0" : 3496017.9368421054, + "99.9" : 3496017.9368421054, + "99.99" : 3496017.9368421054, + "99.999" : 3496017.9368421054, + "99.9999" : 3496017.9368421054, + "100.0" : 3496017.9368421054 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 3496017.75, + 3496017.5699373693, + 3496017.8242677823, + 3496017.6877637133, + 3496017.9368421054 + ], + [ + 3496017.676348548, + 3496017.6066945605, + 3496017.8242677823, + 3496017.539748954, + 3496017.7870563674 + ] + ] + }, + "gc.count" : { + "score" : 106.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 106.0, + 106.0 + ], + "scorePercentiles" : { + "0.0" : 10.0, + "50.0" : 11.0, + "90.0" : 11.0, + "95.0" : 11.0, + "99.0" : 11.0, + "99.9" : 11.0, + "99.99" : 11.0, + "99.999" : 11.0, + "99.9999" : 11.0, + "100.0" : 11.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 11.0, + 10.0, + 11.0, + 10.0, + 11.0 + ], + [ + 11.0, + 10.0, + 11.0, + 10.0, + 11.0 + ] + ] + }, + "gc.time" : { + "score" : 121.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 121.0, + 121.0 + ], + "scorePercentiles" : { + "0.0" : 11.0, + "50.0" : 12.0, + "90.0" : 13.0, + "95.0" : 13.0, + "99.0" : 13.0, + "99.9" : 13.0, + "99.99" : 13.0, + "99.999" : 13.0, + "99.9999" : 13.0, + "100.0" : 13.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 13.0, + 12.0, + 12.0, + 12.0, + 12.0 + ], + [ + 12.0, + 11.0, + 12.0, + 12.0, + 13.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.jaxbWrite", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "settlement" + }, + "primaryMetric" : { + "score" : 126.98685594028821, + "scoreError" : 1.273419719311268, + "scoreConfidence" : [ + 125.71343622097694, + 128.26027565959947 + ], + "scorePercentiles" : { + "0.0" : 125.64824441009546, + "50.0" : 127.07610596169562, + "90.0" : 128.26355446850565, + "95.0" : 128.30370809283693, + "99.0" : 128.30370809283693, + "99.9" : 128.30370809283693, + "99.99" : 128.30370809283693, + "99.999" : 128.30370809283693, + "99.9999" : 128.30370809283693, + "100.0" : 128.30370809283693 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 127.48088959480262, + 127.32930831375208, + 128.30370809283693, + 127.90217184952397, + 127.44353716638065 + ], + [ + 126.38051461669002, + 126.44249237393718, + 126.11478937522419, + 125.64824441009546, + 126.82290360963917 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 3464.064003646313, + "scoreError" : 34.771057758637454, + "scoreConfidence" : [ + 3429.292945887675, + 3498.8350614049505 + ], + "scorePercentiles" : { + "0.0" : 3427.5870010082153, + "50.0" : 3466.435089703666, + "90.0" : 3498.9485315892284, + "95.0" : 3500.0452214567817, + "99.0" : 3500.0452214567817, + "99.9" : 3500.0452214567817, + "99.99" : 3500.0452214567817, + "99.999" : 3500.0452214567817, + "99.9999" : 3500.0452214567817, + "100.0" : 3500.0452214567817 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 3477.5894320290295, + 3473.416641756427, + 3500.0452214567817, + 3489.0783227812476, + 3476.540825312645 + ], + [ + 3447.5445614306177, + 3449.0996833016984, + 3440.2848097355577, + 3427.5870010082153, + 3459.453537650905 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 2.860802764899808E7, + "scoreError" : 0.32191564689042673, + "scoreConfidence" : [ + 2.8608027327082437E7, + 2.8608027970913727E7 + ], + "scorePercentiles" : { + "0.0" : 2.86080273307393E7, + "50.0" : 2.8608027653971948E7, + "90.0" : 2.8608027889328063E7, + "95.0" : 2.8608027889328063E7, + "99.0" : 2.8608027889328063E7, + "99.9" : 2.8608027889328063E7, + "99.99" : 2.8608027889328063E7, + "99.999" : 2.8608027889328063E7, + "99.9999" : 2.8608027889328063E7, + "100.0" : 2.8608027889328063E7 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 2.860802754509804E7, + 2.860802754509804E7, + 2.86080273307393E7, + 2.86080274375E7, + 2.86080274375E7 + ], + [ + 2.860802776284585E7, + 2.8608027889328063E7, + 2.8608027889328063E7, + 2.8608027873015873E7, + 2.860802777952756E7 + ] + ] + }, + "gc.count" : { + "score" : 368.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 368.0, + 368.0 + ], + "scorePercentiles" : { + "0.0" : 36.0, + "50.0" : 37.0, + "90.0" : 37.9, + "95.0" : 38.0, + "99.0" : 38.0, + "99.9" : 38.0, + "99.99" : 38.0, + "99.999" : 38.0, + "99.9999" : 38.0, + "100.0" : 38.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 37.0, + 36.0, + 38.0, + 37.0, + 37.0 + ], + [ + 37.0, + 37.0, + 36.0, + 37.0, + 36.0 + ] + ] + }, + "gc.time" : { + "score" : 409.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 409.0, + 409.0 + ], + "scorePercentiles" : { + "0.0" : 39.0, + "50.0" : 41.0, + "90.0" : 42.9, + "95.0" : 43.0, + "99.0" : 43.0, + "99.9" : 43.0, + "99.99" : 43.0, + "99.999" : 43.0, + "99.9999" : 43.0, + "100.0" : 43.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 42.0, + 39.0, + 42.0, + 41.0, + 41.0 + ], + [ + 43.0, + 42.0, + 39.0, + 41.0, + 39.0 + ] + ] + } + } + }, + { + "jmhVersion" : "1.37", + "benchmark" : "io.polyxml.bench.BindingBenchmark.jaxbWrite", + "mode" : "thrpt", + "threads" : 1, + "forks" : 2, + "jvm" : "/usr/lib/jvm/java-25-openjdk-amd64/bin/java", + "jvmArgs" : [ + "-Xms256m", + "-Xmx1g" + ], + "jdkVersion" : "25.0.4.1", + "vmName" : "OpenJDK 64-Bit Server VM", + "vmVersion" : "25.0.4.1+1-1-26.04.4-Ubuntu", + "warmupIterations" : 3, + "warmupTime" : "2 s", + "warmupBatchSize" : 1, + "measurementIterations" : 5, + "measurementTime" : "2 s", + "measurementBatchSize" : 1, + "params" : { + "batchSize" : "1000", + "workload" : "telemetry" + }, + "primaryMetric" : { + "score" : 248.78025744908578, + "scoreError" : 6.879300187438265, + "scoreConfidence" : [ + 241.9009572616475, + 255.65955763652406 + ], + "scorePercentiles" : { + "0.0" : 241.9459556850678, + "50.0" : 248.31700393915588, + "90.0" : 253.98272742704813, + "95.0" : 254.01117682713505, + "99.0" : 254.01117682713505, + "99.9" : 254.01117682713505, + "99.99" : 254.01117682713505, + "99.999" : 254.01117682713505, + "99.9999" : 254.01117682713505, + "100.0" : 254.01117682713505 + }, + "scoreUnit" : "ops/s", + "rawData" : [ + [ + 241.9459556850678, + 245.25990747351705, + 244.5585551779221, + 245.48111907144457, + 246.1961351283753 + ], + [ + 253.72668282626603, + 254.01117682713505, + 253.30049052829054, + 250.4378727499365, + 252.88467902290262 + ] + ] + }, + "secondaryMetrics" : { + "gc.alloc.rate" : { + "score" : 1738.3315242333229, + "scoreError" : 48.06532250264961, + "scoreConfidence" : [ + 1690.2662017306732, + 1786.3968467359725 + ], + "scorePercentiles" : { + "0.0" : 1690.553558891818, + "50.0" : 1735.1008744149176, + "90.0" : 1774.6118730896324, + "95.0" : 1774.7966463333125, + "99.0" : 1774.7966463333125, + "99.9" : 1774.7966463333125, + "99.99" : 1774.7966463333125, + "99.999" : 1774.7966463333125, + "99.9999" : 1774.7966463333125, + "100.0" : 1774.7966463333125 + }, + "scoreUnit" : "MB/sec", + "rawData" : [ + [ + 1690.553558891818, + 1713.7517306433413, + 1708.8204134172202, + 1715.3060483734348, + 1720.2846799365382 + ], + [ + 1772.9489138965114, + 1774.7966463333125, + 1769.9394486347935, + 1749.917068893297, + 1766.9967333129634 + ] + ] + }, + "gc.alloc.rate.norm" : { + "score" : 7328014.1252572145, + "scoreError" : 0.40737442451341677, + "scoreConfidence" : [ + 7328013.71788279, + 7328014.532631639 + ], + "scorePercentiles" : { + "0.0" : 7328013.826771653, + "50.0" : 7328014.133712292, + "90.0" : 7328014.560661157, + "95.0" : 7328014.578512397, + "99.0" : 7328014.578512397, + "99.9" : 7328014.578512397, + "99.99" : 7328014.578512397, + "99.999" : 7328014.578512397, + "99.9999" : 7328014.578512397, + "100.0" : 7328014.578512397 + }, + "scoreUnit" : "B/op", + "rawData" : [ + [ + 7328014.578512397, + 7328014.305498982, + 7328014.4, + 7328014.276422764, + 7328014.247464503 + ], + [ + 7328013.826771653, + 7328013.862475442, + 7328013.854043392, + 7328014.01996008, + 7328013.881422925 + ] + ] + }, + "gc.count" : { + "score" : 230.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 230.0, + 230.0 + ], + "scorePercentiles" : { + "0.0" : 22.0, + "50.0" : 23.0, + "90.0" : 24.0, + "95.0" : 24.0, + "99.0" : 24.0, + "99.9" : 24.0, + "99.99" : 24.0, + "99.999" : 24.0, + "99.9999" : 24.0, + "100.0" : 24.0 + }, + "scoreUnit" : "counts", + "rawData" : [ + [ + 22.0, + 23.0, + 22.0, + 23.0, + 23.0 + ], + [ + 23.0, + 24.0, + 23.0, + 23.0, + 24.0 + ] + ] + }, + "gc.time" : { + "score" : 240.0, + "scoreError" : "NaN", + "scoreConfidence" : [ + 240.0, + 240.0 + ], + "scorePercentiles" : { + "0.0" : 22.0, + "50.0" : 24.0, + "90.0" : 25.0, + "95.0" : 25.0, + "99.0" : 25.0, + "99.9" : 25.0, + "99.99" : 25.0, + "99.999" : 25.0, + "99.9999" : 25.0, + "100.0" : 25.0 + }, + "scoreUnit" : "ms", + "rawData" : [ + [ + 22.0, + 25.0, + 23.0, + 24.0, + 25.0 + ], + [ + 24.0, + 24.0, + 25.0, + 24.0, + 24.0 + ] + ] + } + } + } +] + + diff --git a/docs/benchmarks/data/2026-10-04/native-models/java-jmh.txt b/docs/benchmarks/data/2026-10-04/native-models/java-jmh.txt new file mode 100644 index 00000000..7df9519c --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/java-jmh.txt @@ -0,0 +1,1546 @@ +memcap: <=7488 MiB (60% of 12480 MiB available) [systemd MemoryMax, swap off] +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.directRead +# Parameters: (batchSize = 1000, workload = settlement) + +# Run progress: 0.00% complete, ETA 00:06:24 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +355.416 ops/s +# Warmup Iteration 2: 379.985 ops/s +# Warmup Iteration 3: 382.457 ops/s +Iteration 1: 374.296 ops/s + gc.alloc.rate: 1613.238 MB/sec + gc.alloc.rate.norm: 4520009.378 B/op + gc.count: 22.000 counts + gc.time: 22.000 ms + +Iteration 2: 380.935 ops/s + gc.alloc.rate: 1641.816 MB/sec + gc.alloc.rate.norm: 4520009.260 B/op + gc.count: 21.000 counts + gc.time: 22.000 ms + +Iteration 3: 381.471 ops/s + gc.alloc.rate: 1644.130 MB/sec + gc.alloc.rate.norm: 4520009.236 B/op + gc.count: 22.000 counts + gc.time: 22.000 ms + +Iteration 4: 379.777 ops/s + gc.alloc.rate: 1636.879 MB/sec + gc.alloc.rate.norm: 4520009.242 B/op + gc.count: 21.000 counts + gc.time: 22.000 ms + +Iteration 5: 374.233 ops/s + gc.alloc.rate: 1612.904 MB/sec + gc.alloc.rate.norm: 4520009.378 B/op + gc.count: 22.000 counts + gc.time: 23.000 ms + + +# Run progress: 4.17% complete, ETA 00:06:27 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +346.238 ops/s +# Warmup Iteration 2: 381.660 ops/s +# Warmup Iteration 3: 378.106 ops/s +Iteration 1: 382.603 ops/s + gc.alloc.rate: 1649.029 MB/sec + gc.alloc.rate.norm: 4520009.170 B/op + gc.count: 21.000 counts + gc.time: 24.000 ms + +Iteration 2: 381.577 ops/s + gc.alloc.rate: 1644.562 MB/sec + gc.alloc.rate.norm: 4520009.236 B/op + gc.count: 22.000 counts + gc.time: 23.000 ms + +Iteration 3: 382.267 ops/s + gc.alloc.rate: 1647.535 MB/sec + gc.alloc.rate.norm: 4520009.224 B/op + gc.count: 22.000 counts + gc.time: 23.000 ms + +Iteration 4: 381.583 ops/s + gc.alloc.rate: 1644.615 MB/sec + gc.alloc.rate.norm: 4520009.194 B/op + gc.count: 22.000 counts + gc.time: 23.000 ms + +Iteration 5: 382.617 ops/s + gc.alloc.rate: 1649.121 MB/sec + gc.alloc.rate.norm: 4520009.170 B/op + gc.count: 21.000 counts + gc.time: 22.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.directRead": + 380.136 ±(99.9%) 4.846 ops/s [Average] + (min, avg, max) = (374.233, 380.136, 382.617), stdev = 3.205 + CI (99.9%): [375.290, 384.982] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directRead:gc.alloc.rate": + 1638.383 ±(99.9%) 20.888 MB/sec [Average] + (min, avg, max) = (1612.904, 1638.383, 1649.121), stdev = 13.816 + CI (99.9%): [1617.495, 1659.271] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directRead:gc.alloc.rate.norm": + 4520009.249 ±(99.9%) 0.113 B/op [Average] + (min, avg, max) = (4520009.170, 4520009.249, 4520009.378), stdev = 0.075 + CI (99.9%): [4520009.136, 4520009.361] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directRead:gc.count": + 216.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (21.000, 21.600, 22.000), stdev = 0.516 + CI (99.9%): [216.000, 216.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directRead:gc.time": + 226.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (22.000, 22.600, 24.000), stdev = 0.699 + CI (99.9%): [226.000, 226.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.directRead +# Parameters: (batchSize = 1000, workload = telemetry) + +# Run progress: 8.33% complete, ETA 00:06:10 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +571.831 ops/s +# Warmup Iteration 2: 582.105 ops/s +# Warmup Iteration 3: 606.346 ops/s +Iteration 1: 605.355 ops/s + gc.alloc.rate: 1570.091 MB/sec + gc.alloc.rate.norm: 2720005.800 B/op + gc.count: 21.000 counts + gc.time: 22.000 ms + +Iteration 2: 605.525 ops/s + gc.alloc.rate: 1570.453 MB/sec + gc.alloc.rate.norm: 2720005.822 B/op + gc.count: 21.000 counts + gc.time: 21.000 ms + +Iteration 3: 605.561 ops/s + gc.alloc.rate: 1570.588 MB/sec + gc.alloc.rate.norm: 2720005.822 B/op + gc.count: 21.000 counts + gc.time: 22.000 ms + +Iteration 4: 605.508 ops/s + gc.alloc.rate: 1570.510 MB/sec + gc.alloc.rate.norm: 2720005.795 B/op + gc.count: 20.000 counts + gc.time: 20.000 ms + +Iteration 5: 608.622 ops/s + gc.alloc.rate: 1578.519 MB/sec + gc.alloc.rate.norm: 2720005.767 B/op + gc.count: 21.000 counts + gc.time: 23.000 ms + + +# Run progress: 12.50% complete, ETA 00:05:53 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +553.790 ops/s +# Warmup Iteration 2: 600.765 ops/s +# Warmup Iteration 3: 606.444 ops/s +Iteration 1: 605.814 ops/s + gc.alloc.rate: 1571.274 MB/sec + gc.alloc.rate.norm: 2720005.795 B/op + gc.count: 21.000 counts + gc.time: 21.000 ms + +Iteration 2: 606.060 ops/s + gc.alloc.rate: 1571.852 MB/sec + gc.alloc.rate.norm: 2720005.817 B/op + gc.count: 21.000 counts + gc.time: 21.000 ms + +Iteration 3: 602.496 ops/s + gc.alloc.rate: 1562.587 MB/sec + gc.alloc.rate.norm: 2720005.851 B/op + gc.count: 21.000 counts + gc.time: 22.000 ms + +Iteration 4: 603.357 ops/s + gc.alloc.rate: 1564.933 MB/sec + gc.alloc.rate.norm: 2720005.819 B/op + gc.count: 20.000 counts + gc.time: 20.000 ms + +Iteration 5: 604.760 ops/s + gc.alloc.rate: 1568.537 MB/sec + gc.alloc.rate.norm: 2720005.805 B/op + gc.count: 21.000 counts + gc.time: 22.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.directRead": + 605.306 ±(99.9%) 2.467 ops/s [Average] + (min, avg, max) = (602.496, 605.306, 608.622), stdev = 1.632 + CI (99.9%): [602.838, 607.773] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directRead:gc.alloc.rate": + 1569.934 ±(99.9%) 6.398 MB/sec [Average] + (min, avg, max) = (1562.587, 1569.934, 1578.519), stdev = 4.232 + CI (99.9%): [1563.537, 1576.332] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directRead:gc.alloc.rate.norm": + 2720005.809 ±(99.9%) 0.034 B/op [Average] + (min, avg, max) = (2720005.767, 2720005.809, 2720005.851), stdev = 0.022 + CI (99.9%): [2720005.776, 2720005.843] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directRead:gc.count": + 208.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (20.000, 20.800, 21.000), stdev = 0.422 + CI (99.9%): [208.000, 208.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directRead:gc.time": + 214.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (20.000, 21.400, 23.000), stdev = 0.966 + CI (99.9%): [214.000, 214.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.directWrite +# Parameters: (batchSize = 1000, workload = settlement) + +# Run progress: 16.67% complete, ETA 00:05:36 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +196.266 ops/s +# Warmup Iteration 2: 206.660 ops/s +# Warmup Iteration 3: 205.584 ops/s +Iteration 1: 206.135 ops/s + gc.alloc.rate: 1858.681 MB/sec + gc.alloc.rate.norm: 9456017.007 B/op + gc.count: 24.000 counts + gc.time: 24.000 ms + +Iteration 2: 204.915 ops/s + gc.alloc.rate: 1847.569 MB/sec + gc.alloc.rate.norm: 9456017.210 B/op + gc.count: 25.000 counts + gc.time: 25.000 ms + +Iteration 3: 206.179 ops/s + gc.alloc.rate: 1859.050 MB/sec + gc.alloc.rate.norm: 9456017.007 B/op + gc.count: 24.000 counts + gc.time: 26.000 ms + +Iteration 4: 204.427 ops/s + gc.alloc.rate: 1843.251 MB/sec + gc.alloc.rate.norm: 9456017.174 B/op + gc.count: 25.000 counts + gc.time: 26.000 ms + +Iteration 5: 205.827 ops/s + gc.alloc.rate: 1855.861 MB/sec + gc.alloc.rate.norm: 9456017.049 B/op + gc.count: 25.000 counts + gc.time: 26.000 ms + + +# Run progress: 20.83% complete, ETA 00:05:20 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +202.712 ops/s +# Warmup Iteration 2: 210.646 ops/s +# Warmup Iteration 3: 210.118 ops/s +Iteration 1: 210.432 ops/s + gc.alloc.rate: 1897.367 MB/sec + gc.alloc.rate.norm: 9456016.684 B/op + gc.count: 26.000 counts + gc.time: 26.000 ms + +Iteration 2: 210.331 ops/s + gc.alloc.rate: 1896.452 MB/sec + gc.alloc.rate.norm: 9456016.760 B/op + gc.count: 25.000 counts + gc.time: 24.000 ms + +Iteration 3: 211.462 ops/s + gc.alloc.rate: 1906.633 MB/sec + gc.alloc.rate.norm: 9456016.681 B/op + gc.count: 25.000 counts + gc.time: 26.000 ms + +Iteration 4: 209.897 ops/s + gc.alloc.rate: 1892.591 MB/sec + gc.alloc.rate.norm: 9456016.724 B/op + gc.count: 25.000 counts + gc.time: 27.000 ms + +Iteration 5: 211.253 ops/s + gc.alloc.rate: 1904.811 MB/sec + gc.alloc.rate.norm: 9456016.605 B/op + gc.count: 25.000 counts + gc.time: 27.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.directWrite": + 208.086 ±(99.9%) 4.253 ops/s [Average] + (min, avg, max) = (204.427, 208.086, 211.462), stdev = 2.813 + CI (99.9%): [203.832, 212.339] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directWrite:gc.alloc.rate": + 1876.227 ±(99.9%) 38.352 MB/sec [Average] + (min, avg, max) = (1843.251, 1876.227, 1906.633), stdev = 25.368 + CI (99.9%): [1837.874, 1914.579] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directWrite:gc.alloc.rate.norm": + 9456016.890 ±(99.9%) 0.337 B/op [Average] + (min, avg, max) = (9456016.605, 9456016.890, 9456017.210), stdev = 0.223 + CI (99.9%): [9456016.553, 9456017.227] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directWrite:gc.count": + 249.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (24.000, 24.900, 26.000), stdev = 0.568 + CI (99.9%): [249.000, 249.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directWrite:gc.time": + 257.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (24.000, 25.700, 27.000), stdev = 1.059 + CI (99.9%): [257.000, 257.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.directWrite +# Parameters: (batchSize = 1000, workload = telemetry) + +# Run progress: 25.00% complete, ETA 00:05:03 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +651.511 ops/s +# Warmup Iteration 2: 700.452 ops/s +# Warmup Iteration 3: 700.844 ops/s +Iteration 1: 696.136 ops/s + gc.alloc.rate: 3887.284 MB/sec + gc.alloc.rate.norm: 5856005.042 B/op + gc.count: 40.000 counts + gc.time: 44.000 ms + +Iteration 2: 697.617 ops/s + gc.alloc.rate: 3895.362 MB/sec + gc.alloc.rate.norm: 5856005.054 B/op + gc.count: 40.000 counts + gc.time: 43.000 ms + +Iteration 3: 698.598 ops/s + gc.alloc.rate: 3900.908 MB/sec + gc.alloc.rate.norm: 5856005.047 B/op + gc.count: 39.000 counts + gc.time: 43.000 ms + +Iteration 4: 699.784 ops/s + gc.alloc.rate: 3907.634 MB/sec + gc.alloc.rate.norm: 5856005.017 B/op + gc.count: 40.000 counts + gc.time: 42.000 ms + +Iteration 5: 703.918 ops/s + gc.alloc.rate: 3930.658 MB/sec + gc.alloc.rate.norm: 5856004.985 B/op + gc.count: 40.000 counts + gc.time: 44.000 ms + + +# Run progress: 29.17% complete, ETA 00:04:46 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +641.597 ops/s +# Warmup Iteration 2: 698.738 ops/s +# Warmup Iteration 3: 696.765 ops/s +Iteration 1: 700.564 ops/s + gc.alloc.rate: 3912.009 MB/sec + gc.alloc.rate.norm: 5856005.010 B/op + gc.count: 38.000 counts + gc.time: 43.000 ms + +Iteration 2: 696.052 ops/s + gc.alloc.rate: 3886.562 MB/sec + gc.alloc.rate.norm: 5856005.065 B/op + gc.count: 37.000 counts + gc.time: 41.000 ms + +Iteration 3: 693.827 ops/s + gc.alloc.rate: 3874.293 MB/sec + gc.alloc.rate.norm: 5856005.061 B/op + gc.count: 38.000 counts + gc.time: 43.000 ms + +Iteration 4: 701.989 ops/s + gc.alloc.rate: 3919.723 MB/sec + gc.alloc.rate.norm: 5856004.999 B/op + gc.count: 38.000 counts + gc.time: 41.000 ms + +Iteration 5: 700.127 ops/s + gc.alloc.rate: 3909.449 MB/sec + gc.alloc.rate.norm: 5856005.014 B/op + gc.count: 38.000 counts + gc.time: 42.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.directWrite": + 698.861 ±(99.9%) 4.591 ops/s [Average] + (min, avg, max) = (693.827, 698.861, 703.918), stdev = 3.037 + CI (99.9%): [694.270, 703.452] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directWrite:gc.alloc.rate": + 3902.388 ±(99.9%) 25.643 MB/sec [Average] + (min, avg, max) = (3874.293, 3902.388, 3930.658), stdev = 16.961 + CI (99.9%): [3876.745, 3928.031] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directWrite:gc.alloc.rate.norm": + 5856005.029 ±(99.9%) 0.042 B/op [Average] + (min, avg, max) = (5856004.985, 5856005.029, 5856005.065), stdev = 0.028 + CI (99.9%): [5856004.987, 5856005.072] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directWrite:gc.count": + 388.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (37.000, 38.800, 40.000), stdev = 1.135 + CI (99.9%): [388.000, 388.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.directWrite:gc.time": + 426.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (41.000, 42.600, 44.000), stdev = 1.075 + CI (99.9%): [426.000, 426.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.jacksonRead +# Parameters: (batchSize = 1000, workload = settlement) + +# Run progress: 33.33% complete, ETA 00:04:29 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +380.248 ops/s +# Warmup Iteration 2: 399.105 ops/s +# Warmup Iteration 3: 405.630 ops/s +Iteration 1: 403.000 ops/s + gc.alloc.rate: 1936.797 MB/sec + gc.alloc.rate.norm: 5040008.704 B/op + gc.count: 25.000 counts + gc.time: 26.000 ms + +Iteration 2: 402.865 ops/s + gc.alloc.rate: 1936.099 MB/sec + gc.alloc.rate.norm: 5040008.715 B/op + gc.count: 26.000 counts + gc.time: 28.000 ms + +Iteration 3: 404.536 ops/s + gc.alloc.rate: 1944.136 MB/sec + gc.alloc.rate.norm: 5040008.672 B/op + gc.count: 26.000 counts + gc.time: 28.000 ms + +Iteration 4: 395.759 ops/s + gc.alloc.rate: 1901.967 MB/sec + gc.alloc.rate.norm: 5040008.869 B/op + gc.count: 25.000 counts + gc.time: 27.000 ms + +Iteration 5: 406.351 ops/s + gc.alloc.rate: 1952.879 MB/sec + gc.alloc.rate.norm: 5040008.640 B/op + gc.count: 25.000 counts + gc.time: 27.000 ms + + +# Run progress: 37.50% complete, ETA 00:04:12 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +381.780 ops/s +# Warmup Iteration 2: 401.388 ops/s +# Warmup Iteration 3: 399.039 ops/s +Iteration 1: 405.519 ops/s + gc.alloc.rate: 1948.881 MB/sec + gc.alloc.rate.norm: 5040008.650 B/op + gc.count: 25.000 counts + gc.time: 27.000 ms + +Iteration 2: 404.558 ops/s + gc.alloc.rate: 1944.208 MB/sec + gc.alloc.rate.norm: 5040008.672 B/op + gc.count: 26.000 counts + gc.time: 26.000 ms + +Iteration 3: 402.596 ops/s + gc.alloc.rate: 1934.763 MB/sec + gc.alloc.rate.norm: 5040008.754 B/op + gc.count: 26.000 counts + gc.time: 27.000 ms + +Iteration 4: 401.751 ops/s + gc.alloc.rate: 1930.775 MB/sec + gc.alloc.rate.norm: 5040008.736 B/op + gc.count: 25.000 counts + gc.time: 26.000 ms + +Iteration 5: 398.378 ops/s + gc.alloc.rate: 1914.542 MB/sec + gc.alloc.rate.norm: 5040008.813 B/op + gc.count: 25.000 counts + gc.time: 26.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.jacksonRead": + 402.531 ±(99.9%) 4.930 ops/s [Average] + (min, avg, max) = (395.759, 402.531, 406.351), stdev = 3.261 + CI (99.9%): [397.601, 407.461] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonRead:gc.alloc.rate": + 1934.505 ±(99.9%) 23.692 MB/sec [Average] + (min, avg, max) = (1901.967, 1934.505, 1952.879), stdev = 15.671 + CI (99.9%): [1910.812, 1958.197] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonRead:gc.alloc.rate.norm": + 5040008.722 ±(99.9%) 0.111 B/op [Average] + (min, avg, max) = (5040008.640, 5040008.722, 5040008.869), stdev = 0.073 + CI (99.9%): [5040008.611, 5040008.833] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonRead:gc.count": + 254.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (25.000, 25.400, 26.000), stdev = 0.516 + CI (99.9%): [254.000, 254.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonRead:gc.time": + 268.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (26.000, 26.800, 28.000), stdev = 0.789 + CI (99.9%): [268.000, 268.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.jacksonRead +# Parameters: (batchSize = 1000, workload = telemetry) + +# Run progress: 41.67% complete, ETA 00:03:55 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +593.455 ops/s +# Warmup Iteration 2: 627.052 ops/s +# Warmup Iteration 3: 621.053 ops/s +Iteration 1: 627.475 ops/s + gc.alloc.rate: 1938.575 MB/sec + gc.alloc.rate.norm: 3240005.592 B/op + gc.count: 26.000 counts + gc.time: 28.000 ms + +Iteration 2: 626.009 ops/s + gc.alloc.rate: 1933.976 MB/sec + gc.alloc.rate.norm: 3240005.631 B/op + gc.count: 25.000 counts + gc.time: 26.000 ms + +Iteration 3: 626.827 ops/s + gc.alloc.rate: 1936.515 MB/sec + gc.alloc.rate.norm: 3240005.627 B/op + gc.count: 26.000 counts + gc.time: 26.000 ms + +Iteration 4: 628.707 ops/s + gc.alloc.rate: 1942.392 MB/sec + gc.alloc.rate.norm: 3240005.583 B/op + gc.count: 25.000 counts + gc.time: 25.000 ms + +Iteration 5: 622.280 ops/s + gc.alloc.rate: 1922.506 MB/sec + gc.alloc.rate.norm: 3240005.642 B/op + gc.count: 26.000 counts + gc.time: 27.000 ms + + +# Run progress: 45.83% complete, ETA 00:03:38 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +582.304 ops/s +# Warmup Iteration 2: 618.413 ops/s +# Warmup Iteration 3: 630.143 ops/s +Iteration 1: 627.640 ops/s + gc.alloc.rate: 1939.095 MB/sec + gc.alloc.rate.norm: 3240005.592 B/op + gc.count: 25.000 counts + gc.time: 25.000 ms + +Iteration 2: 628.142 ops/s + gc.alloc.rate: 1940.580 MB/sec + gc.alloc.rate.norm: 3240005.613 B/op + gc.count: 26.000 counts + gc.time: 28.000 ms + +Iteration 3: 620.067 ops/s + gc.alloc.rate: 1915.647 MB/sec + gc.alloc.rate.norm: 3240005.686 B/op + gc.count: 25.000 counts + gc.time: 25.000 ms + +Iteration 4: 624.358 ops/s + gc.alloc.rate: 1928.924 MB/sec + gc.alloc.rate.norm: 3240005.624 B/op + gc.count: 26.000 counts + gc.time: 27.000 ms + +Iteration 5: 628.961 ops/s + gc.alloc.rate: 1943.191 MB/sec + gc.alloc.rate.norm: 3240005.579 B/op + gc.count: 25.000 counts + gc.time: 26.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.jacksonRead": + 626.047 ±(99.9%) 4.449 ops/s [Average] + (min, avg, max) = (620.067, 626.047, 628.961), stdev = 2.943 + CI (99.9%): [621.597, 630.496] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonRead:gc.alloc.rate": + 1934.140 ±(99.9%) 13.764 MB/sec [Average] + (min, avg, max) = (1915.647, 1934.140, 1943.191), stdev = 9.104 + CI (99.9%): [1920.377, 1947.904] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonRead:gc.alloc.rate.norm": + 3240005.617 ±(99.9%) 0.049 B/op [Average] + (min, avg, max) = (3240005.579, 3240005.617, 3240005.686), stdev = 0.032 + CI (99.9%): [3240005.568, 3240005.666] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonRead:gc.count": + 255.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (25.000, 25.500, 26.000), stdev = 0.527 + CI (99.9%): [255.000, 255.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonRead:gc.time": + 263.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (25.000, 26.300, 28.000), stdev = 1.160 + CI (99.9%): [263.000, 263.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.jacksonWrite +# Parameters: (batchSize = 1000, workload = settlement) + +# Run progress: 50.00% complete, ETA 00:03:22 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +180.150 ops/s +# Warmup Iteration 2: 198.732 ops/s +# Warmup Iteration 3: 199.032 ops/s +Iteration 1: 198.742 ops/s + gc.alloc.rate: 1247.735 MB/sec + gc.alloc.rate.norm: 6584017.648 B/op + gc.count: 16.000 counts + gc.time: 17.000 ms + +Iteration 2: 198.894 ops/s + gc.alloc.rate: 1248.642 MB/sec + gc.alloc.rate.norm: 6584017.729 B/op + gc.count: 17.000 counts + gc.time: 19.000 ms + +Iteration 3: 199.024 ops/s + gc.alloc.rate: 1249.419 MB/sec + gc.alloc.rate.norm: 6584017.684 B/op + gc.count: 16.000 counts + gc.time: 17.000 ms + +Iteration 4: 198.777 ops/s + gc.alloc.rate: 1247.960 MB/sec + gc.alloc.rate.norm: 6584017.648 B/op + gc.count: 17.000 counts + gc.time: 18.000 ms + +Iteration 5: 197.667 ops/s + gc.alloc.rate: 1240.985 MB/sec + gc.alloc.rate.norm: 6584017.737 B/op + gc.count: 16.000 counts + gc.time: 16.000 ms + + +# Run progress: 54.17% complete, ETA 00:03:05 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +177.593 ops/s +# Warmup Iteration 2: 197.473 ops/s +# Warmup Iteration 3: 197.876 ops/s +Iteration 1: 195.610 ops/s + gc.alloc.rate: 1228.037 MB/sec + gc.alloc.rate.norm: 6584017.918 B/op + gc.count: 16.000 counts + gc.time: 17.000 ms + +Iteration 2: 197.235 ops/s + gc.alloc.rate: 1238.229 MB/sec + gc.alloc.rate.norm: 6584017.863 B/op + gc.count: 17.000 counts + gc.time: 18.000 ms + +Iteration 3: 198.362 ops/s + gc.alloc.rate: 1245.303 MB/sec + gc.alloc.rate.norm: 6584017.773 B/op + gc.count: 16.000 counts + gc.time: 17.000 ms + +Iteration 4: 198.410 ops/s + gc.alloc.rate: 1245.651 MB/sec + gc.alloc.rate.norm: 6584017.693 B/op + gc.count: 17.000 counts + gc.time: 18.000 ms + +Iteration 5: 196.716 ops/s + gc.alloc.rate: 1234.993 MB/sec + gc.alloc.rate.norm: 6584017.827 B/op + gc.count: 16.000 counts + gc.time: 17.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.jacksonWrite": + 197.944 ±(99.9%) 1.696 ops/s [Average] + (min, avg, max) = (195.610, 197.944, 199.024), stdev = 1.122 + CI (99.9%): [196.248, 199.640] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonWrite:gc.alloc.rate": + 1242.695 ±(99.9%) 10.646 MB/sec [Average] + (min, avg, max) = (1228.037, 1242.695, 1249.419), stdev = 7.042 + CI (99.9%): [1232.049, 1253.342] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonWrite:gc.alloc.rate.norm": + 6584017.752 ±(99.9%) 0.139 B/op [Average] + (min, avg, max) = (6584017.648, 6584017.752, 6584017.918), stdev = 0.092 + CI (99.9%): [6584017.613, 6584017.892] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonWrite:gc.count": + 164.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (16.000, 16.400, 17.000), stdev = 0.516 + CI (99.9%): [164.000, 164.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonWrite:gc.time": + 174.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (16.000, 17.400, 19.000), stdev = 0.843 + CI (99.9%): [174.000, 174.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.jacksonWrite +# Parameters: (batchSize = 1000, workload = telemetry) + +# Run progress: 58.33% complete, ETA 00:02:48 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +442.776 ops/s +# Warmup Iteration 2: 490.142 ops/s +# Warmup Iteration 3: 492.561 ops/s +Iteration 1: 488.424 ops/s + gc.alloc.rate: 804.792 MB/sec + gc.alloc.rate.norm: 1728007.189 B/op + gc.count: 11.000 counts + gc.time: 12.000 ms + +Iteration 2: 489.765 ops/s + gc.alloc.rate: 807.007 MB/sec + gc.alloc.rate.norm: 1728007.167 B/op + gc.count: 10.000 counts + gc.time: 10.000 ms + +Iteration 3: 489.985 ops/s + gc.alloc.rate: 807.361 MB/sec + gc.alloc.rate.norm: 1728007.193 B/op + gc.count: 11.000 counts + gc.time: 12.000 ms + +Iteration 4: 489.379 ops/s + gc.alloc.rate: 806.359 MB/sec + gc.alloc.rate.norm: 1728007.167 B/op + gc.count: 11.000 counts + gc.time: 11.000 ms + +Iteration 5: 495.730 ops/s + gc.alloc.rate: 816.789 MB/sec + gc.alloc.rate.norm: 1728007.081 B/op + gc.count: 11.000 counts + gc.time: 13.000 ms + + +# Run progress: 62.50% complete, ETA 00:02:31 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +434.998 ops/s +# Warmup Iteration 2: 485.326 ops/s +# Warmup Iteration 3: 480.845 ops/s +Iteration 1: 490.503 ops/s + gc.alloc.rate: 808.201 MB/sec + gc.alloc.rate.norm: 1728007.153 B/op + gc.count: 10.000 counts + gc.time: 11.000 ms + +Iteration 2: 491.043 ops/s + gc.alloc.rate: 809.082 MB/sec + gc.alloc.rate.norm: 1728007.178 B/op + gc.count: 11.000 counts + gc.time: 12.000 ms + +Iteration 3: 487.035 ops/s + gc.alloc.rate: 802.494 MB/sec + gc.alloc.rate.norm: 1728007.237 B/op + gc.count: 11.000 counts + gc.time: 12.000 ms + +Iteration 4: 487.909 ops/s + gc.alloc.rate: 803.937 MB/sec + gc.alloc.rate.norm: 1728007.197 B/op + gc.count: 10.000 counts + gc.time: 10.000 ms + +Iteration 5: 491.071 ops/s + gc.alloc.rate: 809.154 MB/sec + gc.alloc.rate.norm: 1728007.145 B/op + gc.count: 11.000 counts + gc.time: 12.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.jacksonWrite": + 490.084 ±(99.9%) 3.611 ops/s [Average] + (min, avg, max) = (487.035, 490.084, 495.730), stdev = 2.388 + CI (99.9%): [486.473, 493.695] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonWrite:gc.alloc.rate": + 807.518 ±(99.9%) 5.934 MB/sec [Average] + (min, avg, max) = (802.494, 807.518, 816.789), stdev = 3.925 + CI (99.9%): [801.583, 813.452] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonWrite:gc.alloc.rate.norm": + 1728007.171 ±(99.9%) 0.062 B/op [Average] + (min, avg, max) = (1728007.081, 1728007.171, 1728007.237), stdev = 0.041 + CI (99.9%): [1728007.109, 1728007.233] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonWrite:gc.count": + 107.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (10.000, 10.700, 11.000), stdev = 0.483 + CI (99.9%): [107.000, 107.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jacksonWrite:gc.time": + 115.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (10.000, 11.500, 13.000), stdev = 0.972 + CI (99.9%): [115.000, 115.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.jaxbRead +# Parameters: (batchSize = 1000, workload = settlement) + +# Run progress: 66.67% complete, ETA 00:02:14 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +96.267 ops/s +# Warmup Iteration 2: 109.741 ops/s +# Warmup Iteration 3: 156.637 ops/s +Iteration 1: 170.617 ops/s + gc.alloc.rate: 1154.412 MB/sec + gc.alloc.rate.norm: 7096026.596 B/op + gc.count: 15.000 counts + gc.time: 18.000 ms + +Iteration 2: 171.832 ops/s + gc.alloc.rate: 1162.616 MB/sec + gc.alloc.rate.norm: 7096026.442 B/op + gc.count: 15.000 counts + gc.time: 16.000 ms + +Iteration 3: 172.299 ops/s + gc.alloc.rate: 1165.842 MB/sec + gc.alloc.rate.norm: 7096026.667 B/op + gc.count: 16.000 counts + gc.time: 20.000 ms + +Iteration 4: 171.906 ops/s + gc.alloc.rate: 1163.190 MB/sec + gc.alloc.rate.norm: 7096026.349 B/op + gc.count: 15.000 counts + gc.time: 17.000 ms + +Iteration 5: 171.381 ops/s + gc.alloc.rate: 1159.633 MB/sec + gc.alloc.rate.norm: 7096026.426 B/op + gc.count: 15.000 counts + gc.time: 17.000 ms + + +# Run progress: 70.83% complete, ETA 00:01:57 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +92.210 ops/s +# Warmup Iteration 2: 94.913 ops/s +# Warmup Iteration 3: 162.203 ops/s +Iteration 1: 174.852 ops/s + gc.alloc.rate: 1183.118 MB/sec + gc.alloc.rate.norm: 7096026.286 B/op + gc.count: 16.000 counts + gc.time: 19.000 ms + +Iteration 2: 175.706 ops/s + gc.alloc.rate: 1188.870 MB/sec + gc.alloc.rate.norm: 7096026.136 B/op + gc.count: 16.000 counts + gc.time: 19.000 ms + +Iteration 3: 176.153 ops/s + gc.alloc.rate: 1191.942 MB/sec + gc.alloc.rate.norm: 7096025.677 B/op + gc.count: 15.000 counts + gc.time: 17.000 ms + +Iteration 4: 175.454 ops/s + gc.alloc.rate: 1187.151 MB/sec + gc.alloc.rate.norm: 7096026.211 B/op + gc.count: 16.000 counts + gc.time: 19.000 ms + +Iteration 5: 175.913 ops/s + gc.alloc.rate: 1190.298 MB/sec + gc.alloc.rate.norm: 7096026.136 B/op + gc.count: 16.000 counts + gc.time: 19.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.jaxbRead": + 173.611 ±(99.9%) 3.297 ops/s [Average] + (min, avg, max) = (170.617, 173.611, 176.153), stdev = 2.181 + CI (99.9%): [170.314, 176.909] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbRead:gc.alloc.rate": + 1174.707 ±(99.9%) 22.327 MB/sec [Average] + (min, avg, max) = (1154.412, 1174.707, 1191.942), stdev = 14.768 + CI (99.9%): [1152.380, 1197.034] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbRead:gc.alloc.rate.norm": + 7096026.293 ±(99.9%) 0.425 B/op [Average] + (min, avg, max) = (7096025.677, 7096026.293, 7096026.667), stdev = 0.281 + CI (99.9%): [7096025.868, 7096026.717] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbRead:gc.count": + 155.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (15.000, 15.500, 16.000), stdev = 0.527 + CI (99.9%): [155.000, 155.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbRead:gc.time": + 181.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (16.000, 18.100, 20.000), stdev = 1.287 + CI (99.9%): [181.000, 181.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.jaxbRead +# Parameters: (batchSize = 1000, workload = telemetry) + +# Run progress: 75.00% complete, ETA 00:01:41 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +118.302 ops/s +# Warmup Iteration 2: 132.318 ops/s +# Warmup Iteration 3: 233.591 ops/s +Iteration 1: 239.842 ops/s + gc.alloc.rate: 799.517 MB/sec + gc.alloc.rate.norm: 3496017.750 B/op + gc.count: 11.000 counts + gc.time: 13.000 ms + +Iteration 2: 239.406 ops/s + gc.alloc.rate: 798.064 MB/sec + gc.alloc.rate.norm: 3496017.570 B/op + gc.count: 10.000 counts + gc.time: 12.000 ms + +Iteration 3: 238.805 ops/s + gc.alloc.rate: 796.074 MB/sec + gc.alloc.rate.norm: 3496017.824 B/op + gc.count: 11.000 counts + gc.time: 12.000 ms + +Iteration 4: 236.958 ops/s + gc.alloc.rate: 789.890 MB/sec + gc.alloc.rate.norm: 3496017.688 B/op + gc.count: 10.000 counts + gc.time: 12.000 ms + +Iteration 5: 237.116 ops/s + gc.alloc.rate: 790.422 MB/sec + gc.alloc.rate.norm: 3496017.937 B/op + gc.count: 11.000 counts + gc.time: 12.000 ms + + +# Run progress: 79.17% complete, ETA 00:01:24 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +122.815 ops/s +# Warmup Iteration 2: 142.941 ops/s +# Warmup Iteration 3: 228.420 ops/s +Iteration 1: 240.716 ops/s + gc.alloc.rate: 802.470 MB/sec + gc.alloc.rate.norm: 3496017.676 B/op + gc.count: 11.000 counts + gc.time: 12.000 ms + +Iteration 2: 238.621 ops/s + gc.alloc.rate: 795.451 MB/sec + gc.alloc.rate.norm: 3496017.607 B/op + gc.count: 10.000 counts + gc.time: 11.000 ms + +Iteration 3: 238.581 ops/s + gc.alloc.rate: 795.325 MB/sec + gc.alloc.rate.norm: 3496017.824 B/op + gc.count: 11.000 counts + gc.time: 12.000 ms + +Iteration 4: 238.365 ops/s + gc.alloc.rate: 794.598 MB/sec + gc.alloc.rate.norm: 3496017.540 B/op + gc.count: 10.000 counts + gc.time: 12.000 ms + +Iteration 5: 239.297 ops/s + gc.alloc.rate: 797.686 MB/sec + gc.alloc.rate.norm: 3496017.787 B/op + gc.count: 11.000 counts + gc.time: 13.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.jaxbRead": + 238.771 ±(99.9%) 1.736 ops/s [Average] + (min, avg, max) = (236.958, 238.771, 240.716), stdev = 1.148 + CI (99.9%): [237.035, 240.506] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbRead:gc.alloc.rate": + 795.950 ±(99.9%) 5.800 MB/sec [Average] + (min, avg, max) = (789.890, 795.950, 802.470), stdev = 3.837 + CI (99.9%): [790.149, 801.750] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbRead:gc.alloc.rate.norm": + 3496017.720 ±(99.9%) 0.192 B/op [Average] + (min, avg, max) = (3496017.540, 3496017.720, 3496017.937), stdev = 0.127 + CI (99.9%): [3496017.528, 3496017.912] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbRead:gc.count": + 106.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (10.000, 10.600, 11.000), stdev = 0.516 + CI (99.9%): [106.000, 106.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbRead:gc.time": + 121.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (11.000, 12.100, 13.000), stdev = 0.568 + CI (99.9%): [121.000, 121.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.jaxbWrite +# Parameters: (batchSize = 1000, workload = settlement) + +# Run progress: 83.33% complete, ETA 00:01:07 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +113.664 ops/s +# Warmup Iteration 2: 127.518 ops/s +# Warmup Iteration 3: 128.690 ops/s +Iteration 1: 127.481 ops/s + gc.alloc.rate: 3477.589 MB/sec + gc.alloc.rate.norm: 28608027.545 B/op + gc.count: 37.000 counts + gc.time: 42.000 ms + +Iteration 2: 127.329 ops/s + gc.alloc.rate: 3473.417 MB/sec + gc.alloc.rate.norm: 28608027.545 B/op + gc.count: 36.000 counts + gc.time: 39.000 ms + +Iteration 3: 128.304 ops/s + gc.alloc.rate: 3500.045 MB/sec + gc.alloc.rate.norm: 28608027.331 B/op + gc.count: 38.000 counts + gc.time: 42.000 ms + +Iteration 4: 127.902 ops/s + gc.alloc.rate: 3489.078 MB/sec + gc.alloc.rate.norm: 28608027.438 B/op + gc.count: 37.000 counts + gc.time: 41.000 ms + +Iteration 5: 127.444 ops/s + gc.alloc.rate: 3476.541 MB/sec + gc.alloc.rate.norm: 28608027.438 B/op + gc.count: 37.000 counts + gc.time: 41.000 ms + + +# Run progress: 87.50% complete, ETA 00:00:50 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=settlement,batch=1000,input_bytes=2388890,direct_output_bytes=2459,jackson_output_bytes=2387,jaxb_output_bytes=2442 +113.809 ops/s +# Warmup Iteration 2: 126.072 ops/s +# Warmup Iteration 3: 126.530 ops/s +Iteration 1: 126.381 ops/s + gc.alloc.rate: 3447.545 MB/sec + gc.alloc.rate.norm: 28608027.763 B/op + gc.count: 37.000 counts + gc.time: 43.000 ms + +Iteration 2: 126.442 ops/s + gc.alloc.rate: 3449.100 MB/sec + gc.alloc.rate.norm: 28608027.889 B/op + gc.count: 37.000 counts + gc.time: 42.000 ms + +Iteration 3: 126.115 ops/s + gc.alloc.rate: 3440.285 MB/sec + gc.alloc.rate.norm: 28608027.889 B/op + gc.count: 36.000 counts + gc.time: 39.000 ms + +Iteration 4: 125.648 ops/s + gc.alloc.rate: 3427.587 MB/sec + gc.alloc.rate.norm: 28608027.873 B/op + gc.count: 37.000 counts + gc.time: 41.000 ms + +Iteration 5: 126.823 ops/s + gc.alloc.rate: 3459.454 MB/sec + gc.alloc.rate.norm: 28608027.780 B/op + gc.count: 36.000 counts + gc.time: 39.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.jaxbWrite": + 126.987 ±(99.9%) 1.273 ops/s [Average] + (min, avg, max) = (125.648, 126.987, 128.304), stdev = 0.842 + CI (99.9%): [125.713, 128.260] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbWrite:gc.alloc.rate": + 3464.064 ±(99.9%) 34.771 MB/sec [Average] + (min, avg, max) = (3427.587, 3464.064, 3500.045), stdev = 22.999 + CI (99.9%): [3429.293, 3498.835] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbWrite:gc.alloc.rate.norm": + 28608027.649 ±(99.9%) 0.322 B/op [Average] + (min, avg, max) = (28608027.331, 28608027.649, 28608027.889), stdev = 0.213 + CI (99.9%): [28608027.327, 28608027.971] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbWrite:gc.count": + 368.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (36.000, 36.800, 38.000), stdev = 0.632 + CI (99.9%): [368.000, 368.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbWrite:gc.time": + 409.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (39.000, 40.900, 43.000), stdev = 1.449 + CI (99.9%): [409.000, 409.000] (assumes normal distribution) + + +# JMH version: 1.37 +# VM version: JDK 25.0.4.1, OpenJDK 64-Bit Server VM, 25.0.4.1+1-1-26.04.4-Ubuntu +# VM invoker: /usr/lib/jvm/java-25-openjdk-amd64/bin/java +# VM options: -Xms256m -Xmx1g +# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) +# Warmup: 3 iterations, 2 s each +# Measurement: 5 iterations, 2 s each +# Timeout: 10 min per iteration +# Threads: 1 thread, will synchronize iterations +# Benchmark mode: Throughput, ops/time +# Benchmark: io.polyxml.bench.BindingBenchmark.jaxbWrite +# Parameters: (batchSize = 1000, workload = telemetry) + +# Run progress: 91.67% complete, ETA 00:00:33 +# Fork: 1 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +231.169 ops/s +# Warmup Iteration 2: 245.417 ops/s +# Warmup Iteration 3: 244.100 ops/s +Iteration 1: 241.946 ops/s + gc.alloc.rate: 1690.554 MB/sec + gc.alloc.rate.norm: 7328014.579 B/op + gc.count: 22.000 counts + gc.time: 22.000 ms + +Iteration 2: 245.260 ops/s + gc.alloc.rate: 1713.752 MB/sec + gc.alloc.rate.norm: 7328014.305 B/op + gc.count: 23.000 counts + gc.time: 25.000 ms + +Iteration 3: 244.559 ops/s + gc.alloc.rate: 1708.820 MB/sec + gc.alloc.rate.norm: 7328014.400 B/op + gc.count: 22.000 counts + gc.time: 23.000 ms + +Iteration 4: 245.481 ops/s + gc.alloc.rate: 1715.306 MB/sec + gc.alloc.rate.norm: 7328014.276 B/op + gc.count: 23.000 counts + gc.time: 24.000 ms + +Iteration 5: 246.196 ops/s + gc.alloc.rate: 1720.285 MB/sec + gc.alloc.rate.norm: 7328014.247 B/op + gc.count: 23.000 counts + gc.time: 25.000 ms + + +# Run progress: 95.83% complete, ETA 00:00:16 +# Fork: 2 of 2 +WARNING: A terminally deprecated method in sun.misc.Unsafe has been called +WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/home/bailey/github/PolyXML/benchmarks/java/target/benchmarks.jar) +WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils +WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release +# Warmup Iteration 1: fixture: workload=telemetry,batch=1000,input_bytes=588890,direct_output_bytes=659,jackson_output_bytes=587,jaxb_output_bytes=642 +236.179 ops/s +# Warmup Iteration 2: 255.489 ops/s +# Warmup Iteration 3: 253.075 ops/s +Iteration 1: 253.727 ops/s + gc.alloc.rate: 1772.949 MB/sec + gc.alloc.rate.norm: 7328013.827 B/op + gc.count: 23.000 counts + gc.time: 24.000 ms + +Iteration 2: 254.011 ops/s + gc.alloc.rate: 1774.797 MB/sec + gc.alloc.rate.norm: 7328013.862 B/op + gc.count: 24.000 counts + gc.time: 24.000 ms + +Iteration 3: 253.300 ops/s + gc.alloc.rate: 1769.939 MB/sec + gc.alloc.rate.norm: 7328013.854 B/op + gc.count: 23.000 counts + gc.time: 25.000 ms + +Iteration 4: 250.438 ops/s + gc.alloc.rate: 1749.917 MB/sec + gc.alloc.rate.norm: 7328014.020 B/op + gc.count: 23.000 counts + gc.time: 24.000 ms + +Iteration 5: 252.885 ops/s + gc.alloc.rate: 1766.997 MB/sec + gc.alloc.rate.norm: 7328013.881 B/op + gc.count: 24.000 counts + gc.time: 24.000 ms + + + +Result "io.polyxml.bench.BindingBenchmark.jaxbWrite": + 248.780 ±(99.9%) 6.879 ops/s [Average] + (min, avg, max) = (241.946, 248.780, 254.011), stdev = 4.550 + CI (99.9%): [241.901, 255.660] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbWrite:gc.alloc.rate": + 1738.332 ±(99.9%) 48.065 MB/sec [Average] + (min, avg, max) = (1690.554, 1738.332, 1774.797), stdev = 31.792 + CI (99.9%): [1690.266, 1786.397] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbWrite:gc.alloc.rate.norm": + 7328014.125 ±(99.9%) 0.407 B/op [Average] + (min, avg, max) = (7328013.827, 7328014.125, 7328014.579), stdev = 0.269 + CI (99.9%): [7328013.718, 7328014.533] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbWrite:gc.count": + 230.000 ±(99.9%) 0.001 counts [Sum] + (min, avg, max) = (22.000, 23.000, 24.000), stdev = 0.667 + CI (99.9%): [230.000, 230.000] (assumes normal distribution) + +Secondary result "io.polyxml.bench.BindingBenchmark.jaxbWrite:gc.time": + 240.000 ±(99.9%) 0.001 ms [Sum] + (min, avg, max) = (22.000, 24.000, 25.000), stdev = 0.943 + CI (99.9%): [240.000, 240.000] (assumes normal distribution) + + +# Run complete. Total time: 00:06:44 + +REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on +why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial +experiments, perform baseline and negative tests that provide experimental control, make sure +the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts. +Do not assume the numbers tell you what you want them to tell. + +NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise +extra caution when trusting the results, look into the generated code to check the benchmark still +works, and factor in a small probability of new VM bugs. Additionally, while comparisons between +different JVMs are already problematic, the performance difference caused by different Blackhole +modes can be very significant. Please make sure you use the consistent Blackhole mode for comparisons. + +Benchmark (batchSize) (workload) Mode Cnt Score Error Units +BindingBenchmark.directRead 1000 settlement thrpt 10 380.136 ± 4.846 ops/s +BindingBenchmark.directRead:gc.alloc.rate 1000 settlement thrpt 10 1638.383 ± 20.888 MB/sec +BindingBenchmark.directRead:gc.alloc.rate.norm 1000 settlement thrpt 10 4520009.249 ± 0.113 B/op +BindingBenchmark.directRead:gc.count 1000 settlement thrpt 10 216.000 counts +BindingBenchmark.directRead:gc.time 1000 settlement thrpt 10 226.000 ms +BindingBenchmark.directRead 1000 telemetry thrpt 10 605.306 ± 2.467 ops/s +BindingBenchmark.directRead:gc.alloc.rate 1000 telemetry thrpt 10 1569.934 ± 6.398 MB/sec +BindingBenchmark.directRead:gc.alloc.rate.norm 1000 telemetry thrpt 10 2720005.809 ± 0.034 B/op +BindingBenchmark.directRead:gc.count 1000 telemetry thrpt 10 208.000 counts +BindingBenchmark.directRead:gc.time 1000 telemetry thrpt 10 214.000 ms +BindingBenchmark.directWrite 1000 settlement thrpt 10 208.086 ± 4.253 ops/s +BindingBenchmark.directWrite:gc.alloc.rate 1000 settlement thrpt 10 1876.227 ± 38.352 MB/sec +BindingBenchmark.directWrite:gc.alloc.rate.norm 1000 settlement thrpt 10 9456016.890 ± 0.337 B/op +BindingBenchmark.directWrite:gc.count 1000 settlement thrpt 10 249.000 counts +BindingBenchmark.directWrite:gc.time 1000 settlement thrpt 10 257.000 ms +BindingBenchmark.directWrite 1000 telemetry thrpt 10 698.861 ± 4.591 ops/s +BindingBenchmark.directWrite:gc.alloc.rate 1000 telemetry thrpt 10 3902.388 ± 25.643 MB/sec +BindingBenchmark.directWrite:gc.alloc.rate.norm 1000 telemetry thrpt 10 5856005.029 ± 0.042 B/op +BindingBenchmark.directWrite:gc.count 1000 telemetry thrpt 10 388.000 counts +BindingBenchmark.directWrite:gc.time 1000 telemetry thrpt 10 426.000 ms +BindingBenchmark.jacksonRead 1000 settlement thrpt 10 402.531 ± 4.930 ops/s +BindingBenchmark.jacksonRead:gc.alloc.rate 1000 settlement thrpt 10 1934.505 ± 23.692 MB/sec +BindingBenchmark.jacksonRead:gc.alloc.rate.norm 1000 settlement thrpt 10 5040008.722 ± 0.111 B/op +BindingBenchmark.jacksonRead:gc.count 1000 settlement thrpt 10 254.000 counts +BindingBenchmark.jacksonRead:gc.time 1000 settlement thrpt 10 268.000 ms +BindingBenchmark.jacksonRead 1000 telemetry thrpt 10 626.047 ± 4.449 ops/s +BindingBenchmark.jacksonRead:gc.alloc.rate 1000 telemetry thrpt 10 1934.140 ± 13.764 MB/sec +BindingBenchmark.jacksonRead:gc.alloc.rate.norm 1000 telemetry thrpt 10 3240005.617 ± 0.049 B/op +BindingBenchmark.jacksonRead:gc.count 1000 telemetry thrpt 10 255.000 counts +BindingBenchmark.jacksonRead:gc.time 1000 telemetry thrpt 10 263.000 ms +BindingBenchmark.jacksonWrite 1000 settlement thrpt 10 197.944 ± 1.696 ops/s +BindingBenchmark.jacksonWrite:gc.alloc.rate 1000 settlement thrpt 10 1242.695 ± 10.646 MB/sec +BindingBenchmark.jacksonWrite:gc.alloc.rate.norm 1000 settlement thrpt 10 6584017.752 ± 0.139 B/op +BindingBenchmark.jacksonWrite:gc.count 1000 settlement thrpt 10 164.000 counts +BindingBenchmark.jacksonWrite:gc.time 1000 settlement thrpt 10 174.000 ms +BindingBenchmark.jacksonWrite 1000 telemetry thrpt 10 490.084 ± 3.611 ops/s +BindingBenchmark.jacksonWrite:gc.alloc.rate 1000 telemetry thrpt 10 807.518 ± 5.934 MB/sec +BindingBenchmark.jacksonWrite:gc.alloc.rate.norm 1000 telemetry thrpt 10 1728007.171 ± 0.062 B/op +BindingBenchmark.jacksonWrite:gc.count 1000 telemetry thrpt 10 107.000 counts +BindingBenchmark.jacksonWrite:gc.time 1000 telemetry thrpt 10 115.000 ms +BindingBenchmark.jaxbRead 1000 settlement thrpt 10 173.611 ± 3.297 ops/s +BindingBenchmark.jaxbRead:gc.alloc.rate 1000 settlement thrpt 10 1174.707 ± 22.327 MB/sec +BindingBenchmark.jaxbRead:gc.alloc.rate.norm 1000 settlement thrpt 10 7096026.293 ± 0.425 B/op +BindingBenchmark.jaxbRead:gc.count 1000 settlement thrpt 10 155.000 counts +BindingBenchmark.jaxbRead:gc.time 1000 settlement thrpt 10 181.000 ms +BindingBenchmark.jaxbRead 1000 telemetry thrpt 10 238.771 ± 1.736 ops/s +BindingBenchmark.jaxbRead:gc.alloc.rate 1000 telemetry thrpt 10 795.950 ± 5.800 MB/sec +BindingBenchmark.jaxbRead:gc.alloc.rate.norm 1000 telemetry thrpt 10 3496017.720 ± 0.192 B/op +BindingBenchmark.jaxbRead:gc.count 1000 telemetry thrpt 10 106.000 counts +BindingBenchmark.jaxbRead:gc.time 1000 telemetry thrpt 10 121.000 ms +BindingBenchmark.jaxbWrite 1000 settlement thrpt 10 126.987 ± 1.273 ops/s +BindingBenchmark.jaxbWrite:gc.alloc.rate 1000 settlement thrpt 10 3464.064 ± 34.771 MB/sec +BindingBenchmark.jaxbWrite:gc.alloc.rate.norm 1000 settlement thrpt 10 28608027.649 ± 0.322 B/op +BindingBenchmark.jaxbWrite:gc.count 1000 settlement thrpt 10 368.000 counts +BindingBenchmark.jaxbWrite:gc.time 1000 settlement thrpt 10 409.000 ms +BindingBenchmark.jaxbWrite 1000 telemetry thrpt 10 248.780 ± 6.879 ops/s +BindingBenchmark.jaxbWrite:gc.alloc.rate 1000 telemetry thrpt 10 1738.332 ± 48.065 MB/sec +BindingBenchmark.jaxbWrite:gc.alloc.rate.norm 1000 telemetry thrpt 10 7328014.125 ± 0.407 B/op +BindingBenchmark.jaxbWrite:gc.count 1000 telemetry thrpt 10 230.000 counts +BindingBenchmark.jaxbWrite:gc.time 1000 telemetry thrpt 10 240.000 ms + +Benchmark result is saved to /home/bailey/github/PolyXML/benchmarks/serializer-comparison/target/models-2026-10-04/java-jmh.json diff --git a/docs/benchmarks/data/2026-10-04/native-models/java-stax-providers.txt b/docs/benchmarks/data/2026-10-04/native-models/java-stax-providers.txt new file mode 100644 index 00000000..45eb5afe --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/java-stax-providers.txt @@ -0,0 +1,2 @@ +input=com.ctc.wstx.stax.WstxInputFactory +output=com.ctc.wstx.stax.WstxOutputFactory diff --git a/docs/benchmarks/data/2026-10-04/native-models/metadata.json b/docs/benchmarks/data/2026-10-04/native-models/metadata.json new file mode 100644 index 00000000..eee527d9 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/metadata.json @@ -0,0 +1,21 @@ +{ + "revision": "47d12f352b0641221a5298871536f9ca3d79398b", + "status": "", + "go": "go version go1.26.0 linux/amd64", + "dotnet": ".NET SDK:\n Version: 10.0.112\n Commit: 95017c711e\n Workload version: 10.0.100-manifests.63b36e85\n MSBuild version: 18.0.11+95017c711\n\nRuntime Environment:\n OS Name: ubuntu\n OS Version: 26.04\n OS Platform: Linux\n RID: ubuntu.26.04-x64\n Base Path: /usr/lib/dotnet/sdk/10.0.112/\n\n.NET workloads installed:\nThere are no installed workloads to display.\nConfigured to use workload sets when installing new manifests.\nNo workload sets are installed. Run \"dotnet workload restore\" to install a workload set.\n\nHost:\n Version: 10.0.12\n Architecture: x64\n Commit: 95017c711e\n\n.NET SDKs installed:\n 10.0.112 [/usr/lib/dotnet/sdk]\n\n.NET runtimes installed:\n Microsoft.AspNetCore.App 10.0.12 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]\n Microsoft.NETCore.App 10.0.12 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]\n\nOther architectures found:\n None\n\nEnvironment variables:\n DOTNET_BUNDLE_EXTRACT_BASE_DIR [/home/bailey/.cache/dotnet_bundle_extract]\n DOTNET_ROLL_FORWARD [Major]\n\nglobal.json file:\n Not found\n\nLearn more:\n https://aka.ms/dotnet/info\n\nDownload .NET:\n https://aka.ms/dotnet/download", + "java": "openjdk version \"25.0.4.1\" 2026-08-18\nOpenJDK Runtime Environment (build 25.0.4.1+1-1-26.04.4-Ubuntu)\nOpenJDK 64-Bit Server VM (build 25.0.4.1+1-1-26.04.4-Ubuntu, mixed mode, sharing)", + "maven": "Apache Maven 3.10.0 (c43a36b8d67be7e0805a411bc0898af1a51f5472)\nMaven home: /home/bailey/github/PolyXML/benchmarks/serializer-comparison/target/tools/apache-maven-3.10.0\nJava version: 25.0.4.1, vendor: Ubuntu, runtime: /usr/lib/jvm/java-25-openjdk-amd64\nDefault locale: en, platform encoding: UTF-8, time zone: America/Chicago\nOS name: \"linux\", version: \"6.18.40.1-microsoft-standard-wsl2\", arch: \"amd64\", family: \"unix\"", + "cli": "polyxml 0.34.8", + "settings": { + "go_processes": 5, + "go_benchtime": "2s", + "csharp_processes": 5, + "csharp_iterations": 1000, + "csharp_min_warmup_pairs": 500, + "csharp_min_warmup_ms": 2000, + "java_batch_size": 1000, + "java_forks": 2, + "java_warmup": "3 x 2s", + "java_measurement": "5 x 2s" + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/PolyXMLSerializerProviders.java b/docs/benchmarks/data/2026-10-04/native-models/source/PolyXMLSerializerProviders.java new file mode 100644 index 00000000..e1e8ced6 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/PolyXMLSerializerProviders.java @@ -0,0 +1,6 @@ +public class PolyXMLSerializerProviders { + public static void main(String[] args) { + System.out.println("input=" + javax.xml.stream.XMLInputFactory.newFactory().getClass().getName()); + System.out.println("output=" + javax.xml.stream.XMLOutputFactory.newFactory().getClass().getName()); + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/control_csharp.py b/docs/benchmarks/data/2026-10-04/native-models/source/control_csharp.py new file mode 100644 index 00000000..cd12340f --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/control_csharp.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +"""Repeat an already-built C# comparison with tiered compilation disabled.""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import os +import shutil +from pathlib import Path + +from run_models import ROOT, capture, run + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("directory", type=Path) + args = parser.parse_args() + directory = args.directory.resolve() + assert (directory / "metadata.json").is_file(), "Run run_models.py first" + assert not list(directory.glob("csharp-steady-*.txt")), "Preserve existing runs" + dll = ROOT / "benchmarks/csharp/bin/Release/net8.0/Benchmark.dll" + env = dict( + os.environ, + DOTNET_ROLL_FORWARD="Major", + DOTNET_TieredCompilation="0", + POLYXML_MEMCAP_BACKEND="systemd", + BENCH_ITERATIONS="1000", + BENCH_WARMUP_MS="2000", + ) + metadata = { + "revision": capture(["git", "rev-parse", "HEAD"], env), + "tiered_compilation": False, + "processes": 6, + "iterations": 1000, + "minimum_warmup_pairs": 500, + "minimum_warmup_ms": 2000, + "dll_sha256": hashlib.sha256(dll.read_bytes()).hexdigest(), + "note": "Default-tiering runs retained separately as diagnostics; first-model effect persisted after warmup.", + } + (directory / "csharp-control.json").write_text( + json.dumps(metadata, indent=2) + "\n" + ) + shutil.copyfile(Path(__file__), directory / "source/control_csharp.py") + for repeat in range(6): + print(f"C# full-JIT control {repeat + 1}/6", flush=True) + current = dict(env, BENCH_BASELINE_FIRST=str(repeat % 2)) + run( + [ROOT / "scripts/memcap.sh", "dotnet", dll], + current, + directory, + f"csharp-steady-{repeat}.txt", + cwd=ROOT / "benchmarks/csharp", + ) + + +if __name__ == "__main__": + main() diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/csharp-generated/Sensor.cs b/docs/benchmarks/data/2026-10-04/native-models/source/csharp-generated/Sensor.cs new file mode 100644 index 00000000..73017243 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/csharp-generated/Sensor.cs @@ -0,0 +1,32 @@ +// +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +#nullable enable + +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Text.RegularExpressions; +using System.Xml; +using System.Xml.Serialization; +using System.Text.Json.Serialization; + +namespace Generated; + +[XmlRoot("SensorType")] +public class SensorType : IValidatableObject +{ + public SensorType() { } + [XmlElement("Id"), JsonPropertyName("Id")] public string Id { get; set; } = default!; + [XmlElement("Value"), JsonPropertyName("Value")] public int Value { get; set; } = default!; + public virtual IEnumerable Validate(ValidationContext validationContext) + { + yield break; + } +} + +[XmlRoot("Sensor")] +public sealed class Sensor : SensorType +{ + public Sensor() : base() { } +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/csharp/.gitignore b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/.gitignore new file mode 100644 index 00000000..140f55b7 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/.gitignore @@ -0,0 +1,3 @@ +target/ +bin/ +obj/ diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/csharp/Benchmark.csproj b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/Benchmark.csproj new file mode 100644 index 00000000..f7fe48ba --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/Benchmark.csproj @@ -0,0 +1,4 @@ + + Exenet8.0enableenablefalse + + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/csharp/Program.cs b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/Program.cs new file mode 100644 index 00000000..768e2e0f --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/Program.cs @@ -0,0 +1,85 @@ +using System.Diagnostics; +using System.Xml.Serialization; +using Generated; + +[XmlRoot("Sensor")] +public sealed class BaselineSensor +{ + [XmlElement("Id")] public string Id { get; set; } = ""; + [XmlElement("Value")] public int Value { get; set; } +} + +[XmlRoot("Batch")] +public sealed class Batch +{ + [XmlElement("Sensor")] public T[] Sensors { get; set; } = Array.Empty(); +} + +public static class Program +{ + static readonly int Iterations = int.TryParse(Environment.GetEnvironmentVariable("BENCH_ITERATIONS"), out var n) ? n : 1000; + + static void Measure(string name, int count, Func make) where T : class + { + var serializer = new XmlSerializer(typeof(T)); + var value = make(count); + using var initial = new StringWriter(); + serializer.Serialize(initial, value); + var xml = File.ReadAllText($"../workloads/sensor-batch/sensor-{count}.xml"); + using (var check = new StringReader(xml)) + { + var decoded = serializer.Deserialize(check) as T ?? throw new Exception("Round trip failed"); + var fields = decoded switch { + Batch generated => generated.Sensors.Select(s => (s.Id, s.Value)), + Batch baseline => baseline.Sensors.Select(s => (s.Id, s.Value)), + _ => throw new Exception("Unknown model") + }; + int index = 0; + foreach (var (id, number) in fields) { + if (id != $"sensor-{index}" || number != index) throw new Exception($"Field mismatch at {index}"); + index++; + } + if (index != count) throw new Exception("Sensor count mismatch"); + using var verify = new StringWriter(); + serializer.Serialize(verify, decoded); + if (verify.ToString() != initial.ToString()) throw new Exception("Round trip mismatch"); + } + var warmup = Stopwatch.StartNew(); + int warmed = 0; + int warmupMs = int.TryParse(Environment.GetEnvironmentVariable("BENCH_WARMUP_MS"), out var ms) ? ms : 2000; + while (warmed < 500 || warmup.ElapsedMilliseconds < warmupMs) { + using var reader = new StringReader(xml); + GC.KeepAlive(serializer.Deserialize(reader)); + using var writer = new StringWriter(); + serializer.Serialize(writer, value); + GC.KeepAlive(writer.ToString()); + warmed++; + } + warmup.Stop(); + foreach (var operation in new[] { "read", "write" }) + { + GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); + var bytes = GC.GetAllocatedBytesForCurrentThread(); + var timer = Stopwatch.StartNew(); + for (var i = 0; i < Iterations; i++) + { + if (operation == "read") { using var reader = new StringReader(xml); GC.KeepAlive(serializer.Deserialize(reader)); } + else { using var writer = new StringWriter(); serializer.Serialize(writer, value); GC.KeepAlive(writer.ToString()); } + } + timer.Stop(); + Console.WriteLine($"{name},size={count},{operation},ns/op={timer.Elapsed.TotalNanoseconds / Iterations:F0},B/op={(GC.GetAllocatedBytesForCurrentThread()-bytes)/Iterations},xml_bytes={System.Text.Encoding.UTF8.GetByteCount(xml)},output_chars={initial.ToString().Length},warmup_iterations={warmed},warmup_ms={warmup.ElapsedMilliseconds}"); + } + } + + public static void Main() + { + Console.WriteLine($"dotnet={Environment.Version},os={System.Runtime.InteropServices.RuntimeInformation.OSDescription},cpu={Environment.ProcessorCount},iterations={Iterations}"); + foreach (var count in new[] { 1, 1000 }) + { + Action generated = () => Measure("generated", count, n => new Batch { Sensors = Enumerable.Range(0, n).Select(i => new Sensor { Id = $"sensor-{i}", Value = i }).ToArray() }); + Action baseline = () => Measure("baseline", count, n => new Batch { Sensors = Enumerable.Range(0, n).Select(i => new BaselineSensor { Id = $"sensor-{i}", Value = i }).ToArray() }); + if (Environment.GetEnvironmentVariable("BENCH_BASELINE_FIRST") == "1") { baseline(); generated(); } + else { generated(); baseline(); } + } + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/csharp/README.md.txt b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/README.md.txt new file mode 100644 index 00000000..26cb22d0 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/README.md.txt @@ -0,0 +1,25 @@ +# C# XML benchmark + +Run `./benchmarks/csharp/run.sh` from the repository root after +`cargo build -p polyxml-cli`. Requires .NET 8 SDK. + +The suite generates mutable C# models from `sensor.xsd` and compares them with a +handwritten equivalent through the same `XmlSerializer`. The serializer is +constructed outside timing, and each path is round-trip checked first. The +small and large cases use batches of 1 and 1,000 sensors, respectively. +Reads use the [shared byte-for-byte XML fixtures](../workloads/sensor-batch/README.md). +The tool prints read/write ns/op, allocated bytes/op, XML bytes, runtime, and OS. +This compares model shape and attributes with the same .NET serializer, not a +native PolyXML codec. + +Use `BENCH_ITERATIONS=2 ./benchmarks/csharp/run.sh` for a smoke run. Repeat full +runs on an idle host, retain raw output, and record Git revision, CPU, and +`dotnet --version` before publishing numbers. Generated code stays in `target/`. + +For steady-state comparisons, warmup runs for at least two seconds and 500 +read/write pairs per model. Writes materialize a UTF-16 `string`; reads start +from the shared XML decoded to a string outside timing. Set +`BENCH_BASELINE_FIRST=1` in alternate fresh processes to rotate model order. +`BENCH_ITERATIONS` defaults to 1,000 and `BENCH_WARMUP_MS` to 2,000. Every +sensor field is checked before timing. Record the actual .NET runtime when +rolling a `net8.0` build forward; it is not a .NET 8 timing in that case. diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/csharp/run.sh b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/run.sh new file mode 100755 index 00000000..6f4eff08 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/run.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail +root="$(cd "$(dirname "$0")/../.." && pwd)" +cd "$root/benchmarks/csharp" +mkdir -p target/generated +"${POLYXML_BIN:-$root/target/debug/polyxml}" generate sensor.xsd --lang csharp --style class --out target/generated +dotnet run -c Release --project Benchmark.csproj diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/csharp/sensor.xsd b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/sensor.xsd new file mode 100644 index 00000000..e96164eb --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/csharp/sensor.xsd @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/go-generated/sensor.go b/docs/benchmarks/data/2026-10-04/native-models/source/go-generated/sensor.go new file mode 100644 index 00000000..fce82810 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/go-generated/sensor.go @@ -0,0 +1,35 @@ +// Code generated by PolyXML Compiler (https://github.com/polyxml/PolyXML). DO NOT EDIT. +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) + +package models + +import ( + "encoding/xml" + "fmt" +) + +type SensorType struct { + XMLName xml.Name `json:"-"` + ID string `xml:"Id" json:"Id"` + Value int32 `xml:"Value" json:"Value"` +} + +func (s SensorType) Validate() error { + return nil +} + +// Root XML Element Type Aliases +type Sensor SensorType + +func (r *Sensor) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { + if start.Name.Local != "Sensor" || start.Name.Space != "" { return fmt.Errorf("unexpected root element: %v", start.Name) } + return d.DecodeElement((*SensorType)(r), &start) +} + +func (r Sensor) MarshalXML(e *xml.Encoder, start xml.StartElement) error { + start.Name = xml.Name{Local: "Sensor", Space: ""} + value := SensorType(r) + value.XMLName = start.Name + return e.EncodeElement(value, start) +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/go/.gitignore b/docs/benchmarks/data/2026-10-04/native-models/source/go/.gitignore new file mode 100644 index 00000000..2f7896d1 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/go/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/go/README.md.txt b/docs/benchmarks/data/2026-10-04/native-models/source/go/README.md.txt new file mode 100644 index 00000000..2fdf0734 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/go/README.md.txt @@ -0,0 +1,21 @@ +# Go XML benchmark + +Run `./benchmarks/go/run.sh` from the repository root after building the local +CLI with `cargo build -p polyxml-cli`. Requires Go 1.22+. + +The runner generates Go structs from `sensor.xsd`, then uses Go's `encoding/xml` +for both generated and handwritten structs. It checks decoding before timing and +measures read/write for one sensor and a 1,000-sensor batch. Both paths read +the [shared XML fixtures](../workloads/sensor-batch/README.md). The comparison measures generated model tags and layout, **not** +a separate PolyXML XML engine. Go reports ns/op, B/op, allocations/op, and MB/s. + +For a smoke run use `BENCH_TIME=1x ./benchmarks/go/run.sh`. For reportable +measurements, run on an idle host with `BENCH_COUNT=5 BENCH_TIME=3s`, retain the +raw output, and record the Git revision, OS/CPU, and `go version`. Generated +sources are ignored under `target/`. + +Every sensor field is checked outside timing; timed reads only unmarshal. +Set `BENCH_BASELINE_FIRST=1` in alternate fresh processes to rotate model +order. For a repeated comparison, run five separate processes with +`BENCH_COUNT=1 BENCH_TIME=2s` and retain every output, including `B/op` and +`allocs/op`. Both models use the same native `encoding/xml` implementation. diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/go/bench_test.go b/docs/benchmarks/data/2026-10-04/native-models/source/go/bench_test.go new file mode 100644 index 00000000..33e08ba1 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/go/bench_test.go @@ -0,0 +1,119 @@ +package bench + +import ( + "bytes" + "encoding/xml" + "fmt" + "os" + "testing" + + models "polyxml-bench-go/target/generated" +) + +type baseline struct { + XMLName xml.Name `xml:"Sensor"` + ID string `xml:"Id"` + Value int32 `xml:"Value"` +} + +func BenchmarkXML(b *testing.B) { + for _, count := range []int{1, 1000} { + b.Run(fmt.Sprintf("size=%d", count), func(b *testing.B) { + generated := make([]models.Sensor, count) + plain := make([]baseline, count) + for i := range generated { + generated[i] = models.Sensor{ID: fmt.Sprintf("sensor-%d", i), Value: int32(i)} + plain[i] = baseline{ID: generated[i].ID, Value: generated[i].Value} + } + cases := []struct { + name string + values any + read func([]byte, bool) error + }{ + {"generated", generated, func(data []byte, verify bool) error { + var v struct { + Items []models.Sensor `xml:"Sensor"` + } + if err := xml.Unmarshal(data, &v); err != nil { + return err + } + if verify { + if len(v.Items) != count { + return fmt.Errorf("generated count mismatch") + } + for i, sensor := range v.Items { + if sensor.ID != generated[i].ID || sensor.Value != generated[i].Value { + return fmt.Errorf("generated field mismatch at %d", i) + } + } + } + return nil + }}, + {"baseline", plain, func(data []byte, verify bool) error { + var v struct { + Items []baseline `xml:"Sensor"` + } + if err := xml.Unmarshal(data, &v); err != nil { + return err + } + if verify { + if len(v.Items) != count { + return fmt.Errorf("baseline count mismatch") + } + for i, sensor := range v.Items { + if sensor.ID != plain[i].ID || sensor.Value != plain[i].Value { + return fmt.Errorf("baseline field mismatch at %d", i) + } + } + } + return nil + }}, + } + if os.Getenv("BENCH_BASELINE_FIRST") == "1" { + cases[0], cases[1] = cases[1], cases[0] + } + for _, tc := range cases { + input, err := os.ReadFile(fmt.Sprintf("../workloads/sensor-batch/sensor-%d.xml", count)) + if err != nil { + b.Fatal(err) + } + if err := tc.read(input, true); err != nil { + b.Fatal(err) + } + output, err := xml.Marshal(struct { + XMLName xml.Name `xml:"Batch"` + Items any `xml:"Sensor"` + }{Items: tc.values}) + if err != nil { + b.Fatal(err) + } + if !bytes.Equal(output, input) { + b.Fatal("writer output differs from shared fixture") + } + b.Run(tc.name+"/read", func(b *testing.B) { + b.SetBytes(int64(len(input))) + b.ReportAllocs() + b.ResetTimer() + for i := 0; i < b.N; i++ { + if err := tc.read(input, false); err != nil { + b.Fatal(err) + } + } + }) + b.Run(tc.name+"/write", func(b *testing.B) { + b.SetBytes(int64(len(input))) + b.ReportAllocs() + b.ResetTimer() + for i := 0; i < b.N; i++ { + if _, err := xml.Marshal(struct { + XMLName xml.Name `xml:"Batch"` + Items any `xml:"Sensor"` + }{Items: tc.values}); err != nil { + b.Fatal(err) + } + } + }) + } + }) + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/go/go.mod b/docs/benchmarks/data/2026-10-04/native-models/source/go/go.mod new file mode 100644 index 00000000..f06e690d --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/go/go.mod @@ -0,0 +1,3 @@ +module polyxml-bench-go + +go 1.22 diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/go/run.sh b/docs/benchmarks/data/2026-10-04/native-models/source/go/run.sh new file mode 100755 index 00000000..6a589e14 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/go/run.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -euo pipefail +root="$(cd "$(dirname "$0")/../.." && pwd)" +cd "$root/benchmarks/go" +mkdir -p target/generated +"${POLYXML_BIN:-$root/target/debug/polyxml}" generate sensor.xsd --lang go --out target/generated +go test -run '^$' -bench BenchmarkXML -benchmem -count "${BENCH_COUNT:-1}" -benchtime "${BENCH_TIME:-1s}" ./... diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/go/sensor.xsd b/docs/benchmarks/data/2026-10-04/native-models/source/go/sensor.xsd new file mode 100644 index 00000000..e96164eb --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/go/sensor.xsd @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directReadReuse_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directReadReuse_jmhTest.java new file mode 100644 index 00000000..d3cddc0e --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directReadReuse_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_directReadReuse_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult directReadReuse_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directReadReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + directReadReuse_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directReadReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "directReadReuse", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directReadReuse_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.directReadReuse(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directReadReuse_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directReadReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + directReadReuse_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directReadReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "directReadReuse", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directReadReuse_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.directReadReuse(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directReadReuse_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directReadReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + directReadReuse_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directReadReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "directReadReuse", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directReadReuse_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.directReadReuse(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directReadReuse_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + directReadReuse_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "directReadReuse", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directReadReuse_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.directReadReuse(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directRead_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directRead_jmhTest.java new file mode 100644 index 00000000..8c5a47c1 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directRead_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_directRead_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult directRead_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + directRead_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "directRead", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directRead_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.directRead(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directRead_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + directRead_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "directRead", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directRead_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.directRead(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directRead_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + directRead_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "directRead", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directRead_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.directRead(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directRead_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + directRead_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "directRead", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directRead_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.directRead(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directWriteReuse_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directWriteReuse_jmhTest.java new file mode 100644 index 00000000..452ae844 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directWriteReuse_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_directWriteReuse_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult directWriteReuse_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directWriteReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + directWriteReuse_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directWriteReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "directWriteReuse", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directWriteReuse_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.directWriteReuse(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directWriteReuse_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directWriteReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + directWriteReuse_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directWriteReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "directWriteReuse", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directWriteReuse_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.directWriteReuse(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directWriteReuse_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directWriteReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + directWriteReuse_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directWriteReuse(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "directWriteReuse", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directWriteReuse_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.directWriteReuse(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directWriteReuse_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + directWriteReuse_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "directWriteReuse", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directWriteReuse_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.directWriteReuse(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directWrite_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directWrite_jmhTest.java new file mode 100644 index 00000000..feec0d98 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_directWrite_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_directWrite_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult directWrite_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + directWrite_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "directWrite", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directWrite_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.directWrite(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directWrite_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + directWrite_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "directWrite", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directWrite_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.directWrite(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directWrite_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.directWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + directWrite_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.directWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "directWrite", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directWrite_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.directWrite(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult directWrite_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + directWrite_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "directWrite", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void directWrite_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.directWrite(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jacksonRead_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jacksonRead_jmhTest.java new file mode 100644 index 00000000..0371ca78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jacksonRead_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_jacksonRead_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult jacksonRead_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jacksonRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + jacksonRead_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jacksonRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "jacksonRead", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jacksonRead_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.jacksonRead(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jacksonRead_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jacksonRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + jacksonRead_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jacksonRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "jacksonRead", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jacksonRead_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.jacksonRead(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jacksonRead_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jacksonRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + jacksonRead_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jacksonRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "jacksonRead", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jacksonRead_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.jacksonRead(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jacksonRead_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + jacksonRead_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "jacksonRead", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jacksonRead_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.jacksonRead(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jacksonWrite_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jacksonWrite_jmhTest.java new file mode 100644 index 00000000..ef8b1da7 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jacksonWrite_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_jacksonWrite_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult jacksonWrite_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jacksonWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + jacksonWrite_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jacksonWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "jacksonWrite", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jacksonWrite_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.jacksonWrite(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jacksonWrite_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jacksonWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + jacksonWrite_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jacksonWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "jacksonWrite", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jacksonWrite_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.jacksonWrite(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jacksonWrite_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jacksonWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + jacksonWrite_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jacksonWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "jacksonWrite", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jacksonWrite_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.jacksonWrite(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jacksonWrite_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + jacksonWrite_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "jacksonWrite", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jacksonWrite_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.jacksonWrite(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jaxbRead_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jaxbRead_jmhTest.java new file mode 100644 index 00000000..14e008a1 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jaxbRead_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_jaxbRead_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult jaxbRead_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jaxbRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + jaxbRead_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jaxbRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "jaxbRead", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jaxbRead_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.jaxbRead(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jaxbRead_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jaxbRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + jaxbRead_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jaxbRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "jaxbRead", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jaxbRead_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.jaxbRead(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jaxbRead_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jaxbRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + jaxbRead_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jaxbRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "jaxbRead", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jaxbRead_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.jaxbRead(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jaxbRead_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + jaxbRead_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "jaxbRead", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jaxbRead_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.jaxbRead(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jaxbWrite_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jaxbWrite_jmhTest.java new file mode 100644 index 00000000..ef065236 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jaxbWrite_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_jaxbWrite_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult jaxbWrite_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jaxbWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + jaxbWrite_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jaxbWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "jaxbWrite", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jaxbWrite_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.jaxbWrite(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jaxbWrite_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jaxbWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + jaxbWrite_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jaxbWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "jaxbWrite", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jaxbWrite_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.jaxbWrite(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jaxbWrite_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.jaxbWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + jaxbWrite_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.jaxbWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "jaxbWrite", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jaxbWrite_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.jaxbWrite(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult jaxbWrite_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + jaxbWrite_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "jaxbWrite", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void jaxbWrite_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.jaxbWrite(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType.java new file mode 100644 index 00000000..7a96f1e9 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType.java @@ -0,0 +1,4 @@ +package io.polyxml.bench.jmh_generated; +public class BindingBenchmark_jmhType extends BindingBenchmark_jmhType_B3 { +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType_B1.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType_B1.java new file mode 100644 index 00000000..ec317c75 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType_B1.java @@ -0,0 +1,20 @@ +package io.polyxml.bench.jmh_generated; +import io.polyxml.bench.BindingBenchmark; +public class BindingBenchmark_jmhType_B1 extends io.polyxml.bench.BindingBenchmark { + byte b1_000, b1_001, b1_002, b1_003, b1_004, b1_005, b1_006, b1_007, b1_008, b1_009, b1_010, b1_011, b1_012, b1_013, b1_014, b1_015; + byte b1_016, b1_017, b1_018, b1_019, b1_020, b1_021, b1_022, b1_023, b1_024, b1_025, b1_026, b1_027, b1_028, b1_029, b1_030, b1_031; + byte b1_032, b1_033, b1_034, b1_035, b1_036, b1_037, b1_038, b1_039, b1_040, b1_041, b1_042, b1_043, b1_044, b1_045, b1_046, b1_047; + byte b1_048, b1_049, b1_050, b1_051, b1_052, b1_053, b1_054, b1_055, b1_056, b1_057, b1_058, b1_059, b1_060, b1_061, b1_062, b1_063; + byte b1_064, b1_065, b1_066, b1_067, b1_068, b1_069, b1_070, b1_071, b1_072, b1_073, b1_074, b1_075, b1_076, b1_077, b1_078, b1_079; + byte b1_080, b1_081, b1_082, b1_083, b1_084, b1_085, b1_086, b1_087, b1_088, b1_089, b1_090, b1_091, b1_092, b1_093, b1_094, b1_095; + byte b1_096, b1_097, b1_098, b1_099, b1_100, b1_101, b1_102, b1_103, b1_104, b1_105, b1_106, b1_107, b1_108, b1_109, b1_110, b1_111; + byte b1_112, b1_113, b1_114, b1_115, b1_116, b1_117, b1_118, b1_119, b1_120, b1_121, b1_122, b1_123, b1_124, b1_125, b1_126, b1_127; + byte b1_128, b1_129, b1_130, b1_131, b1_132, b1_133, b1_134, b1_135, b1_136, b1_137, b1_138, b1_139, b1_140, b1_141, b1_142, b1_143; + byte b1_144, b1_145, b1_146, b1_147, b1_148, b1_149, b1_150, b1_151, b1_152, b1_153, b1_154, b1_155, b1_156, b1_157, b1_158, b1_159; + byte b1_160, b1_161, b1_162, b1_163, b1_164, b1_165, b1_166, b1_167, b1_168, b1_169, b1_170, b1_171, b1_172, b1_173, b1_174, b1_175; + byte b1_176, b1_177, b1_178, b1_179, b1_180, b1_181, b1_182, b1_183, b1_184, b1_185, b1_186, b1_187, b1_188, b1_189, b1_190, b1_191; + byte b1_192, b1_193, b1_194, b1_195, b1_196, b1_197, b1_198, b1_199, b1_200, b1_201, b1_202, b1_203, b1_204, b1_205, b1_206, b1_207; + byte b1_208, b1_209, b1_210, b1_211, b1_212, b1_213, b1_214, b1_215, b1_216, b1_217, b1_218, b1_219, b1_220, b1_221, b1_222, b1_223; + byte b1_224, b1_225, b1_226, b1_227, b1_228, b1_229, b1_230, b1_231, b1_232, b1_233, b1_234, b1_235, b1_236, b1_237, b1_238, b1_239; + byte b1_240, b1_241, b1_242, b1_243, b1_244, b1_245, b1_246, b1_247, b1_248, b1_249, b1_250, b1_251, b1_252, b1_253, b1_254, b1_255; +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType_B2.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType_B2.java new file mode 100644 index 00000000..f40de694 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType_B2.java @@ -0,0 +1,19 @@ +package io.polyxml.bench.jmh_generated; +import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; +public class BindingBenchmark_jmhType_B2 extends BindingBenchmark_jmhType_B1 { + public volatile int setupTrialMutex; + public volatile int tearTrialMutex; + public final static AtomicIntegerFieldUpdater setupTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(BindingBenchmark_jmhType_B2.class, "setupTrialMutex"); + public final static AtomicIntegerFieldUpdater tearTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(BindingBenchmark_jmhType_B2.class, "tearTrialMutex"); + + public volatile int setupIterationMutex; + public volatile int tearIterationMutex; + public final static AtomicIntegerFieldUpdater setupIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(BindingBenchmark_jmhType_B2.class, "setupIterationMutex"); + public final static AtomicIntegerFieldUpdater tearIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(BindingBenchmark_jmhType_B2.class, "tearIterationMutex"); + + public volatile int setupInvocationMutex; + public volatile int tearInvocationMutex; + public final static AtomicIntegerFieldUpdater setupInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(BindingBenchmark_jmhType_B2.class, "setupInvocationMutex"); + public final static AtomicIntegerFieldUpdater tearInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(BindingBenchmark_jmhType_B2.class, "tearInvocationMutex"); + +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType_B3.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType_B3.java new file mode 100644 index 00000000..d345417d --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_jmhType_B3.java @@ -0,0 +1,20 @@ +package io.polyxml.bench.jmh_generated; +public class BindingBenchmark_jmhType_B3 extends BindingBenchmark_jmhType_B2 { + byte b3_000, b3_001, b3_002, b3_003, b3_004, b3_005, b3_006, b3_007, b3_008, b3_009, b3_010, b3_011, b3_012, b3_013, b3_014, b3_015; + byte b3_016, b3_017, b3_018, b3_019, b3_020, b3_021, b3_022, b3_023, b3_024, b3_025, b3_026, b3_027, b3_028, b3_029, b3_030, b3_031; + byte b3_032, b3_033, b3_034, b3_035, b3_036, b3_037, b3_038, b3_039, b3_040, b3_041, b3_042, b3_043, b3_044, b3_045, b3_046, b3_047; + byte b3_048, b3_049, b3_050, b3_051, b3_052, b3_053, b3_054, b3_055, b3_056, b3_057, b3_058, b3_059, b3_060, b3_061, b3_062, b3_063; + byte b3_064, b3_065, b3_066, b3_067, b3_068, b3_069, b3_070, b3_071, b3_072, b3_073, b3_074, b3_075, b3_076, b3_077, b3_078, b3_079; + byte b3_080, b3_081, b3_082, b3_083, b3_084, b3_085, b3_086, b3_087, b3_088, b3_089, b3_090, b3_091, b3_092, b3_093, b3_094, b3_095; + byte b3_096, b3_097, b3_098, b3_099, b3_100, b3_101, b3_102, b3_103, b3_104, b3_105, b3_106, b3_107, b3_108, b3_109, b3_110, b3_111; + byte b3_112, b3_113, b3_114, b3_115, b3_116, b3_117, b3_118, b3_119, b3_120, b3_121, b3_122, b3_123, b3_124, b3_125, b3_126, b3_127; + byte b3_128, b3_129, b3_130, b3_131, b3_132, b3_133, b3_134, b3_135, b3_136, b3_137, b3_138, b3_139, b3_140, b3_141, b3_142, b3_143; + byte b3_144, b3_145, b3_146, b3_147, b3_148, b3_149, b3_150, b3_151, b3_152, b3_153, b3_154, b3_155, b3_156, b3_157, b3_158, b3_159; + byte b3_160, b3_161, b3_162, b3_163, b3_164, b3_165, b3_166, b3_167, b3_168, b3_169, b3_170, b3_171, b3_172, b3_173, b3_174, b3_175; + byte b3_176, b3_177, b3_178, b3_179, b3_180, b3_181, b3_182, b3_183, b3_184, b3_185, b3_186, b3_187, b3_188, b3_189, b3_190, b3_191; + byte b3_192, b3_193, b3_194, b3_195, b3_196, b3_197, b3_198, b3_199, b3_200, b3_201, b3_202, b3_203, b3_204, b3_205, b3_206, b3_207; + byte b3_208, b3_209, b3_210, b3_211, b3_212, b3_213, b3_214, b3_215, b3_216, b3_217, b3_218, b3_219, b3_220, b3_221, b3_222, b3_223; + byte b3_224, b3_225, b3_226, b3_227, b3_228, b3_229, b3_230, b3_231, b3_232, b3_233, b3_234, b3_235, b3_236, b3_237, b3_238, b3_239; + byte b3_240, b3_241, b3_242, b3_243, b3_244, b3_245, b3_246, b3_247, b3_248, b3_249, b3_250, b3_251, b3_252, b3_253, b3_254, b3_255; +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_pojoMutation_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_pojoMutation_jmhTest.java new file mode 100644 index 00000000..c4a34f4a --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_pojoMutation_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_pojoMutation_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult pojoMutation_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.pojoMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + pojoMutation_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.pojoMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "pojoMutation", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void pojoMutation_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.pojoMutation(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult pojoMutation_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.pojoMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + pojoMutation_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.pojoMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "pojoMutation", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void pojoMutation_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.pojoMutation(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult pojoMutation_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.pojoMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + pojoMutation_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.pojoMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "pojoMutation", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void pojoMutation_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.pojoMutation(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult pojoMutation_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + pojoMutation_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "pojoMutation", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void pojoMutation_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.pojoMutation(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_recordMutation_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_recordMutation_jmhTest.java new file mode 100644 index 00000000..7929e4a8 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_recordMutation_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_recordMutation_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult recordMutation_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.recordMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + recordMutation_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.recordMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "recordMutation", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordMutation_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.recordMutation(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult recordMutation_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.recordMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + recordMutation_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.recordMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "recordMutation", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordMutation_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.recordMutation(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult recordMutation_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.recordMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + recordMutation_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.recordMutation(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "recordMutation", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordMutation_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.recordMutation(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult recordMutation_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + recordMutation_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "recordMutation", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordMutation_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.recordMutation(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_recordRead_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_recordRead_jmhTest.java new file mode 100644 index 00000000..dbaae4a4 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_recordRead_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_recordRead_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult recordRead_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.recordRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + recordRead_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.recordRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "recordRead", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordRead_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.recordRead(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult recordRead_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.recordRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + recordRead_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.recordRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "recordRead", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordRead_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.recordRead(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult recordRead_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.recordRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + recordRead_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.recordRead(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "recordRead", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordRead_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.recordRead(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult recordRead_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + recordRead_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "recordRead", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordRead_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.recordRead(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_recordWrite_jmhTest.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_recordWrite_jmhTest.java new file mode 100644 index 00000000..3a63b2f7 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/annotations/io/polyxml/bench/jmh_generated/BindingBenchmark_recordWrite_jmhTest.java @@ -0,0 +1,355 @@ +package io.polyxml.bench.jmh_generated; + +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.Collection; +import java.util.ArrayList; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.CompilerControl; +import org.openjdk.jmh.runner.InfraControl; +import org.openjdk.jmh.infra.ThreadParams; +import org.openjdk.jmh.results.BenchmarkTaskResult; +import org.openjdk.jmh.results.Result; +import org.openjdk.jmh.results.ThroughputResult; +import org.openjdk.jmh.results.AverageTimeResult; +import org.openjdk.jmh.results.SampleTimeResult; +import org.openjdk.jmh.results.SingleShotResult; +import org.openjdk.jmh.util.SampleBuffer; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Threads; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.results.RawResults; +import org.openjdk.jmh.results.ResultRole; +import java.lang.reflect.Field; +import org.openjdk.jmh.infra.BenchmarkParams; +import org.openjdk.jmh.infra.IterationParams; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.infra.Control; +import org.openjdk.jmh.results.ScalarResult; +import org.openjdk.jmh.results.AggregationPolicy; +import org.openjdk.jmh.runner.FailureAssistException; + +import io.polyxml.bench.jmh_generated.BindingBenchmark_jmhType; +public final class BindingBenchmark_recordWrite_jmhTest { + + byte p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015; + byte p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031; + byte p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047; + byte p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063; + byte p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079; + byte p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095; + byte p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111; + byte p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127; + byte p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143; + byte p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159; + byte p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175; + byte p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191; + byte p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207; + byte p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223; + byte p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239; + byte p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255; + int startRndMask; + BenchmarkParams benchmarkParams; + IterationParams iterationParams; + ThreadParams threadParams; + Blackhole blackhole; + Control notifyControl; + + public BenchmarkTaskResult recordWrite_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.recordWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + recordWrite_thrpt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.recordWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new ThroughputResult(ResultRole.PRIMARY, "recordWrite", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordWrite_thrpt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.recordWrite(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult recordWrite_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.recordWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + recordWrite_avgt_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.recordWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps; + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + res.measuredOps /= batchSize; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new AverageTimeResult(ResultRole.PRIMARY, "recordWrite", res.measuredOps, res.getTime(), benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordWrite_avgt_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long operations = 0; + long realTime = 0; + result.startTime = System.nanoTime(); + do { + l_bindingbenchmark0_0.recordWrite(blackhole); + operations++; + } while(!control.isDone); + result.stopTime = System.nanoTime(); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult recordWrite_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + RawResults res = new RawResults(); + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + control.announceWarmupReady(); + while (control.warmupShouldWait) { + l_bindingbenchmark0_0.recordWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + + notifyControl.startMeasurement = true; + int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond + int batchSize = iterationParams.getBatchSize(); + int opsPerInv = benchmarkParams.getOpsPerInvocation(); + SampleBuffer buffer = new SampleBuffer(); + recordWrite_sample_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, buffer, targetSamples, opsPerInv, batchSize, l_bindingbenchmark0_0); + notifyControl.stopMeasurement = true; + control.announceWarmdownReady(); + try { + while (control.warmdownShouldWait) { + l_bindingbenchmark0_0.recordWrite(blackhole); + if (control.shouldYield) Thread.yield(); + res.allOps++; + } + } catch (Throwable e) { + if (!(e instanceof InterruptedException)) throw e; + } + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + res.allOps += res.measuredOps * batchSize; + res.allOps *= opsPerInv; + res.allOps /= batchSize; + res.measuredOps *= opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult((long)res.allOps, (long)res.measuredOps); + results.add(new SampleTimeResult(ResultRole.PRIMARY, "recordWrite", buffer, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordWrite_sample_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + long operations = 0; + int rnd = (int)System.nanoTime(); + int rndMask = startRndMask; + long time = 0; + int currentStride = 0; + do { + rnd = (rnd * 1664525 + 1013904223); + boolean sample = (rnd & rndMask) == 0; + if (sample) { + time = System.nanoTime(); + } + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.recordWrite(blackhole); + } + if (sample) { + buffer.add((System.nanoTime() - time) / opsPerInv); + if (currentStride++ > targetSamples) { + buffer.half(); + currentStride = 0; + rndMask = (rndMask << 1) + 1; + } + } + operations++; + } while(!control.isDone); + startRndMask = Math.max(startRndMask, rndMask); + result.realTime = realTime; + result.measuredOps = operations; + } + + + public BenchmarkTaskResult recordWrite_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable { + this.benchmarkParams = control.benchmarkParams; + this.iterationParams = control.iterationParams; + this.threadParams = threadParams; + this.notifyControl = control.notifyControl; + if (this.blackhole == null) { + this.blackhole = new Blackhole("Today's password is swordfish. I understand instantiating Blackholes directly is dangerous."); + } + if (threadParams.getSubgroupIndex() == 0) { + BindingBenchmark_jmhType l_bindingbenchmark0_0 = _jmh_tryInit_f_bindingbenchmark0_0(control); + + control.preSetup(); + + + notifyControl.startMeasurement = true; + RawResults res = new RawResults(); + int batchSize = iterationParams.getBatchSize(); + recordWrite_ss_jmhStub(control, res, benchmarkParams, iterationParams, threadParams, blackhole, notifyControl, startRndMask, batchSize, l_bindingbenchmark0_0); + control.preTearDown(); + + if (control.isLastIteration()) { + f_bindingbenchmark0_0 = null; + } + int opsPerInv = control.benchmarkParams.getOpsPerInvocation(); + long totalOps = opsPerInv; + BenchmarkTaskResult results = new BenchmarkTaskResult(totalOps, totalOps); + results.add(new SingleShotResult(ResultRole.PRIMARY, "recordWrite", res.getTime(), totalOps, benchmarkParams.getTimeUnit())); + this.blackhole.evaporate("Yes, I am Stephen Hawking, and know a thing or two about black holes."); + return results; + } else + throw new IllegalStateException("Harness failed to distribute threads among groups properly"); + } + + public static void recordWrite_ss_jmhStub(InfraControl control, RawResults result, BenchmarkParams benchmarkParams, IterationParams iterationParams, ThreadParams threadParams, Blackhole blackhole, Control notifyControl, int startRndMask, int batchSize, BindingBenchmark_jmhType l_bindingbenchmark0_0) throws Throwable { + long realTime = 0; + result.startTime = System.nanoTime(); + for (int b = 0; b < batchSize; b++) { + if (control.volatileSpoiler) return; + l_bindingbenchmark0_0.recordWrite(blackhole); + } + result.stopTime = System.nanoTime(); + result.realTime = realTime; + } + + + BindingBenchmark_jmhType f_bindingbenchmark0_0; + + BindingBenchmark_jmhType _jmh_tryInit_f_bindingbenchmark0_0(InfraControl control) throws Throwable { + if (control.isFailing) throw new FailureAssistException(); + BindingBenchmark_jmhType val = f_bindingbenchmark0_0; + if (val == null) { + val = new BindingBenchmark_jmhType(); + Field f; + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("batchSize"); + f.setAccessible(true); + f.set(val, Integer.valueOf(control.getParam("batchSize"))); + f = io.polyxml.bench.BindingBenchmark.class.getDeclaredField("workload"); + f.setAccessible(true); + f.set(val, control.getParam("workload")); + val.setup(); + f_bindingbenchmark0_0 = val; + } + return val; + } + + +} + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/jaxb/META-INF/JAXB/episode_default.xjb b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/jaxb/META-INF/JAXB/episode_default.xjb new file mode 100644 index 00000000..81f5e038 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/jaxb/META-INF/JAXB/episode_default.xjb @@ -0,0 +1,20 @@ + + + + + + + + + + + + + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/jaxb/io/polyxml/bench/jaxb/Message.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/jaxb/io/polyxml/bench/jaxb/Message.java new file mode 100644 index 00000000..18d92a69 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/jaxb/io/polyxml/bench/jaxb/Message.java @@ -0,0 +1,2201 @@ + +package io.polyxml.bench.jaxb; + +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlType; + + +/** + *

Java class for Message complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="Message">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="status" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="timestamp" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="amount" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="latitude" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="longitude" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="payload" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="optional0" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional3" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional4" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional5" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional6" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional7" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional8" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional9" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional10" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional11" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional12" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional13" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional14" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional15" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional16" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional17" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional18" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional19" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional20" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional21" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional22" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional23" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional24" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional25" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional26" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional27" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional28" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional29" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional30" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional31" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional32" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional33" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional34" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional35" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional36" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional37" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional38" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional39" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional40" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional41" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional42" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional43" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional44" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional45" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional46" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional47" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional48" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional49" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional50" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional51" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional52" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional53" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional54" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional55" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional56" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional57" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional58" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional59" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional60" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional61" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional62" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional63" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional64" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional65" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional66" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional67" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional68" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional69" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional70" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional71" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="optional72" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "Message", propOrder = { + "id", + "status", + "timestamp", + "amount", + "latitude", + "longitude", + "payload", + "optional0", + "optional1", + "optional2", + "optional3", + "optional4", + "optional5", + "optional6", + "optional7", + "optional8", + "optional9", + "optional10", + "optional11", + "optional12", + "optional13", + "optional14", + "optional15", + "optional16", + "optional17", + "optional18", + "optional19", + "optional20", + "optional21", + "optional22", + "optional23", + "optional24", + "optional25", + "optional26", + "optional27", + "optional28", + "optional29", + "optional30", + "optional31", + "optional32", + "optional33", + "optional34", + "optional35", + "optional36", + "optional37", + "optional38", + "optional39", + "optional40", + "optional41", + "optional42", + "optional43", + "optional44", + "optional45", + "optional46", + "optional47", + "optional48", + "optional49", + "optional50", + "optional51", + "optional52", + "optional53", + "optional54", + "optional55", + "optional56", + "optional57", + "optional58", + "optional59", + "optional60", + "optional61", + "optional62", + "optional63", + "optional64", + "optional65", + "optional66", + "optional67", + "optional68", + "optional69", + "optional70", + "optional71", + "optional72" +}) +public class Message { + + @XmlElement(required = true) + protected String id; + @XmlElement(required = true) + protected String status; + @XmlElement(required = true) + protected String timestamp; + @XmlElement(required = true) + protected String amount; + @XmlElement(required = true) + protected String latitude; + @XmlElement(required = true) + protected String longitude; + @XmlElement(required = true) + protected String payload; + protected String optional0; + protected String optional1; + protected String optional2; + protected String optional3; + protected String optional4; + protected String optional5; + protected String optional6; + protected String optional7; + protected String optional8; + protected String optional9; + protected String optional10; + protected String optional11; + protected String optional12; + protected String optional13; + protected String optional14; + protected String optional15; + protected String optional16; + protected String optional17; + protected String optional18; + protected String optional19; + protected String optional20; + protected String optional21; + protected String optional22; + protected String optional23; + protected String optional24; + protected String optional25; + protected String optional26; + protected String optional27; + protected String optional28; + protected String optional29; + protected String optional30; + protected String optional31; + protected String optional32; + protected String optional33; + protected String optional34; + protected String optional35; + protected String optional36; + protected String optional37; + protected String optional38; + protected String optional39; + protected String optional40; + protected String optional41; + protected String optional42; + protected String optional43; + protected String optional44; + protected String optional45; + protected String optional46; + protected String optional47; + protected String optional48; + protected String optional49; + protected String optional50; + protected String optional51; + protected String optional52; + protected String optional53; + protected String optional54; + protected String optional55; + protected String optional56; + protected String optional57; + protected String optional58; + protected String optional59; + protected String optional60; + protected String optional61; + protected String optional62; + protected String optional63; + protected String optional64; + protected String optional65; + protected String optional66; + protected String optional67; + protected String optional68; + protected String optional69; + protected String optional70; + protected String optional71; + protected String optional72; + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + /** + * Gets the value of the status property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getStatus() { + return status; + } + + /** + * Sets the value of the status property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setStatus(String value) { + this.status = value; + } + + /** + * Gets the value of the timestamp property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getTimestamp() { + return timestamp; + } + + /** + * Sets the value of the timestamp property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setTimestamp(String value) { + this.timestamp = value; + } + + /** + * Gets the value of the amount property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAmount() { + return amount; + } + + /** + * Sets the value of the amount property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAmount(String value) { + this.amount = value; + } + + /** + * Gets the value of the latitude property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLatitude() { + return latitude; + } + + /** + * Sets the value of the latitude property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLatitude(String value) { + this.latitude = value; + } + + /** + * Gets the value of the longitude property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLongitude() { + return longitude; + } + + /** + * Sets the value of the longitude property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLongitude(String value) { + this.longitude = value; + } + + /** + * Gets the value of the payload property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPayload() { + return payload; + } + + /** + * Sets the value of the payload property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPayload(String value) { + this.payload = value; + } + + /** + * Gets the value of the optional0 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional0() { + return optional0; + } + + /** + * Sets the value of the optional0 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional0(String value) { + this.optional0 = value; + } + + /** + * Gets the value of the optional1 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional1() { + return optional1; + } + + /** + * Sets the value of the optional1 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional1(String value) { + this.optional1 = value; + } + + /** + * Gets the value of the optional2 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional2() { + return optional2; + } + + /** + * Sets the value of the optional2 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional2(String value) { + this.optional2 = value; + } + + /** + * Gets the value of the optional3 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional3() { + return optional3; + } + + /** + * Sets the value of the optional3 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional3(String value) { + this.optional3 = value; + } + + /** + * Gets the value of the optional4 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional4() { + return optional4; + } + + /** + * Sets the value of the optional4 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional4(String value) { + this.optional4 = value; + } + + /** + * Gets the value of the optional5 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional5() { + return optional5; + } + + /** + * Sets the value of the optional5 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional5(String value) { + this.optional5 = value; + } + + /** + * Gets the value of the optional6 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional6() { + return optional6; + } + + /** + * Sets the value of the optional6 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional6(String value) { + this.optional6 = value; + } + + /** + * Gets the value of the optional7 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional7() { + return optional7; + } + + /** + * Sets the value of the optional7 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional7(String value) { + this.optional7 = value; + } + + /** + * Gets the value of the optional8 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional8() { + return optional8; + } + + /** + * Sets the value of the optional8 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional8(String value) { + this.optional8 = value; + } + + /** + * Gets the value of the optional9 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional9() { + return optional9; + } + + /** + * Sets the value of the optional9 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional9(String value) { + this.optional9 = value; + } + + /** + * Gets the value of the optional10 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional10() { + return optional10; + } + + /** + * Sets the value of the optional10 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional10(String value) { + this.optional10 = value; + } + + /** + * Gets the value of the optional11 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional11() { + return optional11; + } + + /** + * Sets the value of the optional11 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional11(String value) { + this.optional11 = value; + } + + /** + * Gets the value of the optional12 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional12() { + return optional12; + } + + /** + * Sets the value of the optional12 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional12(String value) { + this.optional12 = value; + } + + /** + * Gets the value of the optional13 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional13() { + return optional13; + } + + /** + * Sets the value of the optional13 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional13(String value) { + this.optional13 = value; + } + + /** + * Gets the value of the optional14 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional14() { + return optional14; + } + + /** + * Sets the value of the optional14 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional14(String value) { + this.optional14 = value; + } + + /** + * Gets the value of the optional15 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional15() { + return optional15; + } + + /** + * Sets the value of the optional15 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional15(String value) { + this.optional15 = value; + } + + /** + * Gets the value of the optional16 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional16() { + return optional16; + } + + /** + * Sets the value of the optional16 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional16(String value) { + this.optional16 = value; + } + + /** + * Gets the value of the optional17 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional17() { + return optional17; + } + + /** + * Sets the value of the optional17 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional17(String value) { + this.optional17 = value; + } + + /** + * Gets the value of the optional18 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional18() { + return optional18; + } + + /** + * Sets the value of the optional18 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional18(String value) { + this.optional18 = value; + } + + /** + * Gets the value of the optional19 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional19() { + return optional19; + } + + /** + * Sets the value of the optional19 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional19(String value) { + this.optional19 = value; + } + + /** + * Gets the value of the optional20 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional20() { + return optional20; + } + + /** + * Sets the value of the optional20 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional20(String value) { + this.optional20 = value; + } + + /** + * Gets the value of the optional21 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional21() { + return optional21; + } + + /** + * Sets the value of the optional21 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional21(String value) { + this.optional21 = value; + } + + /** + * Gets the value of the optional22 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional22() { + return optional22; + } + + /** + * Sets the value of the optional22 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional22(String value) { + this.optional22 = value; + } + + /** + * Gets the value of the optional23 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional23() { + return optional23; + } + + /** + * Sets the value of the optional23 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional23(String value) { + this.optional23 = value; + } + + /** + * Gets the value of the optional24 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional24() { + return optional24; + } + + /** + * Sets the value of the optional24 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional24(String value) { + this.optional24 = value; + } + + /** + * Gets the value of the optional25 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional25() { + return optional25; + } + + /** + * Sets the value of the optional25 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional25(String value) { + this.optional25 = value; + } + + /** + * Gets the value of the optional26 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional26() { + return optional26; + } + + /** + * Sets the value of the optional26 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional26(String value) { + this.optional26 = value; + } + + /** + * Gets the value of the optional27 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional27() { + return optional27; + } + + /** + * Sets the value of the optional27 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional27(String value) { + this.optional27 = value; + } + + /** + * Gets the value of the optional28 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional28() { + return optional28; + } + + /** + * Sets the value of the optional28 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional28(String value) { + this.optional28 = value; + } + + /** + * Gets the value of the optional29 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional29() { + return optional29; + } + + /** + * Sets the value of the optional29 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional29(String value) { + this.optional29 = value; + } + + /** + * Gets the value of the optional30 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional30() { + return optional30; + } + + /** + * Sets the value of the optional30 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional30(String value) { + this.optional30 = value; + } + + /** + * Gets the value of the optional31 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional31() { + return optional31; + } + + /** + * Sets the value of the optional31 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional31(String value) { + this.optional31 = value; + } + + /** + * Gets the value of the optional32 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional32() { + return optional32; + } + + /** + * Sets the value of the optional32 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional32(String value) { + this.optional32 = value; + } + + /** + * Gets the value of the optional33 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional33() { + return optional33; + } + + /** + * Sets the value of the optional33 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional33(String value) { + this.optional33 = value; + } + + /** + * Gets the value of the optional34 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional34() { + return optional34; + } + + /** + * Sets the value of the optional34 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional34(String value) { + this.optional34 = value; + } + + /** + * Gets the value of the optional35 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional35() { + return optional35; + } + + /** + * Sets the value of the optional35 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional35(String value) { + this.optional35 = value; + } + + /** + * Gets the value of the optional36 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional36() { + return optional36; + } + + /** + * Sets the value of the optional36 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional36(String value) { + this.optional36 = value; + } + + /** + * Gets the value of the optional37 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional37() { + return optional37; + } + + /** + * Sets the value of the optional37 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional37(String value) { + this.optional37 = value; + } + + /** + * Gets the value of the optional38 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional38() { + return optional38; + } + + /** + * Sets the value of the optional38 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional38(String value) { + this.optional38 = value; + } + + /** + * Gets the value of the optional39 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional39() { + return optional39; + } + + /** + * Sets the value of the optional39 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional39(String value) { + this.optional39 = value; + } + + /** + * Gets the value of the optional40 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional40() { + return optional40; + } + + /** + * Sets the value of the optional40 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional40(String value) { + this.optional40 = value; + } + + /** + * Gets the value of the optional41 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional41() { + return optional41; + } + + /** + * Sets the value of the optional41 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional41(String value) { + this.optional41 = value; + } + + /** + * Gets the value of the optional42 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional42() { + return optional42; + } + + /** + * Sets the value of the optional42 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional42(String value) { + this.optional42 = value; + } + + /** + * Gets the value of the optional43 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional43() { + return optional43; + } + + /** + * Sets the value of the optional43 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional43(String value) { + this.optional43 = value; + } + + /** + * Gets the value of the optional44 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional44() { + return optional44; + } + + /** + * Sets the value of the optional44 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional44(String value) { + this.optional44 = value; + } + + /** + * Gets the value of the optional45 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional45() { + return optional45; + } + + /** + * Sets the value of the optional45 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional45(String value) { + this.optional45 = value; + } + + /** + * Gets the value of the optional46 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional46() { + return optional46; + } + + /** + * Sets the value of the optional46 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional46(String value) { + this.optional46 = value; + } + + /** + * Gets the value of the optional47 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional47() { + return optional47; + } + + /** + * Sets the value of the optional47 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional47(String value) { + this.optional47 = value; + } + + /** + * Gets the value of the optional48 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional48() { + return optional48; + } + + /** + * Sets the value of the optional48 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional48(String value) { + this.optional48 = value; + } + + /** + * Gets the value of the optional49 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional49() { + return optional49; + } + + /** + * Sets the value of the optional49 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional49(String value) { + this.optional49 = value; + } + + /** + * Gets the value of the optional50 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional50() { + return optional50; + } + + /** + * Sets the value of the optional50 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional50(String value) { + this.optional50 = value; + } + + /** + * Gets the value of the optional51 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional51() { + return optional51; + } + + /** + * Sets the value of the optional51 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional51(String value) { + this.optional51 = value; + } + + /** + * Gets the value of the optional52 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional52() { + return optional52; + } + + /** + * Sets the value of the optional52 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional52(String value) { + this.optional52 = value; + } + + /** + * Gets the value of the optional53 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional53() { + return optional53; + } + + /** + * Sets the value of the optional53 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional53(String value) { + this.optional53 = value; + } + + /** + * Gets the value of the optional54 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional54() { + return optional54; + } + + /** + * Sets the value of the optional54 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional54(String value) { + this.optional54 = value; + } + + /** + * Gets the value of the optional55 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional55() { + return optional55; + } + + /** + * Sets the value of the optional55 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional55(String value) { + this.optional55 = value; + } + + /** + * Gets the value of the optional56 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional56() { + return optional56; + } + + /** + * Sets the value of the optional56 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional56(String value) { + this.optional56 = value; + } + + /** + * Gets the value of the optional57 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional57() { + return optional57; + } + + /** + * Sets the value of the optional57 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional57(String value) { + this.optional57 = value; + } + + /** + * Gets the value of the optional58 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional58() { + return optional58; + } + + /** + * Sets the value of the optional58 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional58(String value) { + this.optional58 = value; + } + + /** + * Gets the value of the optional59 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional59() { + return optional59; + } + + /** + * Sets the value of the optional59 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional59(String value) { + this.optional59 = value; + } + + /** + * Gets the value of the optional60 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional60() { + return optional60; + } + + /** + * Sets the value of the optional60 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional60(String value) { + this.optional60 = value; + } + + /** + * Gets the value of the optional61 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional61() { + return optional61; + } + + /** + * Sets the value of the optional61 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional61(String value) { + this.optional61 = value; + } + + /** + * Gets the value of the optional62 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional62() { + return optional62; + } + + /** + * Sets the value of the optional62 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional62(String value) { + this.optional62 = value; + } + + /** + * Gets the value of the optional63 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional63() { + return optional63; + } + + /** + * Sets the value of the optional63 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional63(String value) { + this.optional63 = value; + } + + /** + * Gets the value of the optional64 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional64() { + return optional64; + } + + /** + * Sets the value of the optional64 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional64(String value) { + this.optional64 = value; + } + + /** + * Gets the value of the optional65 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional65() { + return optional65; + } + + /** + * Sets the value of the optional65 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional65(String value) { + this.optional65 = value; + } + + /** + * Gets the value of the optional66 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional66() { + return optional66; + } + + /** + * Sets the value of the optional66 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional66(String value) { + this.optional66 = value; + } + + /** + * Gets the value of the optional67 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional67() { + return optional67; + } + + /** + * Sets the value of the optional67 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional67(String value) { + this.optional67 = value; + } + + /** + * Gets the value of the optional68 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional68() { + return optional68; + } + + /** + * Sets the value of the optional68 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional68(String value) { + this.optional68 = value; + } + + /** + * Gets the value of the optional69 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional69() { + return optional69; + } + + /** + * Sets the value of the optional69 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional69(String value) { + this.optional69 = value; + } + + /** + * Gets the value of the optional70 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional70() { + return optional70; + } + + /** + * Sets the value of the optional70 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional70(String value) { + this.optional70 = value; + } + + /** + * Gets the value of the optional71 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional71() { + return optional71; + } + + /** + * Sets the value of the optional71 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional71(String value) { + this.optional71 = value; + } + + /** + * Gets the value of the optional72 property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOptional72() { + return optional72; + } + + /** + * Sets the value of the optional72 property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOptional72(String value) { + this.optional72 = value; + } + +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/jaxb/io/polyxml/bench/jaxb/ObjectFactory.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/jaxb/io/polyxml/bench/jaxb/ObjectFactory.java new file mode 100644 index 00000000..c6e3d316 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/jaxb/io/polyxml/bench/jaxb/ObjectFactory.java @@ -0,0 +1,57 @@ + +package io.polyxml.bench.jaxb; + +import javax.xml.namespace.QName; +import jakarta.xml.bind.JAXBElement; +import jakarta.xml.bind.annotation.XmlElementDecl; +import jakarta.xml.bind.annotation.XmlRegistry; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the io.polyxml.bench.jaxb package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _Message_QNAME = new QName("", "message"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: io.polyxml.bench.jaxb + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link Message } + * + */ + public Message createMessage() { + return new Message(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Message }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link Message }{@code >} + */ + @XmlElementDecl(namespace = "", name = "message") + public JAXBElement createMessage(Message value) { + return new JAXBElement(_Message_QNAME, Message.class, null, value); + } + +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/RecordMutation.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/RecordMutation.java new file mode 100644 index 00000000..58cef747 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/RecordMutation.java @@ -0,0 +1,6 @@ +package io.polyxml.bench; +public final class RecordMutation { +public static io.polyxml.bench.records.Message withStatus(io.polyxml.bench.records.Message value, String status) { +return new io.polyxml.bench.records.Message(value.id(), status, value.timestamp(), value.amount(), value.latitude(), value.longitude(), value.payload(), value.optional0(), value.optional1(), value.optional2(), value.optional3(), value.optional4(), value.optional5(), value.optional6(), value.optional7(), value.optional8(), value.optional9(), value.optional10(), value.optional11(), value.optional12(), value.optional13(), value.optional14(), value.optional15(), value.optional16(), value.optional17(), value.optional18(), value.optional19(), value.optional20(), value.optional21(), value.optional22(), value.optional23(), value.optional24(), value.optional25(), value.optional26(), value.optional27(), value.optional28(), value.optional29(), value.optional30(), value.optional31(), value.optional32(), value.optional33(), value.optional34(), value.optional35(), value.optional36(), value.optional37(), value.optional38(), value.optional39(), value.optional40(), value.optional41(), value.optional42(), value.optional43(), value.optional44(), value.optional45(), value.optional46(), value.optional47(), value.optional48(), value.optional49(), value.optional50(), value.optional51(), value.optional52(), value.optional53(), value.optional54(), value.optional55(), value.optional56(), value.optional57(), value.optional58(), value.optional59(), value.optional60(), value.optional61(), value.optional62(), value.optional63(), value.optional64(), value.optional65(), value.optional66(), value.optional67(), value.optional68(), value.optional69(), value.optional70(), value.optional71(), value.optional72()); +} +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/Base.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/Base.java new file mode 100644 index 00000000..8225cae9 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/Base.java @@ -0,0 +1,46 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Mutable JavaBeans) + +package io.polyxml.bench.cases; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JacksonXmlRootElement(localName = "Base", namespace = "urn:cases") +@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE) +public abstract class Base implements java.io.Serializable { + private static final long serialVersionUID = 1L; + @JsonProperty("id") + @JacksonXmlProperty(localName = "id", isAttribute = true, namespace = "") + private int id = 0; + + public Base() {} + public int getId() { + return this.id; + } + public void setId(int id) { + this.id = id; + } + @Override public boolean equals(Object obj) { + if (this == obj) return true; + if (obj == null || getClass() != obj.getClass()) return false; + Base other = (Base) obj; + return true && java.util.Objects.deepEquals(this.id, other.id); + } + @Override public int hashCode() { return java.util.Arrays.deepHashCode(new Object[] { this.id }); } + @Override public String toString() { return "Base[" + "id=" + getId() + "]"; } + public static abstract class BaseBuilder { + protected int id = 0; + public BaseBuilder id(int id) { this.id = id; return this; } + public abstract Base build(); + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/BaseCodec.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/BaseCodec.java new file mode 100644 index 00000000..0edfdebb --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/BaseCodec.java @@ -0,0 +1,104 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Mutable JavaBeans) + +package io.polyxml.bench.cases; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +import javax.xml.stream.*; +import java.io.*; + +public final class BaseCodec { + private BaseCodec() {} + private static final ThreadLocal READER_FACTORY = ThreadLocal.withInitial(() -> { + XMLInputFactory factory = XMLInputFactory.newFactory(); + factory.setProperty(XMLInputFactory.SUPPORT_DTD, false); + factory.setProperty("javax.xml.stream.isSupportingExternalEntities", false); + return factory; + }); + private static final ThreadLocal WRITER_FACTORY = + ThreadLocal.withInitial(XMLOutputFactory::newFactory); + public static Base readXml(InputStream input) throws XMLStreamException { + XMLStreamReader reader = READER_FACTORY.get().createXMLStreamReader(input); + try { return readXml(reader); } finally { reader.close(); } + } + public static void writeXml(Base value, OutputStream output) throws XMLStreamException { + XMLStreamWriter writer = WRITER_FACTORY.get().createXMLStreamWriter(output, "UTF-8"); + try { writeXml(value, writer); writer.flush(); } finally { writer.close(); } + } + public static void writeXml(Base value, XMLStreamWriter writer) throws XMLStreamException { + writeXml(value, writer, "Base", "urn:cases"); + } + private static void start(XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + writer.writeStartElement("", local, ns); + writer.writeDefaultNamespace(ns); + } + private static void skip(XMLStreamReader reader) throws XMLStreamException { + int depth = 1; + while (depth > 0 && reader.hasNext()) { + int event = reader.next(); + if (event == XMLStreamConstants.START_ELEMENT) depth++; + else if (event == XMLStreamConstants.END_ELEMENT) depth--; + } + } + private static void writeNil(XMLStreamWriter writer) throws XMLStreamException { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + } + private static boolean nil(XMLStreamReader reader) { + String value = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "nil"); + return "true".equals(value) || "1".equals(value); + } + private static java.math.BigInteger integerValue(String value, int kind) { + value = value.trim(); + if (!value.matches("[+-]?[0-9]+")) throw new IllegalArgumentException("Invalid XML integer"); + var integer = new java.math.BigInteger(value); + int sign = integer.signum(); + if ((kind==1 && sign<=0) || (kind==2 && sign<0) || (kind==-1 && sign>=0) || (kind==-2 && sign>0)) throw new IllegalArgumentException("Integer sign constraint failed"); + return integer; + } + private static boolean booleanValue(String value) { + return switch (value.trim()) { + case "true", "1" -> true; + case "false", "0" -> false; + default -> throw new IllegalArgumentException("Invalid XML boolean: " + value); + }; + } + private static String floatingValue(String value) { + return switch (value.trim()) { case "INF" -> "Infinity"; case "-INF" -> "-Infinity"; default -> value.trim(); }; + } + private static String floatingText(Number value) { + return value.toString().replace("Infinity", "INF"); + } + public static Base readXml(XMLStreamReader reader) throws XMLStreamException { + while (reader.getEventType() != XMLStreamConstants.START_ELEMENT && reader.hasNext()) reader.next(); + if (reader.getEventType() != XMLStreamConstants.START_ELEMENT) throw new XMLStreamException("Expected start element"); + if (nil(reader)) { skip(reader); return null; } + if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type") != null) + throw new XMLStreamException("Runtime xsi:type dispatch is not supported; select a concrete codec", reader.getLocation()); + try { + + throw new XMLStreamException("Cannot instantiate abstract XML type without a concrete codec"); + } catch (IllegalArgumentException | java.time.DateTimeException ex) { throw new XMLStreamException("Invalid XML value", reader.getLocation(), ex); } + } + public static void writeXml(Base value, XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + if (value != null && value.getClass() != Base.class) throw new XMLStreamException("Use the concrete type's codec to preserve derived fields"); + start(writer, local, ns); + if (value == null) { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + writer.writeEndElement(); return; + } + var field0 = value.getId(); + writer.writeAttribute("id", String.valueOf(field0)); + writer.writeEndElement(); + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/Code.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/Code.java new file mode 100644 index 00000000..33c260a8 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/Code.java @@ -0,0 +1,32 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Mutable JavaBeans) + +package io.polyxml.bench.cases; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +public final class Code implements java.io.Serializable { + private static final long serialVersionUID = 1L; + @JsonValue @JacksonXmlText + private String value; + public Code() {} + public Code(String value) { setValue(value); } + public String getValue() { return value; } + public void setValue(String value) { + Objects.requireNonNull(value, "value must not be null"); + if (value.length() < 2) throw new IllegalArgumentException("value minLength is 2"); + this.value = value; + } + @Override public boolean equals(Object obj) { return obj instanceof Code other && java.util.Objects.deepEquals(value, other.value); } + @Override public int hashCode() { return java.util.Arrays.deepHashCode(new Object[] { value }); } + @Override public String toString() { return "Code[" + value + "]"; } + @JsonCreator public static Code of(String value) { return new Code(value); } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/CodeCodec.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/CodeCodec.java new file mode 100644 index 00000000..3299bc32 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/CodeCodec.java @@ -0,0 +1,102 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Mutable JavaBeans) + +package io.polyxml.bench.cases; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +import javax.xml.stream.*; +import java.io.*; + +public final class CodeCodec { + private CodeCodec() {} + private static final ThreadLocal READER_FACTORY = ThreadLocal.withInitial(() -> { + XMLInputFactory factory = XMLInputFactory.newFactory(); + factory.setProperty(XMLInputFactory.SUPPORT_DTD, false); + factory.setProperty("javax.xml.stream.isSupportingExternalEntities", false); + return factory; + }); + private static final ThreadLocal WRITER_FACTORY = + ThreadLocal.withInitial(XMLOutputFactory::newFactory); + public static Code readXml(InputStream input) throws XMLStreamException { + XMLStreamReader reader = READER_FACTORY.get().createXMLStreamReader(input); + try { return readXml(reader); } finally { reader.close(); } + } + public static void writeXml(Code value, OutputStream output) throws XMLStreamException { + XMLStreamWriter writer = WRITER_FACTORY.get().createXMLStreamWriter(output, "UTF-8"); + try { writeXml(value, writer); writer.flush(); } finally { writer.close(); } + } + public static void writeXml(Code value, XMLStreamWriter writer) throws XMLStreamException { + writeXml(value, writer, "Code", "urn:cases"); + } + private static void start(XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + writer.writeStartElement("", local, ns); + writer.writeDefaultNamespace(ns); + } + private static void skip(XMLStreamReader reader) throws XMLStreamException { + int depth = 1; + while (depth > 0 && reader.hasNext()) { + int event = reader.next(); + if (event == XMLStreamConstants.START_ELEMENT) depth++; + else if (event == XMLStreamConstants.END_ELEMENT) depth--; + } + } + private static void writeNil(XMLStreamWriter writer) throws XMLStreamException { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + } + private static boolean nil(XMLStreamReader reader) { + String value = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "nil"); + return "true".equals(value) || "1".equals(value); + } + private static java.math.BigInteger integerValue(String value, int kind) { + value = value.trim(); + if (!value.matches("[+-]?[0-9]+")) throw new IllegalArgumentException("Invalid XML integer"); + var integer = new java.math.BigInteger(value); + int sign = integer.signum(); + if ((kind==1 && sign<=0) || (kind==2 && sign<0) || (kind==-1 && sign>=0) || (kind==-2 && sign>0)) throw new IllegalArgumentException("Integer sign constraint failed"); + return integer; + } + private static boolean booleanValue(String value) { + return switch (value.trim()) { + case "true", "1" -> true; + case "false", "0" -> false; + default -> throw new IllegalArgumentException("Invalid XML boolean: " + value); + }; + } + private static String floatingValue(String value) { + return switch (value.trim()) { case "INF" -> "Infinity"; case "-INF" -> "-Infinity"; default -> value.trim(); }; + } + private static String floatingText(Number value) { + return value.toString().replace("Infinity", "INF"); + } + public static Code readXml(XMLStreamReader reader) throws XMLStreamException { + while (reader.getEventType() != XMLStreamConstants.START_ELEMENT && reader.hasNext()) reader.next(); + if (reader.getEventType() != XMLStreamConstants.START_ELEMENT) throw new XMLStreamException("Expected start element"); + if (nil(reader)) { skip(reader); return null; } + if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type") != null) + throw new XMLStreamException("Runtime xsi:type dispatch is not supported; select a concrete codec", reader.getLocation()); + try { + + return new Code(reader.getElementText()); + } catch (IllegalArgumentException | java.time.DateTimeException ex) { throw new XMLStreamException("Invalid XML value", reader.getLocation(), ex); } + } + public static void writeXml(Code value, XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + start(writer, local, ns); + if (value == null) { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + writer.writeEndElement(); return; + } + writer.writeCharacters(String.valueOf(value.getValue())); + writer.writeEndElement(); + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/Item.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/Item.java new file mode 100644 index 00000000..998d599f --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/Item.java @@ -0,0 +1,103 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Mutable JavaBeans) + +package io.polyxml.bench.cases; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JacksonXmlRootElement(localName = "Item", namespace = "urn:cases") +@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE) +public class Item extends Base implements java.io.Serializable { + private static final long serialVersionUID = 1L; + @JsonProperty("display-name") + @JacksonXmlProperty(localName = "display-name", isAttribute = false, namespace = "urn:cases") + private String displayName = null; + @JsonProperty("active") + @JacksonXmlProperty(localName = "active", isAttribute = false, namespace = "urn:cases") + private boolean active = false; + @JsonProperty("code") + @JacksonXmlProperty(localName = "code", isAttribute = false, namespace = "urn:cases") + private Code code = null; + @JsonProperty("tags") + @JacksonXmlProperty(localName = "tags", isAttribute = false, namespace = "urn:cases") + @JacksonXmlElementWrapper(useWrapping = false) + private java.util.List tags = new java.util.ArrayList<>(); + @JsonProperty("child") + @JacksonXmlProperty(localName = "child", isAttribute = false, namespace = "urn:cases") + private Item child = null; + + public Item() {} + public String getDisplayName() { + return this.displayName; + } + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + public boolean isActive() { + return this.active; + } + public void setActive(boolean active) { + this.active = active; + } + public Code getCode() { + return this.code; + } + public void setCode(Code code) { + this.code = code; + } + public java.util.List getTags() { + if (this.tags == null) this.tags = new java.util.ArrayList<>(); + return this.tags; + } + public void setTags(java.util.List tags) { + this.tags = tags; + } + public Item getChild() { + return this.child; + } + public void setChild(Item child) { + this.child = child; + } + @Override public boolean equals(Object obj) { + if (this == obj) return true; + if (obj == null || getClass() != obj.getClass()) return false; + Item other = (Item) obj; + return true && super.equals(other) && java.util.Objects.deepEquals(this.displayName, other.displayName) && java.util.Objects.deepEquals(this.active, other.active) && java.util.Objects.deepEquals(this.code, other.code) && java.util.Objects.deepEquals(this.tags, other.tags) && java.util.Objects.deepEquals(this.child, other.child); + } + @Override public int hashCode() { return java.util.Arrays.deepHashCode(new Object[] { super.hashCode(), this.displayName, this.active, this.code, this.tags, this.child }); } + @Override public String toString() { return "Item[" + "id=" + getId() + ", " + "displayName=" + getDisplayName() + ", " + "active=" + isActive() + ", " + "code=" + getCode() + ", " + "tags=" + getTags() + ", " + "child=" + getChild() + "]"; } + public static ItemBuilder builder() { return new ItemBuilder(); } + public static class ItemBuilder extends Base.BaseBuilder { + public ItemBuilder id(int id) { this.id = id; return this; } + protected String displayName = null; + public ItemBuilder displayName(String displayName) { this.displayName = displayName; return this; } + protected boolean active = false; + public ItemBuilder active(boolean active) { this.active = active; return this; } + protected Code code = null; + public ItemBuilder code(Code code) { this.code = code; return this; } + protected java.util.List tags = new java.util.ArrayList<>(); + public ItemBuilder tags(java.util.List tags) { this.tags = tags; return this; } + protected Item child = null; + public ItemBuilder child(Item child) { this.child = child; return this; } + public Item build() { + Item result = new Item(); + result.setId(id); + result.setDisplayName(displayName); + result.setActive(active); + result.setCode(code); + result.setTags(tags == null ? null : new java.util.ArrayList<>(tags)); + result.setChild(child); + return result; + } + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/ItemCodec.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/ItemCodec.java new file mode 100644 index 00000000..9465d9b8 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/cases/ItemCodec.java @@ -0,0 +1,167 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Mutable JavaBeans) + +package io.polyxml.bench.cases; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +import javax.xml.stream.*; +import java.io.*; + +public final class ItemCodec { + private ItemCodec() {} + private static final ThreadLocal READER_FACTORY = ThreadLocal.withInitial(() -> { + XMLInputFactory factory = XMLInputFactory.newFactory(); + factory.setProperty(XMLInputFactory.SUPPORT_DTD, false); + factory.setProperty("javax.xml.stream.isSupportingExternalEntities", false); + return factory; + }); + private static final ThreadLocal WRITER_FACTORY = + ThreadLocal.withInitial(XMLOutputFactory::newFactory); + public static Item readXml(InputStream input) throws XMLStreamException { + XMLStreamReader reader = READER_FACTORY.get().createXMLStreamReader(input); + try { return readXml(reader); } finally { reader.close(); } + } + public static void writeXml(Item value, OutputStream output) throws XMLStreamException { + XMLStreamWriter writer = WRITER_FACTORY.get().createXMLStreamWriter(output, "UTF-8"); + try { writeXml(value, writer); writer.flush(); } finally { writer.close(); } + } + public static void writeXml(Item value, XMLStreamWriter writer) throws XMLStreamException { + writeXml(value, writer, "Item", "urn:cases"); + } + private static void start(XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + writer.writeStartElement("", local, ns); + writer.writeDefaultNamespace(ns); + } + private static void skip(XMLStreamReader reader) throws XMLStreamException { + int depth = 1; + while (depth > 0 && reader.hasNext()) { + int event = reader.next(); + if (event == XMLStreamConstants.START_ELEMENT) depth++; + else if (event == XMLStreamConstants.END_ELEMENT) depth--; + } + } + private static void writeNil(XMLStreamWriter writer) throws XMLStreamException { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + } + private static boolean nil(XMLStreamReader reader) { + String value = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "nil"); + return "true".equals(value) || "1".equals(value); + } + private static java.math.BigInteger integerValue(String value, int kind) { + value = value.trim(); + if (!value.matches("[+-]?[0-9]+")) throw new IllegalArgumentException("Invalid XML integer"); + var integer = new java.math.BigInteger(value); + int sign = integer.signum(); + if ((kind==1 && sign<=0) || (kind==2 && sign<0) || (kind==-1 && sign>=0) || (kind==-2 && sign>0)) throw new IllegalArgumentException("Integer sign constraint failed"); + return integer; + } + private static boolean booleanValue(String value) { + return switch (value.trim()) { + case "true", "1" -> true; + case "false", "0" -> false; + default -> throw new IllegalArgumentException("Invalid XML boolean: " + value); + }; + } + private static String floatingValue(String value) { + return switch (value.trim()) { case "INF" -> "Infinity"; case "-INF" -> "-Infinity"; default -> value.trim(); }; + } + private static String floatingText(Number value) { + return value.toString().replace("Infinity", "INF"); + } + public static Item readXml(XMLStreamReader reader) throws XMLStreamException { + while (reader.getEventType() != XMLStreamConstants.START_ELEMENT && reader.hasNext()) reader.next(); + if (reader.getEventType() != XMLStreamConstants.START_ELEMENT) throw new XMLStreamException("Expected start element"); + if (nil(reader)) { skip(reader); return null; } + if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type") != null) + throw new XMLStreamException("Runtime xsi:type dispatch is not supported; select a concrete codec", reader.getLocation()); + try { + + int id = 0; + String displayName = null; + boolean active = false; + Code code = null; + java.util.List tags = new java.util.ArrayList<>(); + Item child = null; + { String raw = reader.getAttributeValue("", "id"); if (raw != null) { + id = Integer.parseInt((raw).trim()); + } } + while (reader.hasNext()) { + int event = reader.next(); + if (event == XMLStreamConstants.END_ELEMENT) break; + if (event != XMLStreamConstants.START_ELEMENT) continue; + if (reader.getLocalName().equals("display-name") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "urn:cases")) { + displayName = reader.getElementText(); + } + else if (reader.getLocalName().equals("active") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "urn:cases")) { + active = booleanValue(reader.getElementText()); + } + else if (reader.getLocalName().equals("code") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "urn:cases")) { + code = CodeCodec.readXml(reader); + } + else if (reader.getLocalName().equals("tags") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "urn:cases")) { + tags.add(reader.getElementText()); + } + else if (reader.getLocalName().equals("child") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "urn:cases")) { + child = ItemCodec.readXml(reader); + } + else skip(reader); + } + Item result = new Item(); + result.setId(id); + result.setDisplayName(displayName); + result.setActive(active); + result.setCode(code); + result.setTags(tags); + result.setChild(child); + return result; + } catch (IllegalArgumentException | java.time.DateTimeException ex) { throw new XMLStreamException("Invalid XML value", reader.getLocation(), ex); } + } + public static void writeXml(Item value, XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + if (value != null && value.getClass() != Item.class) throw new XMLStreamException("Use the concrete type's codec to preserve derived fields"); + start(writer, local, ns); + if (value == null) { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + writer.writeEndElement(); return; + } + var field0 = value.getId(); + writer.writeAttribute("id", String.valueOf(field0)); + var field1 = value.getDisplayName(); + if (field1 != null) { + start(writer, "display-name", "urn:cases"); + if (java.util.Objects.isNull(field1)) writeNil(writer); else writer.writeCharacters(String.valueOf(field1)); + writer.writeEndElement(); + } + var field2 = value.isActive(); + start(writer, "active", "urn:cases"); + if (java.util.Objects.isNull(field2)) writeNil(writer); else writer.writeCharacters(String.valueOf(field2)); + writer.writeEndElement(); + var field3 = value.getCode(); + if (field3 != null) { + CodeCodec.writeXml(field3, writer, "code", "urn:cases"); + } + var field4 = value.getTags(); + if (field4 != null) { + for (var item : field4) { + start(writer, "tags", "urn:cases"); + if (java.util.Objects.isNull(item)) writeNil(writer); else writer.writeCharacters(String.valueOf(item)); + writer.writeEndElement(); + } + } + var field5 = value.getChild(); + if (field5 != null) { + ItemCodec.writeXml(field5, writer, "child", "urn:cases"); + } + writer.writeEndElement(); + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/pojo/Message.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/pojo/Message.java new file mode 100644 index 00000000..74212115 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/pojo/Message.java @@ -0,0 +1,999 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Mutable JavaBeans) + +package io.polyxml.bench.pojo; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_NULL) +@JacksonXmlRootElement(localName = "Message", namespace = "") +@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE) +public class Message implements java.io.Serializable { + private static final long serialVersionUID = 1L; + @JsonProperty("id") + @JacksonXmlProperty(localName = "id", isAttribute = false, namespace = "") + private String id = null; + @JsonProperty("status") + @JacksonXmlProperty(localName = "status", isAttribute = false, namespace = "") + private String status = null; + @JsonProperty("timestamp") + @JacksonXmlProperty(localName = "timestamp", isAttribute = false, namespace = "") + private String timestamp = null; + @JsonProperty("amount") + @JacksonXmlProperty(localName = "amount", isAttribute = false, namespace = "") + private String amount = null; + @JsonProperty("latitude") + @JacksonXmlProperty(localName = "latitude", isAttribute = false, namespace = "") + private String latitude = null; + @JsonProperty("longitude") + @JacksonXmlProperty(localName = "longitude", isAttribute = false, namespace = "") + private String longitude = null; + @JsonProperty("payload") + @JacksonXmlProperty(localName = "payload", isAttribute = false, namespace = "") + private String payload = null; + @JsonProperty("optional0") + @JacksonXmlProperty(localName = "optional0", isAttribute = false, namespace = "") + private String optional0 = null; + @JsonProperty("optional1") + @JacksonXmlProperty(localName = "optional1", isAttribute = false, namespace = "") + private String optional1 = null; + @JsonProperty("optional2") + @JacksonXmlProperty(localName = "optional2", isAttribute = false, namespace = "") + private String optional2 = null; + @JsonProperty("optional3") + @JacksonXmlProperty(localName = "optional3", isAttribute = false, namespace = "") + private String optional3 = null; + @JsonProperty("optional4") + @JacksonXmlProperty(localName = "optional4", isAttribute = false, namespace = "") + private String optional4 = null; + @JsonProperty("optional5") + @JacksonXmlProperty(localName = "optional5", isAttribute = false, namespace = "") + private String optional5 = null; + @JsonProperty("optional6") + @JacksonXmlProperty(localName = "optional6", isAttribute = false, namespace = "") + private String optional6 = null; + @JsonProperty("optional7") + @JacksonXmlProperty(localName = "optional7", isAttribute = false, namespace = "") + private String optional7 = null; + @JsonProperty("optional8") + @JacksonXmlProperty(localName = "optional8", isAttribute = false, namespace = "") + private String optional8 = null; + @JsonProperty("optional9") + @JacksonXmlProperty(localName = "optional9", isAttribute = false, namespace = "") + private String optional9 = null; + @JsonProperty("optional10") + @JacksonXmlProperty(localName = "optional10", isAttribute = false, namespace = "") + private String optional10 = null; + @JsonProperty("optional11") + @JacksonXmlProperty(localName = "optional11", isAttribute = false, namespace = "") + private String optional11 = null; + @JsonProperty("optional12") + @JacksonXmlProperty(localName = "optional12", isAttribute = false, namespace = "") + private String optional12 = null; + @JsonProperty("optional13") + @JacksonXmlProperty(localName = "optional13", isAttribute = false, namespace = "") + private String optional13 = null; + @JsonProperty("optional14") + @JacksonXmlProperty(localName = "optional14", isAttribute = false, namespace = "") + private String optional14 = null; + @JsonProperty("optional15") + @JacksonXmlProperty(localName = "optional15", isAttribute = false, namespace = "") + private String optional15 = null; + @JsonProperty("optional16") + @JacksonXmlProperty(localName = "optional16", isAttribute = false, namespace = "") + private String optional16 = null; + @JsonProperty("optional17") + @JacksonXmlProperty(localName = "optional17", isAttribute = false, namespace = "") + private String optional17 = null; + @JsonProperty("optional18") + @JacksonXmlProperty(localName = "optional18", isAttribute = false, namespace = "") + private String optional18 = null; + @JsonProperty("optional19") + @JacksonXmlProperty(localName = "optional19", isAttribute = false, namespace = "") + private String optional19 = null; + @JsonProperty("optional20") + @JacksonXmlProperty(localName = "optional20", isAttribute = false, namespace = "") + private String optional20 = null; + @JsonProperty("optional21") + @JacksonXmlProperty(localName = "optional21", isAttribute = false, namespace = "") + private String optional21 = null; + @JsonProperty("optional22") + @JacksonXmlProperty(localName = "optional22", isAttribute = false, namespace = "") + private String optional22 = null; + @JsonProperty("optional23") + @JacksonXmlProperty(localName = "optional23", isAttribute = false, namespace = "") + private String optional23 = null; + @JsonProperty("optional24") + @JacksonXmlProperty(localName = "optional24", isAttribute = false, namespace = "") + private String optional24 = null; + @JsonProperty("optional25") + @JacksonXmlProperty(localName = "optional25", isAttribute = false, namespace = "") + private String optional25 = null; + @JsonProperty("optional26") + @JacksonXmlProperty(localName = "optional26", isAttribute = false, namespace = "") + private String optional26 = null; + @JsonProperty("optional27") + @JacksonXmlProperty(localName = "optional27", isAttribute = false, namespace = "") + private String optional27 = null; + @JsonProperty("optional28") + @JacksonXmlProperty(localName = "optional28", isAttribute = false, namespace = "") + private String optional28 = null; + @JsonProperty("optional29") + @JacksonXmlProperty(localName = "optional29", isAttribute = false, namespace = "") + private String optional29 = null; + @JsonProperty("optional30") + @JacksonXmlProperty(localName = "optional30", isAttribute = false, namespace = "") + private String optional30 = null; + @JsonProperty("optional31") + @JacksonXmlProperty(localName = "optional31", isAttribute = false, namespace = "") + private String optional31 = null; + @JsonProperty("optional32") + @JacksonXmlProperty(localName = "optional32", isAttribute = false, namespace = "") + private String optional32 = null; + @JsonProperty("optional33") + @JacksonXmlProperty(localName = "optional33", isAttribute = false, namespace = "") + private String optional33 = null; + @JsonProperty("optional34") + @JacksonXmlProperty(localName = "optional34", isAttribute = false, namespace = "") + private String optional34 = null; + @JsonProperty("optional35") + @JacksonXmlProperty(localName = "optional35", isAttribute = false, namespace = "") + private String optional35 = null; + @JsonProperty("optional36") + @JacksonXmlProperty(localName = "optional36", isAttribute = false, namespace = "") + private String optional36 = null; + @JsonProperty("optional37") + @JacksonXmlProperty(localName = "optional37", isAttribute = false, namespace = "") + private String optional37 = null; + @JsonProperty("optional38") + @JacksonXmlProperty(localName = "optional38", isAttribute = false, namespace = "") + private String optional38 = null; + @JsonProperty("optional39") + @JacksonXmlProperty(localName = "optional39", isAttribute = false, namespace = "") + private String optional39 = null; + @JsonProperty("optional40") + @JacksonXmlProperty(localName = "optional40", isAttribute = false, namespace = "") + private String optional40 = null; + @JsonProperty("optional41") + @JacksonXmlProperty(localName = "optional41", isAttribute = false, namespace = "") + private String optional41 = null; + @JsonProperty("optional42") + @JacksonXmlProperty(localName = "optional42", isAttribute = false, namespace = "") + private String optional42 = null; + @JsonProperty("optional43") + @JacksonXmlProperty(localName = "optional43", isAttribute = false, namespace = "") + private String optional43 = null; + @JsonProperty("optional44") + @JacksonXmlProperty(localName = "optional44", isAttribute = false, namespace = "") + private String optional44 = null; + @JsonProperty("optional45") + @JacksonXmlProperty(localName = "optional45", isAttribute = false, namespace = "") + private String optional45 = null; + @JsonProperty("optional46") + @JacksonXmlProperty(localName = "optional46", isAttribute = false, namespace = "") + private String optional46 = null; + @JsonProperty("optional47") + @JacksonXmlProperty(localName = "optional47", isAttribute = false, namespace = "") + private String optional47 = null; + @JsonProperty("optional48") + @JacksonXmlProperty(localName = "optional48", isAttribute = false, namespace = "") + private String optional48 = null; + @JsonProperty("optional49") + @JacksonXmlProperty(localName = "optional49", isAttribute = false, namespace = "") + private String optional49 = null; + @JsonProperty("optional50") + @JacksonXmlProperty(localName = "optional50", isAttribute = false, namespace = "") + private String optional50 = null; + @JsonProperty("optional51") + @JacksonXmlProperty(localName = "optional51", isAttribute = false, namespace = "") + private String optional51 = null; + @JsonProperty("optional52") + @JacksonXmlProperty(localName = "optional52", isAttribute = false, namespace = "") + private String optional52 = null; + @JsonProperty("optional53") + @JacksonXmlProperty(localName = "optional53", isAttribute = false, namespace = "") + private String optional53 = null; + @JsonProperty("optional54") + @JacksonXmlProperty(localName = "optional54", isAttribute = false, namespace = "") + private String optional54 = null; + @JsonProperty("optional55") + @JacksonXmlProperty(localName = "optional55", isAttribute = false, namespace = "") + private String optional55 = null; + @JsonProperty("optional56") + @JacksonXmlProperty(localName = "optional56", isAttribute = false, namespace = "") + private String optional56 = null; + @JsonProperty("optional57") + @JacksonXmlProperty(localName = "optional57", isAttribute = false, namespace = "") + private String optional57 = null; + @JsonProperty("optional58") + @JacksonXmlProperty(localName = "optional58", isAttribute = false, namespace = "") + private String optional58 = null; + @JsonProperty("optional59") + @JacksonXmlProperty(localName = "optional59", isAttribute = false, namespace = "") + private String optional59 = null; + @JsonProperty("optional60") + @JacksonXmlProperty(localName = "optional60", isAttribute = false, namespace = "") + private String optional60 = null; + @JsonProperty("optional61") + @JacksonXmlProperty(localName = "optional61", isAttribute = false, namespace = "") + private String optional61 = null; + @JsonProperty("optional62") + @JacksonXmlProperty(localName = "optional62", isAttribute = false, namespace = "") + private String optional62 = null; + @JsonProperty("optional63") + @JacksonXmlProperty(localName = "optional63", isAttribute = false, namespace = "") + private String optional63 = null; + @JsonProperty("optional64") + @JacksonXmlProperty(localName = "optional64", isAttribute = false, namespace = "") + private String optional64 = null; + @JsonProperty("optional65") + @JacksonXmlProperty(localName = "optional65", isAttribute = false, namespace = "") + private String optional65 = null; + @JsonProperty("optional66") + @JacksonXmlProperty(localName = "optional66", isAttribute = false, namespace = "") + private String optional66 = null; + @JsonProperty("optional67") + @JacksonXmlProperty(localName = "optional67", isAttribute = false, namespace = "") + private String optional67 = null; + @JsonProperty("optional68") + @JacksonXmlProperty(localName = "optional68", isAttribute = false, namespace = "") + private String optional68 = null; + @JsonProperty("optional69") + @JacksonXmlProperty(localName = "optional69", isAttribute = false, namespace = "") + private String optional69 = null; + @JsonProperty("optional70") + @JacksonXmlProperty(localName = "optional70", isAttribute = false, namespace = "") + private String optional70 = null; + @JsonProperty("optional71") + @JacksonXmlProperty(localName = "optional71", isAttribute = false, namespace = "") + private String optional71 = null; + @JsonProperty("optional72") + @JacksonXmlProperty(localName = "optional72", isAttribute = false, namespace = "") + private String optional72 = null; + + public Message() {} + public String getId() { + return this.id; + } + public void setId(String id) { + this.id = id; + } + public String getStatus() { + return this.status; + } + public void setStatus(String status) { + this.status = status; + } + public String getTimestamp() { + return this.timestamp; + } + public void setTimestamp(String timestamp) { + this.timestamp = timestamp; + } + public String getAmount() { + return this.amount; + } + public void setAmount(String amount) { + this.amount = amount; + } + public String getLatitude() { + return this.latitude; + } + public void setLatitude(String latitude) { + this.latitude = latitude; + } + public String getLongitude() { + return this.longitude; + } + public void setLongitude(String longitude) { + this.longitude = longitude; + } + public String getPayload() { + return this.payload; + } + public void setPayload(String payload) { + this.payload = payload; + } + public String getOptional0() { + return this.optional0; + } + public void setOptional0(String optional0) { + this.optional0 = optional0; + } + public String getOptional1() { + return this.optional1; + } + public void setOptional1(String optional1) { + this.optional1 = optional1; + } + public String getOptional2() { + return this.optional2; + } + public void setOptional2(String optional2) { + this.optional2 = optional2; + } + public String getOptional3() { + return this.optional3; + } + public void setOptional3(String optional3) { + this.optional3 = optional3; + } + public String getOptional4() { + return this.optional4; + } + public void setOptional4(String optional4) { + this.optional4 = optional4; + } + public String getOptional5() { + return this.optional5; + } + public void setOptional5(String optional5) { + this.optional5 = optional5; + } + public String getOptional6() { + return this.optional6; + } + public void setOptional6(String optional6) { + this.optional6 = optional6; + } + public String getOptional7() { + return this.optional7; + } + public void setOptional7(String optional7) { + this.optional7 = optional7; + } + public String getOptional8() { + return this.optional8; + } + public void setOptional8(String optional8) { + this.optional8 = optional8; + } + public String getOptional9() { + return this.optional9; + } + public void setOptional9(String optional9) { + this.optional9 = optional9; + } + public String getOptional10() { + return this.optional10; + } + public void setOptional10(String optional10) { + this.optional10 = optional10; + } + public String getOptional11() { + return this.optional11; + } + public void setOptional11(String optional11) { + this.optional11 = optional11; + } + public String getOptional12() { + return this.optional12; + } + public void setOptional12(String optional12) { + this.optional12 = optional12; + } + public String getOptional13() { + return this.optional13; + } + public void setOptional13(String optional13) { + this.optional13 = optional13; + } + public String getOptional14() { + return this.optional14; + } + public void setOptional14(String optional14) { + this.optional14 = optional14; + } + public String getOptional15() { + return this.optional15; + } + public void setOptional15(String optional15) { + this.optional15 = optional15; + } + public String getOptional16() { + return this.optional16; + } + public void setOptional16(String optional16) { + this.optional16 = optional16; + } + public String getOptional17() { + return this.optional17; + } + public void setOptional17(String optional17) { + this.optional17 = optional17; + } + public String getOptional18() { + return this.optional18; + } + public void setOptional18(String optional18) { + this.optional18 = optional18; + } + public String getOptional19() { + return this.optional19; + } + public void setOptional19(String optional19) { + this.optional19 = optional19; + } + public String getOptional20() { + return this.optional20; + } + public void setOptional20(String optional20) { + this.optional20 = optional20; + } + public String getOptional21() { + return this.optional21; + } + public void setOptional21(String optional21) { + this.optional21 = optional21; + } + public String getOptional22() { + return this.optional22; + } + public void setOptional22(String optional22) { + this.optional22 = optional22; + } + public String getOptional23() { + return this.optional23; + } + public void setOptional23(String optional23) { + this.optional23 = optional23; + } + public String getOptional24() { + return this.optional24; + } + public void setOptional24(String optional24) { + this.optional24 = optional24; + } + public String getOptional25() { + return this.optional25; + } + public void setOptional25(String optional25) { + this.optional25 = optional25; + } + public String getOptional26() { + return this.optional26; + } + public void setOptional26(String optional26) { + this.optional26 = optional26; + } + public String getOptional27() { + return this.optional27; + } + public void setOptional27(String optional27) { + this.optional27 = optional27; + } + public String getOptional28() { + return this.optional28; + } + public void setOptional28(String optional28) { + this.optional28 = optional28; + } + public String getOptional29() { + return this.optional29; + } + public void setOptional29(String optional29) { + this.optional29 = optional29; + } + public String getOptional30() { + return this.optional30; + } + public void setOptional30(String optional30) { + this.optional30 = optional30; + } + public String getOptional31() { + return this.optional31; + } + public void setOptional31(String optional31) { + this.optional31 = optional31; + } + public String getOptional32() { + return this.optional32; + } + public void setOptional32(String optional32) { + this.optional32 = optional32; + } + public String getOptional33() { + return this.optional33; + } + public void setOptional33(String optional33) { + this.optional33 = optional33; + } + public String getOptional34() { + return this.optional34; + } + public void setOptional34(String optional34) { + this.optional34 = optional34; + } + public String getOptional35() { + return this.optional35; + } + public void setOptional35(String optional35) { + this.optional35 = optional35; + } + public String getOptional36() { + return this.optional36; + } + public void setOptional36(String optional36) { + this.optional36 = optional36; + } + public String getOptional37() { + return this.optional37; + } + public void setOptional37(String optional37) { + this.optional37 = optional37; + } + public String getOptional38() { + return this.optional38; + } + public void setOptional38(String optional38) { + this.optional38 = optional38; + } + public String getOptional39() { + return this.optional39; + } + public void setOptional39(String optional39) { + this.optional39 = optional39; + } + public String getOptional40() { + return this.optional40; + } + public void setOptional40(String optional40) { + this.optional40 = optional40; + } + public String getOptional41() { + return this.optional41; + } + public void setOptional41(String optional41) { + this.optional41 = optional41; + } + public String getOptional42() { + return this.optional42; + } + public void setOptional42(String optional42) { + this.optional42 = optional42; + } + public String getOptional43() { + return this.optional43; + } + public void setOptional43(String optional43) { + this.optional43 = optional43; + } + public String getOptional44() { + return this.optional44; + } + public void setOptional44(String optional44) { + this.optional44 = optional44; + } + public String getOptional45() { + return this.optional45; + } + public void setOptional45(String optional45) { + this.optional45 = optional45; + } + public String getOptional46() { + return this.optional46; + } + public void setOptional46(String optional46) { + this.optional46 = optional46; + } + public String getOptional47() { + return this.optional47; + } + public void setOptional47(String optional47) { + this.optional47 = optional47; + } + public String getOptional48() { + return this.optional48; + } + public void setOptional48(String optional48) { + this.optional48 = optional48; + } + public String getOptional49() { + return this.optional49; + } + public void setOptional49(String optional49) { + this.optional49 = optional49; + } + public String getOptional50() { + return this.optional50; + } + public void setOptional50(String optional50) { + this.optional50 = optional50; + } + public String getOptional51() { + return this.optional51; + } + public void setOptional51(String optional51) { + this.optional51 = optional51; + } + public String getOptional52() { + return this.optional52; + } + public void setOptional52(String optional52) { + this.optional52 = optional52; + } + public String getOptional53() { + return this.optional53; + } + public void setOptional53(String optional53) { + this.optional53 = optional53; + } + public String getOptional54() { + return this.optional54; + } + public void setOptional54(String optional54) { + this.optional54 = optional54; + } + public String getOptional55() { + return this.optional55; + } + public void setOptional55(String optional55) { + this.optional55 = optional55; + } + public String getOptional56() { + return this.optional56; + } + public void setOptional56(String optional56) { + this.optional56 = optional56; + } + public String getOptional57() { + return this.optional57; + } + public void setOptional57(String optional57) { + this.optional57 = optional57; + } + public String getOptional58() { + return this.optional58; + } + public void setOptional58(String optional58) { + this.optional58 = optional58; + } + public String getOptional59() { + return this.optional59; + } + public void setOptional59(String optional59) { + this.optional59 = optional59; + } + public String getOptional60() { + return this.optional60; + } + public void setOptional60(String optional60) { + this.optional60 = optional60; + } + public String getOptional61() { + return this.optional61; + } + public void setOptional61(String optional61) { + this.optional61 = optional61; + } + public String getOptional62() { + return this.optional62; + } + public void setOptional62(String optional62) { + this.optional62 = optional62; + } + public String getOptional63() { + return this.optional63; + } + public void setOptional63(String optional63) { + this.optional63 = optional63; + } + public String getOptional64() { + return this.optional64; + } + public void setOptional64(String optional64) { + this.optional64 = optional64; + } + public String getOptional65() { + return this.optional65; + } + public void setOptional65(String optional65) { + this.optional65 = optional65; + } + public String getOptional66() { + return this.optional66; + } + public void setOptional66(String optional66) { + this.optional66 = optional66; + } + public String getOptional67() { + return this.optional67; + } + public void setOptional67(String optional67) { + this.optional67 = optional67; + } + public String getOptional68() { + return this.optional68; + } + public void setOptional68(String optional68) { + this.optional68 = optional68; + } + public String getOptional69() { + return this.optional69; + } + public void setOptional69(String optional69) { + this.optional69 = optional69; + } + public String getOptional70() { + return this.optional70; + } + public void setOptional70(String optional70) { + this.optional70 = optional70; + } + public String getOptional71() { + return this.optional71; + } + public void setOptional71(String optional71) { + this.optional71 = optional71; + } + public String getOptional72() { + return this.optional72; + } + public void setOptional72(String optional72) { + this.optional72 = optional72; + } + @Override public boolean equals(Object obj) { + if (this == obj) return true; + if (obj == null || getClass() != obj.getClass()) return false; + Message other = (Message) obj; + return true && java.util.Objects.deepEquals(this.id, other.id) && java.util.Objects.deepEquals(this.status, other.status) && java.util.Objects.deepEquals(this.timestamp, other.timestamp) && java.util.Objects.deepEquals(this.amount, other.amount) && java.util.Objects.deepEquals(this.latitude, other.latitude) && java.util.Objects.deepEquals(this.longitude, other.longitude) && java.util.Objects.deepEquals(this.payload, other.payload) && java.util.Objects.deepEquals(this.optional0, other.optional0) && java.util.Objects.deepEquals(this.optional1, other.optional1) && java.util.Objects.deepEquals(this.optional2, other.optional2) && java.util.Objects.deepEquals(this.optional3, other.optional3) && java.util.Objects.deepEquals(this.optional4, other.optional4) && java.util.Objects.deepEquals(this.optional5, other.optional5) && java.util.Objects.deepEquals(this.optional6, other.optional6) && java.util.Objects.deepEquals(this.optional7, other.optional7) && java.util.Objects.deepEquals(this.optional8, other.optional8) && java.util.Objects.deepEquals(this.optional9, other.optional9) && java.util.Objects.deepEquals(this.optional10, other.optional10) && java.util.Objects.deepEquals(this.optional11, other.optional11) && java.util.Objects.deepEquals(this.optional12, other.optional12) && java.util.Objects.deepEquals(this.optional13, other.optional13) && java.util.Objects.deepEquals(this.optional14, other.optional14) && java.util.Objects.deepEquals(this.optional15, other.optional15) && java.util.Objects.deepEquals(this.optional16, other.optional16) && java.util.Objects.deepEquals(this.optional17, other.optional17) && java.util.Objects.deepEquals(this.optional18, other.optional18) && java.util.Objects.deepEquals(this.optional19, other.optional19) && java.util.Objects.deepEquals(this.optional20, other.optional20) && java.util.Objects.deepEquals(this.optional21, other.optional21) && java.util.Objects.deepEquals(this.optional22, other.optional22) && java.util.Objects.deepEquals(this.optional23, other.optional23) && java.util.Objects.deepEquals(this.optional24, other.optional24) && java.util.Objects.deepEquals(this.optional25, other.optional25) && java.util.Objects.deepEquals(this.optional26, other.optional26) && java.util.Objects.deepEquals(this.optional27, other.optional27) && java.util.Objects.deepEquals(this.optional28, other.optional28) && java.util.Objects.deepEquals(this.optional29, other.optional29) && java.util.Objects.deepEquals(this.optional30, other.optional30) && java.util.Objects.deepEquals(this.optional31, other.optional31) && java.util.Objects.deepEquals(this.optional32, other.optional32) && java.util.Objects.deepEquals(this.optional33, other.optional33) && java.util.Objects.deepEquals(this.optional34, other.optional34) && java.util.Objects.deepEquals(this.optional35, other.optional35) && java.util.Objects.deepEquals(this.optional36, other.optional36) && java.util.Objects.deepEquals(this.optional37, other.optional37) && java.util.Objects.deepEquals(this.optional38, other.optional38) && java.util.Objects.deepEquals(this.optional39, other.optional39) && java.util.Objects.deepEquals(this.optional40, other.optional40) && java.util.Objects.deepEquals(this.optional41, other.optional41) && java.util.Objects.deepEquals(this.optional42, other.optional42) && java.util.Objects.deepEquals(this.optional43, other.optional43) && java.util.Objects.deepEquals(this.optional44, other.optional44) && java.util.Objects.deepEquals(this.optional45, other.optional45) && java.util.Objects.deepEquals(this.optional46, other.optional46) && java.util.Objects.deepEquals(this.optional47, other.optional47) && java.util.Objects.deepEquals(this.optional48, other.optional48) && java.util.Objects.deepEquals(this.optional49, other.optional49) && java.util.Objects.deepEquals(this.optional50, other.optional50) && java.util.Objects.deepEquals(this.optional51, other.optional51) && java.util.Objects.deepEquals(this.optional52, other.optional52) && java.util.Objects.deepEquals(this.optional53, other.optional53) && java.util.Objects.deepEquals(this.optional54, other.optional54) && java.util.Objects.deepEquals(this.optional55, other.optional55) && java.util.Objects.deepEquals(this.optional56, other.optional56) && java.util.Objects.deepEquals(this.optional57, other.optional57) && java.util.Objects.deepEquals(this.optional58, other.optional58) && java.util.Objects.deepEquals(this.optional59, other.optional59) && java.util.Objects.deepEquals(this.optional60, other.optional60) && java.util.Objects.deepEquals(this.optional61, other.optional61) && java.util.Objects.deepEquals(this.optional62, other.optional62) && java.util.Objects.deepEquals(this.optional63, other.optional63) && java.util.Objects.deepEquals(this.optional64, other.optional64) && java.util.Objects.deepEquals(this.optional65, other.optional65) && java.util.Objects.deepEquals(this.optional66, other.optional66) && java.util.Objects.deepEquals(this.optional67, other.optional67) && java.util.Objects.deepEquals(this.optional68, other.optional68) && java.util.Objects.deepEquals(this.optional69, other.optional69) && java.util.Objects.deepEquals(this.optional70, other.optional70) && java.util.Objects.deepEquals(this.optional71, other.optional71) && java.util.Objects.deepEquals(this.optional72, other.optional72); + } + @Override public int hashCode() { return java.util.Arrays.deepHashCode(new Object[] { this.id, this.status, this.timestamp, this.amount, this.latitude, this.longitude, this.payload, this.optional0, this.optional1, this.optional2, this.optional3, this.optional4, this.optional5, this.optional6, this.optional7, this.optional8, this.optional9, this.optional10, this.optional11, this.optional12, this.optional13, this.optional14, this.optional15, this.optional16, this.optional17, this.optional18, this.optional19, this.optional20, this.optional21, this.optional22, this.optional23, this.optional24, this.optional25, this.optional26, this.optional27, this.optional28, this.optional29, this.optional30, this.optional31, this.optional32, this.optional33, this.optional34, this.optional35, this.optional36, this.optional37, this.optional38, this.optional39, this.optional40, this.optional41, this.optional42, this.optional43, this.optional44, this.optional45, this.optional46, this.optional47, this.optional48, this.optional49, this.optional50, this.optional51, this.optional52, this.optional53, this.optional54, this.optional55, this.optional56, this.optional57, this.optional58, this.optional59, this.optional60, this.optional61, this.optional62, this.optional63, this.optional64, this.optional65, this.optional66, this.optional67, this.optional68, this.optional69, this.optional70, this.optional71, this.optional72 }); } + @Override public String toString() { return "Message[" + "id=" + getId() + ", " + "status=" + getStatus() + ", " + "timestamp=" + getTimestamp() + ", " + "amount=" + getAmount() + ", " + "latitude=" + getLatitude() + ", " + "longitude=" + getLongitude() + ", " + "payload=" + getPayload() + ", " + "optional0=" + getOptional0() + ", " + "optional1=" + getOptional1() + ", " + "optional2=" + getOptional2() + ", " + "optional3=" + getOptional3() + ", " + "optional4=" + getOptional4() + ", " + "optional5=" + getOptional5() + ", " + "optional6=" + getOptional6() + ", " + "optional7=" + getOptional7() + ", " + "optional8=" + getOptional8() + ", " + "optional9=" + getOptional9() + ", " + "optional10=" + getOptional10() + ", " + "optional11=" + getOptional11() + ", " + "optional12=" + getOptional12() + ", " + "optional13=" + getOptional13() + ", " + "optional14=" + getOptional14() + ", " + "optional15=" + getOptional15() + ", " + "optional16=" + getOptional16() + ", " + "optional17=" + getOptional17() + ", " + "optional18=" + getOptional18() + ", " + "optional19=" + getOptional19() + ", " + "optional20=" + getOptional20() + ", " + "optional21=" + getOptional21() + ", " + "optional22=" + getOptional22() + ", " + "optional23=" + getOptional23() + ", " + "optional24=" + getOptional24() + ", " + "optional25=" + getOptional25() + ", " + "optional26=" + getOptional26() + ", " + "optional27=" + getOptional27() + ", " + "optional28=" + getOptional28() + ", " + "optional29=" + getOptional29() + ", " + "optional30=" + getOptional30() + ", " + "optional31=" + getOptional31() + ", " + "optional32=" + getOptional32() + ", " + "optional33=" + getOptional33() + ", " + "optional34=" + getOptional34() + ", " + "optional35=" + getOptional35() + ", " + "optional36=" + getOptional36() + ", " + "optional37=" + getOptional37() + ", " + "optional38=" + getOptional38() + ", " + "optional39=" + getOptional39() + ", " + "optional40=" + getOptional40() + ", " + "optional41=" + getOptional41() + ", " + "optional42=" + getOptional42() + ", " + "optional43=" + getOptional43() + ", " + "optional44=" + getOptional44() + ", " + "optional45=" + getOptional45() + ", " + "optional46=" + getOptional46() + ", " + "optional47=" + getOptional47() + ", " + "optional48=" + getOptional48() + ", " + "optional49=" + getOptional49() + ", " + "optional50=" + getOptional50() + ", " + "optional51=" + getOptional51() + ", " + "optional52=" + getOptional52() + ", " + "optional53=" + getOptional53() + ", " + "optional54=" + getOptional54() + ", " + "optional55=" + getOptional55() + ", " + "optional56=" + getOptional56() + ", " + "optional57=" + getOptional57() + ", " + "optional58=" + getOptional58() + ", " + "optional59=" + getOptional59() + ", " + "optional60=" + getOptional60() + ", " + "optional61=" + getOptional61() + ", " + "optional62=" + getOptional62() + ", " + "optional63=" + getOptional63() + ", " + "optional64=" + getOptional64() + ", " + "optional65=" + getOptional65() + ", " + "optional66=" + getOptional66() + ", " + "optional67=" + getOptional67() + ", " + "optional68=" + getOptional68() + ", " + "optional69=" + getOptional69() + ", " + "optional70=" + getOptional70() + ", " + "optional71=" + getOptional71() + ", " + "optional72=" + getOptional72() + "]"; } + public static MessageBuilder builder() { return new MessageBuilder(); } + public static class MessageBuilder { + protected String id = null; + public MessageBuilder id(String id) { this.id = id; return this; } + protected String status = null; + public MessageBuilder status(String status) { this.status = status; return this; } + protected String timestamp = null; + public MessageBuilder timestamp(String timestamp) { this.timestamp = timestamp; return this; } + protected String amount = null; + public MessageBuilder amount(String amount) { this.amount = amount; return this; } + protected String latitude = null; + public MessageBuilder latitude(String latitude) { this.latitude = latitude; return this; } + protected String longitude = null; + public MessageBuilder longitude(String longitude) { this.longitude = longitude; return this; } + protected String payload = null; + public MessageBuilder payload(String payload) { this.payload = payload; return this; } + protected String optional0 = null; + public MessageBuilder optional0(String optional0) { this.optional0 = optional0; return this; } + protected String optional1 = null; + public MessageBuilder optional1(String optional1) { this.optional1 = optional1; return this; } + protected String optional2 = null; + public MessageBuilder optional2(String optional2) { this.optional2 = optional2; return this; } + protected String optional3 = null; + public MessageBuilder optional3(String optional3) { this.optional3 = optional3; return this; } + protected String optional4 = null; + public MessageBuilder optional4(String optional4) { this.optional4 = optional4; return this; } + protected String optional5 = null; + public MessageBuilder optional5(String optional5) { this.optional5 = optional5; return this; } + protected String optional6 = null; + public MessageBuilder optional6(String optional6) { this.optional6 = optional6; return this; } + protected String optional7 = null; + public MessageBuilder optional7(String optional7) { this.optional7 = optional7; return this; } + protected String optional8 = null; + public MessageBuilder optional8(String optional8) { this.optional8 = optional8; return this; } + protected String optional9 = null; + public MessageBuilder optional9(String optional9) { this.optional9 = optional9; return this; } + protected String optional10 = null; + public MessageBuilder optional10(String optional10) { this.optional10 = optional10; return this; } + protected String optional11 = null; + public MessageBuilder optional11(String optional11) { this.optional11 = optional11; return this; } + protected String optional12 = null; + public MessageBuilder optional12(String optional12) { this.optional12 = optional12; return this; } + protected String optional13 = null; + public MessageBuilder optional13(String optional13) { this.optional13 = optional13; return this; } + protected String optional14 = null; + public MessageBuilder optional14(String optional14) { this.optional14 = optional14; return this; } + protected String optional15 = null; + public MessageBuilder optional15(String optional15) { this.optional15 = optional15; return this; } + protected String optional16 = null; + public MessageBuilder optional16(String optional16) { this.optional16 = optional16; return this; } + protected String optional17 = null; + public MessageBuilder optional17(String optional17) { this.optional17 = optional17; return this; } + protected String optional18 = null; + public MessageBuilder optional18(String optional18) { this.optional18 = optional18; return this; } + protected String optional19 = null; + public MessageBuilder optional19(String optional19) { this.optional19 = optional19; return this; } + protected String optional20 = null; + public MessageBuilder optional20(String optional20) { this.optional20 = optional20; return this; } + protected String optional21 = null; + public MessageBuilder optional21(String optional21) { this.optional21 = optional21; return this; } + protected String optional22 = null; + public MessageBuilder optional22(String optional22) { this.optional22 = optional22; return this; } + protected String optional23 = null; + public MessageBuilder optional23(String optional23) { this.optional23 = optional23; return this; } + protected String optional24 = null; + public MessageBuilder optional24(String optional24) { this.optional24 = optional24; return this; } + protected String optional25 = null; + public MessageBuilder optional25(String optional25) { this.optional25 = optional25; return this; } + protected String optional26 = null; + public MessageBuilder optional26(String optional26) { this.optional26 = optional26; return this; } + protected String optional27 = null; + public MessageBuilder optional27(String optional27) { this.optional27 = optional27; return this; } + protected String optional28 = null; + public MessageBuilder optional28(String optional28) { this.optional28 = optional28; return this; } + protected String optional29 = null; + public MessageBuilder optional29(String optional29) { this.optional29 = optional29; return this; } + protected String optional30 = null; + public MessageBuilder optional30(String optional30) { this.optional30 = optional30; return this; } + protected String optional31 = null; + public MessageBuilder optional31(String optional31) { this.optional31 = optional31; return this; } + protected String optional32 = null; + public MessageBuilder optional32(String optional32) { this.optional32 = optional32; return this; } + protected String optional33 = null; + public MessageBuilder optional33(String optional33) { this.optional33 = optional33; return this; } + protected String optional34 = null; + public MessageBuilder optional34(String optional34) { this.optional34 = optional34; return this; } + protected String optional35 = null; + public MessageBuilder optional35(String optional35) { this.optional35 = optional35; return this; } + protected String optional36 = null; + public MessageBuilder optional36(String optional36) { this.optional36 = optional36; return this; } + protected String optional37 = null; + public MessageBuilder optional37(String optional37) { this.optional37 = optional37; return this; } + protected String optional38 = null; + public MessageBuilder optional38(String optional38) { this.optional38 = optional38; return this; } + protected String optional39 = null; + public MessageBuilder optional39(String optional39) { this.optional39 = optional39; return this; } + protected String optional40 = null; + public MessageBuilder optional40(String optional40) { this.optional40 = optional40; return this; } + protected String optional41 = null; + public MessageBuilder optional41(String optional41) { this.optional41 = optional41; return this; } + protected String optional42 = null; + public MessageBuilder optional42(String optional42) { this.optional42 = optional42; return this; } + protected String optional43 = null; + public MessageBuilder optional43(String optional43) { this.optional43 = optional43; return this; } + protected String optional44 = null; + public MessageBuilder optional44(String optional44) { this.optional44 = optional44; return this; } + protected String optional45 = null; + public MessageBuilder optional45(String optional45) { this.optional45 = optional45; return this; } + protected String optional46 = null; + public MessageBuilder optional46(String optional46) { this.optional46 = optional46; return this; } + protected String optional47 = null; + public MessageBuilder optional47(String optional47) { this.optional47 = optional47; return this; } + protected String optional48 = null; + public MessageBuilder optional48(String optional48) { this.optional48 = optional48; return this; } + protected String optional49 = null; + public MessageBuilder optional49(String optional49) { this.optional49 = optional49; return this; } + protected String optional50 = null; + public MessageBuilder optional50(String optional50) { this.optional50 = optional50; return this; } + protected String optional51 = null; + public MessageBuilder optional51(String optional51) { this.optional51 = optional51; return this; } + protected String optional52 = null; + public MessageBuilder optional52(String optional52) { this.optional52 = optional52; return this; } + protected String optional53 = null; + public MessageBuilder optional53(String optional53) { this.optional53 = optional53; return this; } + protected String optional54 = null; + public MessageBuilder optional54(String optional54) { this.optional54 = optional54; return this; } + protected String optional55 = null; + public MessageBuilder optional55(String optional55) { this.optional55 = optional55; return this; } + protected String optional56 = null; + public MessageBuilder optional56(String optional56) { this.optional56 = optional56; return this; } + protected String optional57 = null; + public MessageBuilder optional57(String optional57) { this.optional57 = optional57; return this; } + protected String optional58 = null; + public MessageBuilder optional58(String optional58) { this.optional58 = optional58; return this; } + protected String optional59 = null; + public MessageBuilder optional59(String optional59) { this.optional59 = optional59; return this; } + protected String optional60 = null; + public MessageBuilder optional60(String optional60) { this.optional60 = optional60; return this; } + protected String optional61 = null; + public MessageBuilder optional61(String optional61) { this.optional61 = optional61; return this; } + protected String optional62 = null; + public MessageBuilder optional62(String optional62) { this.optional62 = optional62; return this; } + protected String optional63 = null; + public MessageBuilder optional63(String optional63) { this.optional63 = optional63; return this; } + protected String optional64 = null; + public MessageBuilder optional64(String optional64) { this.optional64 = optional64; return this; } + protected String optional65 = null; + public MessageBuilder optional65(String optional65) { this.optional65 = optional65; return this; } + protected String optional66 = null; + public MessageBuilder optional66(String optional66) { this.optional66 = optional66; return this; } + protected String optional67 = null; + public MessageBuilder optional67(String optional67) { this.optional67 = optional67; return this; } + protected String optional68 = null; + public MessageBuilder optional68(String optional68) { this.optional68 = optional68; return this; } + protected String optional69 = null; + public MessageBuilder optional69(String optional69) { this.optional69 = optional69; return this; } + protected String optional70 = null; + public MessageBuilder optional70(String optional70) { this.optional70 = optional70; return this; } + protected String optional71 = null; + public MessageBuilder optional71(String optional71) { this.optional71 = optional71; return this; } + protected String optional72 = null; + public MessageBuilder optional72(String optional72) { this.optional72 = optional72; return this; } + public Message build() { + Message result = new Message(); + result.setId(id); + result.setStatus(status); + result.setTimestamp(timestamp); + result.setAmount(amount); + result.setLatitude(latitude); + result.setLongitude(longitude); + result.setPayload(payload); + result.setOptional0(optional0); + result.setOptional1(optional1); + result.setOptional2(optional2); + result.setOptional3(optional3); + result.setOptional4(optional4); + result.setOptional5(optional5); + result.setOptional6(optional6); + result.setOptional7(optional7); + result.setOptional8(optional8); + result.setOptional9(optional9); + result.setOptional10(optional10); + result.setOptional11(optional11); + result.setOptional12(optional12); + result.setOptional13(optional13); + result.setOptional14(optional14); + result.setOptional15(optional15); + result.setOptional16(optional16); + result.setOptional17(optional17); + result.setOptional18(optional18); + result.setOptional19(optional19); + result.setOptional20(optional20); + result.setOptional21(optional21); + result.setOptional22(optional22); + result.setOptional23(optional23); + result.setOptional24(optional24); + result.setOptional25(optional25); + result.setOptional26(optional26); + result.setOptional27(optional27); + result.setOptional28(optional28); + result.setOptional29(optional29); + result.setOptional30(optional30); + result.setOptional31(optional31); + result.setOptional32(optional32); + result.setOptional33(optional33); + result.setOptional34(optional34); + result.setOptional35(optional35); + result.setOptional36(optional36); + result.setOptional37(optional37); + result.setOptional38(optional38); + result.setOptional39(optional39); + result.setOptional40(optional40); + result.setOptional41(optional41); + result.setOptional42(optional42); + result.setOptional43(optional43); + result.setOptional44(optional44); + result.setOptional45(optional45); + result.setOptional46(optional46); + result.setOptional47(optional47); + result.setOptional48(optional48); + result.setOptional49(optional49); + result.setOptional50(optional50); + result.setOptional51(optional51); + result.setOptional52(optional52); + result.setOptional53(optional53); + result.setOptional54(optional54); + result.setOptional55(optional55); + result.setOptional56(optional56); + result.setOptional57(optional57); + result.setOptional58(optional58); + result.setOptional59(optional59); + result.setOptional60(optional60); + result.setOptional61(optional61); + result.setOptional62(optional62); + result.setOptional63(optional63); + result.setOptional64(optional64); + result.setOptional65(optional65); + result.setOptional66(optional66); + result.setOptional67(optional67); + result.setOptional68(optional68); + result.setOptional69(optional69); + result.setOptional70(optional70); + result.setOptional71(optional71); + result.setOptional72(optional72); + return result; + } + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/pojo/MessageCodec.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/pojo/MessageCodec.java new file mode 100644 index 00000000..208427f4 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/pojo/MessageCodec.java @@ -0,0 +1,989 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Mutable JavaBeans) + +package io.polyxml.bench.pojo; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +import javax.xml.stream.*; +import java.io.*; + +public final class MessageCodec { + private MessageCodec() {} + private static final ThreadLocal READER_FACTORY = ThreadLocal.withInitial(() -> { + XMLInputFactory factory = XMLInputFactory.newFactory(); + factory.setProperty(XMLInputFactory.SUPPORT_DTD, false); + factory.setProperty("javax.xml.stream.isSupportingExternalEntities", false); + return factory; + }); + private static final ThreadLocal WRITER_FACTORY = + ThreadLocal.withInitial(XMLOutputFactory::newFactory); + public static Message readXml(InputStream input) throws XMLStreamException { + XMLStreamReader reader = READER_FACTORY.get().createXMLStreamReader(input); + try { return readXml(reader); } finally { reader.close(); } + } + public static void writeXml(Message value, OutputStream output) throws XMLStreamException { + XMLStreamWriter writer = WRITER_FACTORY.get().createXMLStreamWriter(output, "UTF-8"); + try { writeXml(value, writer); writer.flush(); } finally { writer.close(); } + } + public static void writeXml(Message value, XMLStreamWriter writer) throws XMLStreamException { + writeXml(value, writer, "message", ""); + } + private static void start(XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + writer.writeStartElement("", local, ns); + writer.writeDefaultNamespace(ns); + } + private static void skip(XMLStreamReader reader) throws XMLStreamException { + int depth = 1; + while (depth > 0 && reader.hasNext()) { + int event = reader.next(); + if (event == XMLStreamConstants.START_ELEMENT) depth++; + else if (event == XMLStreamConstants.END_ELEMENT) depth--; + } + } + private static void writeNil(XMLStreamWriter writer) throws XMLStreamException { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + } + private static boolean nil(XMLStreamReader reader) { + String value = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "nil"); + return "true".equals(value) || "1".equals(value); + } + private static java.math.BigInteger integerValue(String value, int kind) { + value = value.trim(); + if (!value.matches("[+-]?[0-9]+")) throw new IllegalArgumentException("Invalid XML integer"); + var integer = new java.math.BigInteger(value); + int sign = integer.signum(); + if ((kind==1 && sign<=0) || (kind==2 && sign<0) || (kind==-1 && sign>=0) || (kind==-2 && sign>0)) throw new IllegalArgumentException("Integer sign constraint failed"); + return integer; + } + private static boolean booleanValue(String value) { + return switch (value.trim()) { + case "true", "1" -> true; + case "false", "0" -> false; + default -> throw new IllegalArgumentException("Invalid XML boolean: " + value); + }; + } + private static String floatingValue(String value) { + return switch (value.trim()) { case "INF" -> "Infinity"; case "-INF" -> "-Infinity"; default -> value.trim(); }; + } + private static String floatingText(Number value) { + return value.toString().replace("Infinity", "INF"); + } + public static Message readXml(XMLStreamReader reader) throws XMLStreamException { + while (reader.getEventType() != XMLStreamConstants.START_ELEMENT && reader.hasNext()) reader.next(); + if (reader.getEventType() != XMLStreamConstants.START_ELEMENT) throw new XMLStreamException("Expected start element"); + if (nil(reader)) { skip(reader); return null; } + if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type") != null) + throw new XMLStreamException("Runtime xsi:type dispatch is not supported; select a concrete codec", reader.getLocation()); + try { + + String id = null; + String status = null; + String timestamp = null; + String amount = null; + String latitude = null; + String longitude = null; + String payload = null; + String optional0 = null; + String optional1 = null; + String optional2 = null; + String optional3 = null; + String optional4 = null; + String optional5 = null; + String optional6 = null; + String optional7 = null; + String optional8 = null; + String optional9 = null; + String optional10 = null; + String optional11 = null; + String optional12 = null; + String optional13 = null; + String optional14 = null; + String optional15 = null; + String optional16 = null; + String optional17 = null; + String optional18 = null; + String optional19 = null; + String optional20 = null; + String optional21 = null; + String optional22 = null; + String optional23 = null; + String optional24 = null; + String optional25 = null; + String optional26 = null; + String optional27 = null; + String optional28 = null; + String optional29 = null; + String optional30 = null; + String optional31 = null; + String optional32 = null; + String optional33 = null; + String optional34 = null; + String optional35 = null; + String optional36 = null; + String optional37 = null; + String optional38 = null; + String optional39 = null; + String optional40 = null; + String optional41 = null; + String optional42 = null; + String optional43 = null; + String optional44 = null; + String optional45 = null; + String optional46 = null; + String optional47 = null; + String optional48 = null; + String optional49 = null; + String optional50 = null; + String optional51 = null; + String optional52 = null; + String optional53 = null; + String optional54 = null; + String optional55 = null; + String optional56 = null; + String optional57 = null; + String optional58 = null; + String optional59 = null; + String optional60 = null; + String optional61 = null; + String optional62 = null; + String optional63 = null; + String optional64 = null; + String optional65 = null; + String optional66 = null; + String optional67 = null; + String optional68 = null; + String optional69 = null; + String optional70 = null; + String optional71 = null; + String optional72 = null; + while (reader.hasNext()) { + int event = reader.next(); + if (event == XMLStreamConstants.END_ELEMENT) break; + if (event != XMLStreamConstants.START_ELEMENT) continue; + if (reader.getLocalName().equals("id") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + id = reader.getElementText(); + } + else if (reader.getLocalName().equals("status") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + status = reader.getElementText(); + } + else if (reader.getLocalName().equals("timestamp") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + timestamp = reader.getElementText(); + } + else if (reader.getLocalName().equals("amount") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + amount = reader.getElementText(); + } + else if (reader.getLocalName().equals("latitude") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + latitude = reader.getElementText(); + } + else if (reader.getLocalName().equals("longitude") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + longitude = reader.getElementText(); + } + else if (reader.getLocalName().equals("payload") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + payload = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional0") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional0 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional1") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional1 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional2") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional2 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional3") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional3 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional4") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional4 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional5") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional5 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional6") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional6 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional7") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional7 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional8") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional8 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional9") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional9 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional10") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional10 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional11") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional11 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional12") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional12 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional13") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional13 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional14") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional14 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional15") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional15 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional16") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional16 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional17") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional17 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional18") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional18 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional19") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional19 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional20") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional20 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional21") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional21 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional22") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional22 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional23") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional23 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional24") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional24 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional25") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional25 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional26") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional26 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional27") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional27 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional28") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional28 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional29") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional29 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional30") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional30 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional31") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional31 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional32") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional32 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional33") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional33 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional34") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional34 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional35") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional35 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional36") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional36 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional37") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional37 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional38") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional38 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional39") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional39 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional40") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional40 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional41") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional41 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional42") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional42 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional43") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional43 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional44") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional44 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional45") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional45 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional46") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional46 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional47") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional47 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional48") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional48 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional49") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional49 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional50") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional50 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional51") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional51 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional52") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional52 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional53") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional53 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional54") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional54 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional55") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional55 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional56") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional56 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional57") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional57 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional58") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional58 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional59") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional59 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional60") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional60 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional61") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional61 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional62") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional62 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional63") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional63 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional64") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional64 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional65") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional65 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional66") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional66 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional67") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional67 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional68") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional68 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional69") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional69 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional70") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional70 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional71") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional71 = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional72") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional72 = reader.getElementText(); + } + else skip(reader); + } + Message result = new Message(); + result.setId(id); + result.setStatus(status); + result.setTimestamp(timestamp); + result.setAmount(amount); + result.setLatitude(latitude); + result.setLongitude(longitude); + result.setPayload(payload); + result.setOptional0(optional0); + result.setOptional1(optional1); + result.setOptional2(optional2); + result.setOptional3(optional3); + result.setOptional4(optional4); + result.setOptional5(optional5); + result.setOptional6(optional6); + result.setOptional7(optional7); + result.setOptional8(optional8); + result.setOptional9(optional9); + result.setOptional10(optional10); + result.setOptional11(optional11); + result.setOptional12(optional12); + result.setOptional13(optional13); + result.setOptional14(optional14); + result.setOptional15(optional15); + result.setOptional16(optional16); + result.setOptional17(optional17); + result.setOptional18(optional18); + result.setOptional19(optional19); + result.setOptional20(optional20); + result.setOptional21(optional21); + result.setOptional22(optional22); + result.setOptional23(optional23); + result.setOptional24(optional24); + result.setOptional25(optional25); + result.setOptional26(optional26); + result.setOptional27(optional27); + result.setOptional28(optional28); + result.setOptional29(optional29); + result.setOptional30(optional30); + result.setOptional31(optional31); + result.setOptional32(optional32); + result.setOptional33(optional33); + result.setOptional34(optional34); + result.setOptional35(optional35); + result.setOptional36(optional36); + result.setOptional37(optional37); + result.setOptional38(optional38); + result.setOptional39(optional39); + result.setOptional40(optional40); + result.setOptional41(optional41); + result.setOptional42(optional42); + result.setOptional43(optional43); + result.setOptional44(optional44); + result.setOptional45(optional45); + result.setOptional46(optional46); + result.setOptional47(optional47); + result.setOptional48(optional48); + result.setOptional49(optional49); + result.setOptional50(optional50); + result.setOptional51(optional51); + result.setOptional52(optional52); + result.setOptional53(optional53); + result.setOptional54(optional54); + result.setOptional55(optional55); + result.setOptional56(optional56); + result.setOptional57(optional57); + result.setOptional58(optional58); + result.setOptional59(optional59); + result.setOptional60(optional60); + result.setOptional61(optional61); + result.setOptional62(optional62); + result.setOptional63(optional63); + result.setOptional64(optional64); + result.setOptional65(optional65); + result.setOptional66(optional66); + result.setOptional67(optional67); + result.setOptional68(optional68); + result.setOptional69(optional69); + result.setOptional70(optional70); + result.setOptional71(optional71); + result.setOptional72(optional72); + return result; + } catch (IllegalArgumentException | java.time.DateTimeException ex) { throw new XMLStreamException("Invalid XML value", reader.getLocation(), ex); } + } + public static void writeXml(Message value, XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + if (value != null && value.getClass() != Message.class) throw new XMLStreamException("Use the concrete type's codec to preserve derived fields"); + start(writer, local, ns); + if (value == null) { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + writer.writeEndElement(); return; + } + var field0 = value.getId(); + if (field0 != null) { + start(writer, "id", ""); + if (java.util.Objects.isNull(field0)) writeNil(writer); else writer.writeCharacters(String.valueOf(field0)); + writer.writeEndElement(); + } + var field1 = value.getStatus(); + if (field1 != null) { + start(writer, "status", ""); + if (java.util.Objects.isNull(field1)) writeNil(writer); else writer.writeCharacters(String.valueOf(field1)); + writer.writeEndElement(); + } + var field2 = value.getTimestamp(); + if (field2 != null) { + start(writer, "timestamp", ""); + if (java.util.Objects.isNull(field2)) writeNil(writer); else writer.writeCharacters(String.valueOf(field2)); + writer.writeEndElement(); + } + var field3 = value.getAmount(); + if (field3 != null) { + start(writer, "amount", ""); + if (java.util.Objects.isNull(field3)) writeNil(writer); else writer.writeCharacters(String.valueOf(field3)); + writer.writeEndElement(); + } + var field4 = value.getLatitude(); + if (field4 != null) { + start(writer, "latitude", ""); + if (java.util.Objects.isNull(field4)) writeNil(writer); else writer.writeCharacters(String.valueOf(field4)); + writer.writeEndElement(); + } + var field5 = value.getLongitude(); + if (field5 != null) { + start(writer, "longitude", ""); + if (java.util.Objects.isNull(field5)) writeNil(writer); else writer.writeCharacters(String.valueOf(field5)); + writer.writeEndElement(); + } + var field6 = value.getPayload(); + if (field6 != null) { + start(writer, "payload", ""); + if (java.util.Objects.isNull(field6)) writeNil(writer); else writer.writeCharacters(String.valueOf(field6)); + writer.writeEndElement(); + } + var field7 = value.getOptional0(); + if (field7 != null) { + start(writer, "optional0", ""); + if (java.util.Objects.isNull(field7)) writeNil(writer); else writer.writeCharacters(String.valueOf(field7)); + writer.writeEndElement(); + } + var field8 = value.getOptional1(); + if (field8 != null) { + start(writer, "optional1", ""); + if (java.util.Objects.isNull(field8)) writeNil(writer); else writer.writeCharacters(String.valueOf(field8)); + writer.writeEndElement(); + } + var field9 = value.getOptional2(); + if (field9 != null) { + start(writer, "optional2", ""); + if (java.util.Objects.isNull(field9)) writeNil(writer); else writer.writeCharacters(String.valueOf(field9)); + writer.writeEndElement(); + } + var field10 = value.getOptional3(); + if (field10 != null) { + start(writer, "optional3", ""); + if (java.util.Objects.isNull(field10)) writeNil(writer); else writer.writeCharacters(String.valueOf(field10)); + writer.writeEndElement(); + } + var field11 = value.getOptional4(); + if (field11 != null) { + start(writer, "optional4", ""); + if (java.util.Objects.isNull(field11)) writeNil(writer); else writer.writeCharacters(String.valueOf(field11)); + writer.writeEndElement(); + } + var field12 = value.getOptional5(); + if (field12 != null) { + start(writer, "optional5", ""); + if (java.util.Objects.isNull(field12)) writeNil(writer); else writer.writeCharacters(String.valueOf(field12)); + writer.writeEndElement(); + } + var field13 = value.getOptional6(); + if (field13 != null) { + start(writer, "optional6", ""); + if (java.util.Objects.isNull(field13)) writeNil(writer); else writer.writeCharacters(String.valueOf(field13)); + writer.writeEndElement(); + } + var field14 = value.getOptional7(); + if (field14 != null) { + start(writer, "optional7", ""); + if (java.util.Objects.isNull(field14)) writeNil(writer); else writer.writeCharacters(String.valueOf(field14)); + writer.writeEndElement(); + } + var field15 = value.getOptional8(); + if (field15 != null) { + start(writer, "optional8", ""); + if (java.util.Objects.isNull(field15)) writeNil(writer); else writer.writeCharacters(String.valueOf(field15)); + writer.writeEndElement(); + } + var field16 = value.getOptional9(); + if (field16 != null) { + start(writer, "optional9", ""); + if (java.util.Objects.isNull(field16)) writeNil(writer); else writer.writeCharacters(String.valueOf(field16)); + writer.writeEndElement(); + } + var field17 = value.getOptional10(); + if (field17 != null) { + start(writer, "optional10", ""); + if (java.util.Objects.isNull(field17)) writeNil(writer); else writer.writeCharacters(String.valueOf(field17)); + writer.writeEndElement(); + } + var field18 = value.getOptional11(); + if (field18 != null) { + start(writer, "optional11", ""); + if (java.util.Objects.isNull(field18)) writeNil(writer); else writer.writeCharacters(String.valueOf(field18)); + writer.writeEndElement(); + } + var field19 = value.getOptional12(); + if (field19 != null) { + start(writer, "optional12", ""); + if (java.util.Objects.isNull(field19)) writeNil(writer); else writer.writeCharacters(String.valueOf(field19)); + writer.writeEndElement(); + } + var field20 = value.getOptional13(); + if (field20 != null) { + start(writer, "optional13", ""); + if (java.util.Objects.isNull(field20)) writeNil(writer); else writer.writeCharacters(String.valueOf(field20)); + writer.writeEndElement(); + } + var field21 = value.getOptional14(); + if (field21 != null) { + start(writer, "optional14", ""); + if (java.util.Objects.isNull(field21)) writeNil(writer); else writer.writeCharacters(String.valueOf(field21)); + writer.writeEndElement(); + } + var field22 = value.getOptional15(); + if (field22 != null) { + start(writer, "optional15", ""); + if (java.util.Objects.isNull(field22)) writeNil(writer); else writer.writeCharacters(String.valueOf(field22)); + writer.writeEndElement(); + } + var field23 = value.getOptional16(); + if (field23 != null) { + start(writer, "optional16", ""); + if (java.util.Objects.isNull(field23)) writeNil(writer); else writer.writeCharacters(String.valueOf(field23)); + writer.writeEndElement(); + } + var field24 = value.getOptional17(); + if (field24 != null) { + start(writer, "optional17", ""); + if (java.util.Objects.isNull(field24)) writeNil(writer); else writer.writeCharacters(String.valueOf(field24)); + writer.writeEndElement(); + } + var field25 = value.getOptional18(); + if (field25 != null) { + start(writer, "optional18", ""); + if (java.util.Objects.isNull(field25)) writeNil(writer); else writer.writeCharacters(String.valueOf(field25)); + writer.writeEndElement(); + } + var field26 = value.getOptional19(); + if (field26 != null) { + start(writer, "optional19", ""); + if (java.util.Objects.isNull(field26)) writeNil(writer); else writer.writeCharacters(String.valueOf(field26)); + writer.writeEndElement(); + } + var field27 = value.getOptional20(); + if (field27 != null) { + start(writer, "optional20", ""); + if (java.util.Objects.isNull(field27)) writeNil(writer); else writer.writeCharacters(String.valueOf(field27)); + writer.writeEndElement(); + } + var field28 = value.getOptional21(); + if (field28 != null) { + start(writer, "optional21", ""); + if (java.util.Objects.isNull(field28)) writeNil(writer); else writer.writeCharacters(String.valueOf(field28)); + writer.writeEndElement(); + } + var field29 = value.getOptional22(); + if (field29 != null) { + start(writer, "optional22", ""); + if (java.util.Objects.isNull(field29)) writeNil(writer); else writer.writeCharacters(String.valueOf(field29)); + writer.writeEndElement(); + } + var field30 = value.getOptional23(); + if (field30 != null) { + start(writer, "optional23", ""); + if (java.util.Objects.isNull(field30)) writeNil(writer); else writer.writeCharacters(String.valueOf(field30)); + writer.writeEndElement(); + } + var field31 = value.getOptional24(); + if (field31 != null) { + start(writer, "optional24", ""); + if (java.util.Objects.isNull(field31)) writeNil(writer); else writer.writeCharacters(String.valueOf(field31)); + writer.writeEndElement(); + } + var field32 = value.getOptional25(); + if (field32 != null) { + start(writer, "optional25", ""); + if (java.util.Objects.isNull(field32)) writeNil(writer); else writer.writeCharacters(String.valueOf(field32)); + writer.writeEndElement(); + } + var field33 = value.getOptional26(); + if (field33 != null) { + start(writer, "optional26", ""); + if (java.util.Objects.isNull(field33)) writeNil(writer); else writer.writeCharacters(String.valueOf(field33)); + writer.writeEndElement(); + } + var field34 = value.getOptional27(); + if (field34 != null) { + start(writer, "optional27", ""); + if (java.util.Objects.isNull(field34)) writeNil(writer); else writer.writeCharacters(String.valueOf(field34)); + writer.writeEndElement(); + } + var field35 = value.getOptional28(); + if (field35 != null) { + start(writer, "optional28", ""); + if (java.util.Objects.isNull(field35)) writeNil(writer); else writer.writeCharacters(String.valueOf(field35)); + writer.writeEndElement(); + } + var field36 = value.getOptional29(); + if (field36 != null) { + start(writer, "optional29", ""); + if (java.util.Objects.isNull(field36)) writeNil(writer); else writer.writeCharacters(String.valueOf(field36)); + writer.writeEndElement(); + } + var field37 = value.getOptional30(); + if (field37 != null) { + start(writer, "optional30", ""); + if (java.util.Objects.isNull(field37)) writeNil(writer); else writer.writeCharacters(String.valueOf(field37)); + writer.writeEndElement(); + } + var field38 = value.getOptional31(); + if (field38 != null) { + start(writer, "optional31", ""); + if (java.util.Objects.isNull(field38)) writeNil(writer); else writer.writeCharacters(String.valueOf(field38)); + writer.writeEndElement(); + } + var field39 = value.getOptional32(); + if (field39 != null) { + start(writer, "optional32", ""); + if (java.util.Objects.isNull(field39)) writeNil(writer); else writer.writeCharacters(String.valueOf(field39)); + writer.writeEndElement(); + } + var field40 = value.getOptional33(); + if (field40 != null) { + start(writer, "optional33", ""); + if (java.util.Objects.isNull(field40)) writeNil(writer); else writer.writeCharacters(String.valueOf(field40)); + writer.writeEndElement(); + } + var field41 = value.getOptional34(); + if (field41 != null) { + start(writer, "optional34", ""); + if (java.util.Objects.isNull(field41)) writeNil(writer); else writer.writeCharacters(String.valueOf(field41)); + writer.writeEndElement(); + } + var field42 = value.getOptional35(); + if (field42 != null) { + start(writer, "optional35", ""); + if (java.util.Objects.isNull(field42)) writeNil(writer); else writer.writeCharacters(String.valueOf(field42)); + writer.writeEndElement(); + } + var field43 = value.getOptional36(); + if (field43 != null) { + start(writer, "optional36", ""); + if (java.util.Objects.isNull(field43)) writeNil(writer); else writer.writeCharacters(String.valueOf(field43)); + writer.writeEndElement(); + } + var field44 = value.getOptional37(); + if (field44 != null) { + start(writer, "optional37", ""); + if (java.util.Objects.isNull(field44)) writeNil(writer); else writer.writeCharacters(String.valueOf(field44)); + writer.writeEndElement(); + } + var field45 = value.getOptional38(); + if (field45 != null) { + start(writer, "optional38", ""); + if (java.util.Objects.isNull(field45)) writeNil(writer); else writer.writeCharacters(String.valueOf(field45)); + writer.writeEndElement(); + } + var field46 = value.getOptional39(); + if (field46 != null) { + start(writer, "optional39", ""); + if (java.util.Objects.isNull(field46)) writeNil(writer); else writer.writeCharacters(String.valueOf(field46)); + writer.writeEndElement(); + } + var field47 = value.getOptional40(); + if (field47 != null) { + start(writer, "optional40", ""); + if (java.util.Objects.isNull(field47)) writeNil(writer); else writer.writeCharacters(String.valueOf(field47)); + writer.writeEndElement(); + } + var field48 = value.getOptional41(); + if (field48 != null) { + start(writer, "optional41", ""); + if (java.util.Objects.isNull(field48)) writeNil(writer); else writer.writeCharacters(String.valueOf(field48)); + writer.writeEndElement(); + } + var field49 = value.getOptional42(); + if (field49 != null) { + start(writer, "optional42", ""); + if (java.util.Objects.isNull(field49)) writeNil(writer); else writer.writeCharacters(String.valueOf(field49)); + writer.writeEndElement(); + } + var field50 = value.getOptional43(); + if (field50 != null) { + start(writer, "optional43", ""); + if (java.util.Objects.isNull(field50)) writeNil(writer); else writer.writeCharacters(String.valueOf(field50)); + writer.writeEndElement(); + } + var field51 = value.getOptional44(); + if (field51 != null) { + start(writer, "optional44", ""); + if (java.util.Objects.isNull(field51)) writeNil(writer); else writer.writeCharacters(String.valueOf(field51)); + writer.writeEndElement(); + } + var field52 = value.getOptional45(); + if (field52 != null) { + start(writer, "optional45", ""); + if (java.util.Objects.isNull(field52)) writeNil(writer); else writer.writeCharacters(String.valueOf(field52)); + writer.writeEndElement(); + } + var field53 = value.getOptional46(); + if (field53 != null) { + start(writer, "optional46", ""); + if (java.util.Objects.isNull(field53)) writeNil(writer); else writer.writeCharacters(String.valueOf(field53)); + writer.writeEndElement(); + } + var field54 = value.getOptional47(); + if (field54 != null) { + start(writer, "optional47", ""); + if (java.util.Objects.isNull(field54)) writeNil(writer); else writer.writeCharacters(String.valueOf(field54)); + writer.writeEndElement(); + } + var field55 = value.getOptional48(); + if (field55 != null) { + start(writer, "optional48", ""); + if (java.util.Objects.isNull(field55)) writeNil(writer); else writer.writeCharacters(String.valueOf(field55)); + writer.writeEndElement(); + } + var field56 = value.getOptional49(); + if (field56 != null) { + start(writer, "optional49", ""); + if (java.util.Objects.isNull(field56)) writeNil(writer); else writer.writeCharacters(String.valueOf(field56)); + writer.writeEndElement(); + } + var field57 = value.getOptional50(); + if (field57 != null) { + start(writer, "optional50", ""); + if (java.util.Objects.isNull(field57)) writeNil(writer); else writer.writeCharacters(String.valueOf(field57)); + writer.writeEndElement(); + } + var field58 = value.getOptional51(); + if (field58 != null) { + start(writer, "optional51", ""); + if (java.util.Objects.isNull(field58)) writeNil(writer); else writer.writeCharacters(String.valueOf(field58)); + writer.writeEndElement(); + } + var field59 = value.getOptional52(); + if (field59 != null) { + start(writer, "optional52", ""); + if (java.util.Objects.isNull(field59)) writeNil(writer); else writer.writeCharacters(String.valueOf(field59)); + writer.writeEndElement(); + } + var field60 = value.getOptional53(); + if (field60 != null) { + start(writer, "optional53", ""); + if (java.util.Objects.isNull(field60)) writeNil(writer); else writer.writeCharacters(String.valueOf(field60)); + writer.writeEndElement(); + } + var field61 = value.getOptional54(); + if (field61 != null) { + start(writer, "optional54", ""); + if (java.util.Objects.isNull(field61)) writeNil(writer); else writer.writeCharacters(String.valueOf(field61)); + writer.writeEndElement(); + } + var field62 = value.getOptional55(); + if (field62 != null) { + start(writer, "optional55", ""); + if (java.util.Objects.isNull(field62)) writeNil(writer); else writer.writeCharacters(String.valueOf(field62)); + writer.writeEndElement(); + } + var field63 = value.getOptional56(); + if (field63 != null) { + start(writer, "optional56", ""); + if (java.util.Objects.isNull(field63)) writeNil(writer); else writer.writeCharacters(String.valueOf(field63)); + writer.writeEndElement(); + } + var field64 = value.getOptional57(); + if (field64 != null) { + start(writer, "optional57", ""); + if (java.util.Objects.isNull(field64)) writeNil(writer); else writer.writeCharacters(String.valueOf(field64)); + writer.writeEndElement(); + } + var field65 = value.getOptional58(); + if (field65 != null) { + start(writer, "optional58", ""); + if (java.util.Objects.isNull(field65)) writeNil(writer); else writer.writeCharacters(String.valueOf(field65)); + writer.writeEndElement(); + } + var field66 = value.getOptional59(); + if (field66 != null) { + start(writer, "optional59", ""); + if (java.util.Objects.isNull(field66)) writeNil(writer); else writer.writeCharacters(String.valueOf(field66)); + writer.writeEndElement(); + } + var field67 = value.getOptional60(); + if (field67 != null) { + start(writer, "optional60", ""); + if (java.util.Objects.isNull(field67)) writeNil(writer); else writer.writeCharacters(String.valueOf(field67)); + writer.writeEndElement(); + } + var field68 = value.getOptional61(); + if (field68 != null) { + start(writer, "optional61", ""); + if (java.util.Objects.isNull(field68)) writeNil(writer); else writer.writeCharacters(String.valueOf(field68)); + writer.writeEndElement(); + } + var field69 = value.getOptional62(); + if (field69 != null) { + start(writer, "optional62", ""); + if (java.util.Objects.isNull(field69)) writeNil(writer); else writer.writeCharacters(String.valueOf(field69)); + writer.writeEndElement(); + } + var field70 = value.getOptional63(); + if (field70 != null) { + start(writer, "optional63", ""); + if (java.util.Objects.isNull(field70)) writeNil(writer); else writer.writeCharacters(String.valueOf(field70)); + writer.writeEndElement(); + } + var field71 = value.getOptional64(); + if (field71 != null) { + start(writer, "optional64", ""); + if (java.util.Objects.isNull(field71)) writeNil(writer); else writer.writeCharacters(String.valueOf(field71)); + writer.writeEndElement(); + } + var field72 = value.getOptional65(); + if (field72 != null) { + start(writer, "optional65", ""); + if (java.util.Objects.isNull(field72)) writeNil(writer); else writer.writeCharacters(String.valueOf(field72)); + writer.writeEndElement(); + } + var field73 = value.getOptional66(); + if (field73 != null) { + start(writer, "optional66", ""); + if (java.util.Objects.isNull(field73)) writeNil(writer); else writer.writeCharacters(String.valueOf(field73)); + writer.writeEndElement(); + } + var field74 = value.getOptional67(); + if (field74 != null) { + start(writer, "optional67", ""); + if (java.util.Objects.isNull(field74)) writeNil(writer); else writer.writeCharacters(String.valueOf(field74)); + writer.writeEndElement(); + } + var field75 = value.getOptional68(); + if (field75 != null) { + start(writer, "optional68", ""); + if (java.util.Objects.isNull(field75)) writeNil(writer); else writer.writeCharacters(String.valueOf(field75)); + writer.writeEndElement(); + } + var field76 = value.getOptional69(); + if (field76 != null) { + start(writer, "optional69", ""); + if (java.util.Objects.isNull(field76)) writeNil(writer); else writer.writeCharacters(String.valueOf(field76)); + writer.writeEndElement(); + } + var field77 = value.getOptional70(); + if (field77 != null) { + start(writer, "optional70", ""); + if (java.util.Objects.isNull(field77)) writeNil(writer); else writer.writeCharacters(String.valueOf(field77)); + writer.writeEndElement(); + } + var field78 = value.getOptional71(); + if (field78 != null) { + start(writer, "optional71", ""); + if (java.util.Objects.isNull(field78)) writeNil(writer); else writer.writeCharacters(String.valueOf(field78)); + writer.writeEndElement(); + } + var field79 = value.getOptional72(); + if (field79 != null) { + start(writer, "optional72", ""); + if (java.util.Objects.isNull(field79)) writeNil(writer); else writer.writeCharacters(String.valueOf(field79)); + writer.writeEndElement(); + } + writer.writeEndElement(); + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/records/Message.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/records/Message.java new file mode 100644 index 00000000..ea1db708 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/records/Message.java @@ -0,0 +1,267 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Records, Jackson XML/JSON Annotations) + +package io.polyxml.bench.records; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JacksonXmlRootElement(localName = "Message") +public record Message( + @JsonProperty("id") @JacksonXmlProperty(localName = "id", isAttribute = false) String id, + @JsonProperty("status") @JacksonXmlProperty(localName = "status", isAttribute = false) String status, + @JsonProperty("timestamp") @JacksonXmlProperty(localName = "timestamp", isAttribute = false) String timestamp, + @JsonProperty("amount") @JacksonXmlProperty(localName = "amount", isAttribute = false) String amount, + @JsonProperty("latitude") @JacksonXmlProperty(localName = "latitude", isAttribute = false) String latitude, + @JsonProperty("longitude") @JacksonXmlProperty(localName = "longitude", isAttribute = false) String longitude, + @JsonProperty("payload") @JacksonXmlProperty(localName = "payload", isAttribute = false) String payload, + @JsonProperty("optional0") @JacksonXmlProperty(localName = "optional0", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional0, + @JsonProperty("optional1") @JacksonXmlProperty(localName = "optional1", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional1, + @JsonProperty("optional2") @JacksonXmlProperty(localName = "optional2", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional2, + @JsonProperty("optional3") @JacksonXmlProperty(localName = "optional3", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional3, + @JsonProperty("optional4") @JacksonXmlProperty(localName = "optional4", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional4, + @JsonProperty("optional5") @JacksonXmlProperty(localName = "optional5", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional5, + @JsonProperty("optional6") @JacksonXmlProperty(localName = "optional6", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional6, + @JsonProperty("optional7") @JacksonXmlProperty(localName = "optional7", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional7, + @JsonProperty("optional8") @JacksonXmlProperty(localName = "optional8", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional8, + @JsonProperty("optional9") @JacksonXmlProperty(localName = "optional9", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional9, + @JsonProperty("optional10") @JacksonXmlProperty(localName = "optional10", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional10, + @JsonProperty("optional11") @JacksonXmlProperty(localName = "optional11", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional11, + @JsonProperty("optional12") @JacksonXmlProperty(localName = "optional12", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional12, + @JsonProperty("optional13") @JacksonXmlProperty(localName = "optional13", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional13, + @JsonProperty("optional14") @JacksonXmlProperty(localName = "optional14", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional14, + @JsonProperty("optional15") @JacksonXmlProperty(localName = "optional15", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional15, + @JsonProperty("optional16") @JacksonXmlProperty(localName = "optional16", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional16, + @JsonProperty("optional17") @JacksonXmlProperty(localName = "optional17", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional17, + @JsonProperty("optional18") @JacksonXmlProperty(localName = "optional18", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional18, + @JsonProperty("optional19") @JacksonXmlProperty(localName = "optional19", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional19, + @JsonProperty("optional20") @JacksonXmlProperty(localName = "optional20", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional20, + @JsonProperty("optional21") @JacksonXmlProperty(localName = "optional21", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional21, + @JsonProperty("optional22") @JacksonXmlProperty(localName = "optional22", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional22, + @JsonProperty("optional23") @JacksonXmlProperty(localName = "optional23", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional23, + @JsonProperty("optional24") @JacksonXmlProperty(localName = "optional24", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional24, + @JsonProperty("optional25") @JacksonXmlProperty(localName = "optional25", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional25, + @JsonProperty("optional26") @JacksonXmlProperty(localName = "optional26", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional26, + @JsonProperty("optional27") @JacksonXmlProperty(localName = "optional27", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional27, + @JsonProperty("optional28") @JacksonXmlProperty(localName = "optional28", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional28, + @JsonProperty("optional29") @JacksonXmlProperty(localName = "optional29", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional29, + @JsonProperty("optional30") @JacksonXmlProperty(localName = "optional30", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional30, + @JsonProperty("optional31") @JacksonXmlProperty(localName = "optional31", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional31, + @JsonProperty("optional32") @JacksonXmlProperty(localName = "optional32", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional32, + @JsonProperty("optional33") @JacksonXmlProperty(localName = "optional33", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional33, + @JsonProperty("optional34") @JacksonXmlProperty(localName = "optional34", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional34, + @JsonProperty("optional35") @JacksonXmlProperty(localName = "optional35", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional35, + @JsonProperty("optional36") @JacksonXmlProperty(localName = "optional36", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional36, + @JsonProperty("optional37") @JacksonXmlProperty(localName = "optional37", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional37, + @JsonProperty("optional38") @JacksonXmlProperty(localName = "optional38", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional38, + @JsonProperty("optional39") @JacksonXmlProperty(localName = "optional39", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional39, + @JsonProperty("optional40") @JacksonXmlProperty(localName = "optional40", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional40, + @JsonProperty("optional41") @JacksonXmlProperty(localName = "optional41", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional41, + @JsonProperty("optional42") @JacksonXmlProperty(localName = "optional42", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional42, + @JsonProperty("optional43") @JacksonXmlProperty(localName = "optional43", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional43, + @JsonProperty("optional44") @JacksonXmlProperty(localName = "optional44", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional44, + @JsonProperty("optional45") @JacksonXmlProperty(localName = "optional45", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional45, + @JsonProperty("optional46") @JacksonXmlProperty(localName = "optional46", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional46, + @JsonProperty("optional47") @JacksonXmlProperty(localName = "optional47", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional47, + @JsonProperty("optional48") @JacksonXmlProperty(localName = "optional48", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional48, + @JsonProperty("optional49") @JacksonXmlProperty(localName = "optional49", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional49, + @JsonProperty("optional50") @JacksonXmlProperty(localName = "optional50", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional50, + @JsonProperty("optional51") @JacksonXmlProperty(localName = "optional51", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional51, + @JsonProperty("optional52") @JacksonXmlProperty(localName = "optional52", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional52, + @JsonProperty("optional53") @JacksonXmlProperty(localName = "optional53", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional53, + @JsonProperty("optional54") @JacksonXmlProperty(localName = "optional54", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional54, + @JsonProperty("optional55") @JacksonXmlProperty(localName = "optional55", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional55, + @JsonProperty("optional56") @JacksonXmlProperty(localName = "optional56", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional56, + @JsonProperty("optional57") @JacksonXmlProperty(localName = "optional57", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional57, + @JsonProperty("optional58") @JacksonXmlProperty(localName = "optional58", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional58, + @JsonProperty("optional59") @JacksonXmlProperty(localName = "optional59", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional59, + @JsonProperty("optional60") @JacksonXmlProperty(localName = "optional60", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional60, + @JsonProperty("optional61") @JacksonXmlProperty(localName = "optional61", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional61, + @JsonProperty("optional62") @JacksonXmlProperty(localName = "optional62", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional62, + @JsonProperty("optional63") @JacksonXmlProperty(localName = "optional63", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional63, + @JsonProperty("optional64") @JacksonXmlProperty(localName = "optional64", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional64, + @JsonProperty("optional65") @JacksonXmlProperty(localName = "optional65", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional65, + @JsonProperty("optional66") @JacksonXmlProperty(localName = "optional66", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional66, + @JsonProperty("optional67") @JacksonXmlProperty(localName = "optional67", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional67, + @JsonProperty("optional68") @JacksonXmlProperty(localName = "optional68", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional68, + @JsonProperty("optional69") @JacksonXmlProperty(localName = "optional69", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional69, + @JsonProperty("optional70") @JacksonXmlProperty(localName = "optional70", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional70, + @JsonProperty("optional71") @JacksonXmlProperty(localName = "optional71", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional71, + @JsonProperty("optional72") @JacksonXmlProperty(localName = "optional72", isAttribute = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) java.util.Optional optional72 +) { + public static MessageBuilder builder() { return new MessageBuilder(); } + public static class MessageBuilder { + protected String id = null; + public MessageBuilder id(String id) { this.id = id; return this; } + protected String status = null; + public MessageBuilder status(String status) { this.status = status; return this; } + protected String timestamp = null; + public MessageBuilder timestamp(String timestamp) { this.timestamp = timestamp; return this; } + protected String amount = null; + public MessageBuilder amount(String amount) { this.amount = amount; return this; } + protected String latitude = null; + public MessageBuilder latitude(String latitude) { this.latitude = latitude; return this; } + protected String longitude = null; + public MessageBuilder longitude(String longitude) { this.longitude = longitude; return this; } + protected String payload = null; + public MessageBuilder payload(String payload) { this.payload = payload; return this; } + protected java.util.Optional optional0 = java.util.Optional.empty(); + public MessageBuilder optional0(java.util.Optional optional0) { this.optional0 = optional0; return this; } + protected java.util.Optional optional1 = java.util.Optional.empty(); + public MessageBuilder optional1(java.util.Optional optional1) { this.optional1 = optional1; return this; } + protected java.util.Optional optional2 = java.util.Optional.empty(); + public MessageBuilder optional2(java.util.Optional optional2) { this.optional2 = optional2; return this; } + protected java.util.Optional optional3 = java.util.Optional.empty(); + public MessageBuilder optional3(java.util.Optional optional3) { this.optional3 = optional3; return this; } + protected java.util.Optional optional4 = java.util.Optional.empty(); + public MessageBuilder optional4(java.util.Optional optional4) { this.optional4 = optional4; return this; } + protected java.util.Optional optional5 = java.util.Optional.empty(); + public MessageBuilder optional5(java.util.Optional optional5) { this.optional5 = optional5; return this; } + protected java.util.Optional optional6 = java.util.Optional.empty(); + public MessageBuilder optional6(java.util.Optional optional6) { this.optional6 = optional6; return this; } + protected java.util.Optional optional7 = java.util.Optional.empty(); + public MessageBuilder optional7(java.util.Optional optional7) { this.optional7 = optional7; return this; } + protected java.util.Optional optional8 = java.util.Optional.empty(); + public MessageBuilder optional8(java.util.Optional optional8) { this.optional8 = optional8; return this; } + protected java.util.Optional optional9 = java.util.Optional.empty(); + public MessageBuilder optional9(java.util.Optional optional9) { this.optional9 = optional9; return this; } + protected java.util.Optional optional10 = java.util.Optional.empty(); + public MessageBuilder optional10(java.util.Optional optional10) { this.optional10 = optional10; return this; } + protected java.util.Optional optional11 = java.util.Optional.empty(); + public MessageBuilder optional11(java.util.Optional optional11) { this.optional11 = optional11; return this; } + protected java.util.Optional optional12 = java.util.Optional.empty(); + public MessageBuilder optional12(java.util.Optional optional12) { this.optional12 = optional12; return this; } + protected java.util.Optional optional13 = java.util.Optional.empty(); + public MessageBuilder optional13(java.util.Optional optional13) { this.optional13 = optional13; return this; } + protected java.util.Optional optional14 = java.util.Optional.empty(); + public MessageBuilder optional14(java.util.Optional optional14) { this.optional14 = optional14; return this; } + protected java.util.Optional optional15 = java.util.Optional.empty(); + public MessageBuilder optional15(java.util.Optional optional15) { this.optional15 = optional15; return this; } + protected java.util.Optional optional16 = java.util.Optional.empty(); + public MessageBuilder optional16(java.util.Optional optional16) { this.optional16 = optional16; return this; } + protected java.util.Optional optional17 = java.util.Optional.empty(); + public MessageBuilder optional17(java.util.Optional optional17) { this.optional17 = optional17; return this; } + protected java.util.Optional optional18 = java.util.Optional.empty(); + public MessageBuilder optional18(java.util.Optional optional18) { this.optional18 = optional18; return this; } + protected java.util.Optional optional19 = java.util.Optional.empty(); + public MessageBuilder optional19(java.util.Optional optional19) { this.optional19 = optional19; return this; } + protected java.util.Optional optional20 = java.util.Optional.empty(); + public MessageBuilder optional20(java.util.Optional optional20) { this.optional20 = optional20; return this; } + protected java.util.Optional optional21 = java.util.Optional.empty(); + public MessageBuilder optional21(java.util.Optional optional21) { this.optional21 = optional21; return this; } + protected java.util.Optional optional22 = java.util.Optional.empty(); + public MessageBuilder optional22(java.util.Optional optional22) { this.optional22 = optional22; return this; } + protected java.util.Optional optional23 = java.util.Optional.empty(); + public MessageBuilder optional23(java.util.Optional optional23) { this.optional23 = optional23; return this; } + protected java.util.Optional optional24 = java.util.Optional.empty(); + public MessageBuilder optional24(java.util.Optional optional24) { this.optional24 = optional24; return this; } + protected java.util.Optional optional25 = java.util.Optional.empty(); + public MessageBuilder optional25(java.util.Optional optional25) { this.optional25 = optional25; return this; } + protected java.util.Optional optional26 = java.util.Optional.empty(); + public MessageBuilder optional26(java.util.Optional optional26) { this.optional26 = optional26; return this; } + protected java.util.Optional optional27 = java.util.Optional.empty(); + public MessageBuilder optional27(java.util.Optional optional27) { this.optional27 = optional27; return this; } + protected java.util.Optional optional28 = java.util.Optional.empty(); + public MessageBuilder optional28(java.util.Optional optional28) { this.optional28 = optional28; return this; } + protected java.util.Optional optional29 = java.util.Optional.empty(); + public MessageBuilder optional29(java.util.Optional optional29) { this.optional29 = optional29; return this; } + protected java.util.Optional optional30 = java.util.Optional.empty(); + public MessageBuilder optional30(java.util.Optional optional30) { this.optional30 = optional30; return this; } + protected java.util.Optional optional31 = java.util.Optional.empty(); + public MessageBuilder optional31(java.util.Optional optional31) { this.optional31 = optional31; return this; } + protected java.util.Optional optional32 = java.util.Optional.empty(); + public MessageBuilder optional32(java.util.Optional optional32) { this.optional32 = optional32; return this; } + protected java.util.Optional optional33 = java.util.Optional.empty(); + public MessageBuilder optional33(java.util.Optional optional33) { this.optional33 = optional33; return this; } + protected java.util.Optional optional34 = java.util.Optional.empty(); + public MessageBuilder optional34(java.util.Optional optional34) { this.optional34 = optional34; return this; } + protected java.util.Optional optional35 = java.util.Optional.empty(); + public MessageBuilder optional35(java.util.Optional optional35) { this.optional35 = optional35; return this; } + protected java.util.Optional optional36 = java.util.Optional.empty(); + public MessageBuilder optional36(java.util.Optional optional36) { this.optional36 = optional36; return this; } + protected java.util.Optional optional37 = java.util.Optional.empty(); + public MessageBuilder optional37(java.util.Optional optional37) { this.optional37 = optional37; return this; } + protected java.util.Optional optional38 = java.util.Optional.empty(); + public MessageBuilder optional38(java.util.Optional optional38) { this.optional38 = optional38; return this; } + protected java.util.Optional optional39 = java.util.Optional.empty(); + public MessageBuilder optional39(java.util.Optional optional39) { this.optional39 = optional39; return this; } + protected java.util.Optional optional40 = java.util.Optional.empty(); + public MessageBuilder optional40(java.util.Optional optional40) { this.optional40 = optional40; return this; } + protected java.util.Optional optional41 = java.util.Optional.empty(); + public MessageBuilder optional41(java.util.Optional optional41) { this.optional41 = optional41; return this; } + protected java.util.Optional optional42 = java.util.Optional.empty(); + public MessageBuilder optional42(java.util.Optional optional42) { this.optional42 = optional42; return this; } + protected java.util.Optional optional43 = java.util.Optional.empty(); + public MessageBuilder optional43(java.util.Optional optional43) { this.optional43 = optional43; return this; } + protected java.util.Optional optional44 = java.util.Optional.empty(); + public MessageBuilder optional44(java.util.Optional optional44) { this.optional44 = optional44; return this; } + protected java.util.Optional optional45 = java.util.Optional.empty(); + public MessageBuilder optional45(java.util.Optional optional45) { this.optional45 = optional45; return this; } + protected java.util.Optional optional46 = java.util.Optional.empty(); + public MessageBuilder optional46(java.util.Optional optional46) { this.optional46 = optional46; return this; } + protected java.util.Optional optional47 = java.util.Optional.empty(); + public MessageBuilder optional47(java.util.Optional optional47) { this.optional47 = optional47; return this; } + protected java.util.Optional optional48 = java.util.Optional.empty(); + public MessageBuilder optional48(java.util.Optional optional48) { this.optional48 = optional48; return this; } + protected java.util.Optional optional49 = java.util.Optional.empty(); + public MessageBuilder optional49(java.util.Optional optional49) { this.optional49 = optional49; return this; } + protected java.util.Optional optional50 = java.util.Optional.empty(); + public MessageBuilder optional50(java.util.Optional optional50) { this.optional50 = optional50; return this; } + protected java.util.Optional optional51 = java.util.Optional.empty(); + public MessageBuilder optional51(java.util.Optional optional51) { this.optional51 = optional51; return this; } + protected java.util.Optional optional52 = java.util.Optional.empty(); + public MessageBuilder optional52(java.util.Optional optional52) { this.optional52 = optional52; return this; } + protected java.util.Optional optional53 = java.util.Optional.empty(); + public MessageBuilder optional53(java.util.Optional optional53) { this.optional53 = optional53; return this; } + protected java.util.Optional optional54 = java.util.Optional.empty(); + public MessageBuilder optional54(java.util.Optional optional54) { this.optional54 = optional54; return this; } + protected java.util.Optional optional55 = java.util.Optional.empty(); + public MessageBuilder optional55(java.util.Optional optional55) { this.optional55 = optional55; return this; } + protected java.util.Optional optional56 = java.util.Optional.empty(); + public MessageBuilder optional56(java.util.Optional optional56) { this.optional56 = optional56; return this; } + protected java.util.Optional optional57 = java.util.Optional.empty(); + public MessageBuilder optional57(java.util.Optional optional57) { this.optional57 = optional57; return this; } + protected java.util.Optional optional58 = java.util.Optional.empty(); + public MessageBuilder optional58(java.util.Optional optional58) { this.optional58 = optional58; return this; } + protected java.util.Optional optional59 = java.util.Optional.empty(); + public MessageBuilder optional59(java.util.Optional optional59) { this.optional59 = optional59; return this; } + protected java.util.Optional optional60 = java.util.Optional.empty(); + public MessageBuilder optional60(java.util.Optional optional60) { this.optional60 = optional60; return this; } + protected java.util.Optional optional61 = java.util.Optional.empty(); + public MessageBuilder optional61(java.util.Optional optional61) { this.optional61 = optional61; return this; } + protected java.util.Optional optional62 = java.util.Optional.empty(); + public MessageBuilder optional62(java.util.Optional optional62) { this.optional62 = optional62; return this; } + protected java.util.Optional optional63 = java.util.Optional.empty(); + public MessageBuilder optional63(java.util.Optional optional63) { this.optional63 = optional63; return this; } + protected java.util.Optional optional64 = java.util.Optional.empty(); + public MessageBuilder optional64(java.util.Optional optional64) { this.optional64 = optional64; return this; } + protected java.util.Optional optional65 = java.util.Optional.empty(); + public MessageBuilder optional65(java.util.Optional optional65) { this.optional65 = optional65; return this; } + protected java.util.Optional optional66 = java.util.Optional.empty(); + public MessageBuilder optional66(java.util.Optional optional66) { this.optional66 = optional66; return this; } + protected java.util.Optional optional67 = java.util.Optional.empty(); + public MessageBuilder optional67(java.util.Optional optional67) { this.optional67 = optional67; return this; } + protected java.util.Optional optional68 = java.util.Optional.empty(); + public MessageBuilder optional68(java.util.Optional optional68) { this.optional68 = optional68; return this; } + protected java.util.Optional optional69 = java.util.Optional.empty(); + public MessageBuilder optional69(java.util.Optional optional69) { this.optional69 = optional69; return this; } + protected java.util.Optional optional70 = java.util.Optional.empty(); + public MessageBuilder optional70(java.util.Optional optional70) { this.optional70 = optional70; return this; } + protected java.util.Optional optional71 = java.util.Optional.empty(); + public MessageBuilder optional71(java.util.Optional optional71) { this.optional71 = optional71; return this; } + protected java.util.Optional optional72 = java.util.Optional.empty(); + public MessageBuilder optional72(java.util.Optional optional72) { this.optional72 = optional72; return this; } + public Message build() { + return new Message(id, status, timestamp, amount, latitude, longitude, payload, optional0, optional1, optional2, optional3, optional4, optional5, optional6, optional7, optional8, optional9, optional10, optional11, optional12, optional13, optional14, optional15, optional16, optional17, optional18, optional19, optional20, optional21, optional22, optional23, optional24, optional25, optional26, optional27, optional28, optional29, optional30, optional31, optional32, optional33, optional34, optional35, optional36, optional37, optional38, optional39, optional40, optional41, optional42, optional43, optional44, optional45, optional46, optional47, optional48, optional49, optional50, optional51, optional52, optional53, optional54, optional55, optional56, optional57, optional58, optional59, optional60, optional61, optional62, optional63, optional64, optional65, optional66, optional67, optional68, optional69, optional70, optional71, optional72); + } + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/records/MessageCodec.java b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/records/MessageCodec.java new file mode 100644 index 00000000..de30d0a5 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-generated/polyxml/records/MessageCodec.java @@ -0,0 +1,907 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +// Target: Java 22+ (Records, Jackson XML/JSON Annotations) + +package io.polyxml.bench.records; + +import javax.xml.stream.*; +import java.io.*; +import java.util.*; +import java.time.*; +import java.math.*; +import java.util.regex.Pattern; + +import com.fasterxml.jackson.annotation.*; +import com.fasterxml.jackson.dataformat.xml.annotation.*; + +import javax.xml.stream.*; +import java.io.*; + +public final class MessageCodec { + private MessageCodec() {} + private static final ThreadLocal READER_FACTORY = ThreadLocal.withInitial(() -> { + XMLInputFactory factory = XMLInputFactory.newFactory(); + factory.setProperty(XMLInputFactory.SUPPORT_DTD, false); + factory.setProperty("javax.xml.stream.isSupportingExternalEntities", false); + return factory; + }); + private static final ThreadLocal WRITER_FACTORY = + ThreadLocal.withInitial(XMLOutputFactory::newFactory); + public static Message readXml(InputStream input) throws XMLStreamException { + XMLStreamReader reader = READER_FACTORY.get().createXMLStreamReader(input); + try { return readXml(reader); } finally { reader.close(); } + } + public static void writeXml(Message value, OutputStream output) throws XMLStreamException { + XMLStreamWriter writer = WRITER_FACTORY.get().createXMLStreamWriter(output, "UTF-8"); + try { writeXml(value, writer); writer.flush(); } finally { writer.close(); } + } + public static void writeXml(Message value, XMLStreamWriter writer) throws XMLStreamException { + writeXml(value, writer, "message", ""); + } + private static void start(XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + writer.writeStartElement("", local, ns); + writer.writeDefaultNamespace(ns); + } + private static void skip(XMLStreamReader reader) throws XMLStreamException { + int depth = 1; + while (depth > 0 && reader.hasNext()) { + int event = reader.next(); + if (event == XMLStreamConstants.START_ELEMENT) depth++; + else if (event == XMLStreamConstants.END_ELEMENT) depth--; + } + } + private static void writeNil(XMLStreamWriter writer) throws XMLStreamException { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + } + private static boolean nil(XMLStreamReader reader) { + String value = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "nil"); + return "true".equals(value) || "1".equals(value); + } + private static java.math.BigInteger integerValue(String value, int kind) { + value = value.trim(); + if (!value.matches("[+-]?[0-9]+")) throw new IllegalArgumentException("Invalid XML integer"); + var integer = new java.math.BigInteger(value); + int sign = integer.signum(); + if ((kind==1 && sign<=0) || (kind==2 && sign<0) || (kind==-1 && sign>=0) || (kind==-2 && sign>0)) throw new IllegalArgumentException("Integer sign constraint failed"); + return integer; + } + private static boolean booleanValue(String value) { + return switch (value.trim()) { + case "true", "1" -> true; + case "false", "0" -> false; + default -> throw new IllegalArgumentException("Invalid XML boolean: " + value); + }; + } + private static String floatingValue(String value) { + return switch (value.trim()) { case "INF" -> "Infinity"; case "-INF" -> "-Infinity"; default -> value.trim(); }; + } + private static String floatingText(Number value) { + return value.toString().replace("Infinity", "INF"); + } + public static Message readXml(XMLStreamReader reader) throws XMLStreamException { + while (reader.getEventType() != XMLStreamConstants.START_ELEMENT && reader.hasNext()) reader.next(); + if (reader.getEventType() != XMLStreamConstants.START_ELEMENT) throw new XMLStreamException("Expected start element"); + if (nil(reader)) { skip(reader); return null; } + if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type") != null) + throw new XMLStreamException("Runtime xsi:type dispatch is not supported; select a concrete codec", reader.getLocation()); + try { + + String id = null; + String status = null; + String timestamp = null; + String amount = null; + String latitude = null; + String longitude = null; + String payload = null; + java.util.Optional optional0 = java.util.Optional.empty(); + java.util.Optional optional1 = java.util.Optional.empty(); + java.util.Optional optional2 = java.util.Optional.empty(); + java.util.Optional optional3 = java.util.Optional.empty(); + java.util.Optional optional4 = java.util.Optional.empty(); + java.util.Optional optional5 = java.util.Optional.empty(); + java.util.Optional optional6 = java.util.Optional.empty(); + java.util.Optional optional7 = java.util.Optional.empty(); + java.util.Optional optional8 = java.util.Optional.empty(); + java.util.Optional optional9 = java.util.Optional.empty(); + java.util.Optional optional10 = java.util.Optional.empty(); + java.util.Optional optional11 = java.util.Optional.empty(); + java.util.Optional optional12 = java.util.Optional.empty(); + java.util.Optional optional13 = java.util.Optional.empty(); + java.util.Optional optional14 = java.util.Optional.empty(); + java.util.Optional optional15 = java.util.Optional.empty(); + java.util.Optional optional16 = java.util.Optional.empty(); + java.util.Optional optional17 = java.util.Optional.empty(); + java.util.Optional optional18 = java.util.Optional.empty(); + java.util.Optional optional19 = java.util.Optional.empty(); + java.util.Optional optional20 = java.util.Optional.empty(); + java.util.Optional optional21 = java.util.Optional.empty(); + java.util.Optional optional22 = java.util.Optional.empty(); + java.util.Optional optional23 = java.util.Optional.empty(); + java.util.Optional optional24 = java.util.Optional.empty(); + java.util.Optional optional25 = java.util.Optional.empty(); + java.util.Optional optional26 = java.util.Optional.empty(); + java.util.Optional optional27 = java.util.Optional.empty(); + java.util.Optional optional28 = java.util.Optional.empty(); + java.util.Optional optional29 = java.util.Optional.empty(); + java.util.Optional optional30 = java.util.Optional.empty(); + java.util.Optional optional31 = java.util.Optional.empty(); + java.util.Optional optional32 = java.util.Optional.empty(); + java.util.Optional optional33 = java.util.Optional.empty(); + java.util.Optional optional34 = java.util.Optional.empty(); + java.util.Optional optional35 = java.util.Optional.empty(); + java.util.Optional optional36 = java.util.Optional.empty(); + java.util.Optional optional37 = java.util.Optional.empty(); + java.util.Optional optional38 = java.util.Optional.empty(); + java.util.Optional optional39 = java.util.Optional.empty(); + java.util.Optional optional40 = java.util.Optional.empty(); + java.util.Optional optional41 = java.util.Optional.empty(); + java.util.Optional optional42 = java.util.Optional.empty(); + java.util.Optional optional43 = java.util.Optional.empty(); + java.util.Optional optional44 = java.util.Optional.empty(); + java.util.Optional optional45 = java.util.Optional.empty(); + java.util.Optional optional46 = java.util.Optional.empty(); + java.util.Optional optional47 = java.util.Optional.empty(); + java.util.Optional optional48 = java.util.Optional.empty(); + java.util.Optional optional49 = java.util.Optional.empty(); + java.util.Optional optional50 = java.util.Optional.empty(); + java.util.Optional optional51 = java.util.Optional.empty(); + java.util.Optional optional52 = java.util.Optional.empty(); + java.util.Optional optional53 = java.util.Optional.empty(); + java.util.Optional optional54 = java.util.Optional.empty(); + java.util.Optional optional55 = java.util.Optional.empty(); + java.util.Optional optional56 = java.util.Optional.empty(); + java.util.Optional optional57 = java.util.Optional.empty(); + java.util.Optional optional58 = java.util.Optional.empty(); + java.util.Optional optional59 = java.util.Optional.empty(); + java.util.Optional optional60 = java.util.Optional.empty(); + java.util.Optional optional61 = java.util.Optional.empty(); + java.util.Optional optional62 = java.util.Optional.empty(); + java.util.Optional optional63 = java.util.Optional.empty(); + java.util.Optional optional64 = java.util.Optional.empty(); + java.util.Optional optional65 = java.util.Optional.empty(); + java.util.Optional optional66 = java.util.Optional.empty(); + java.util.Optional optional67 = java.util.Optional.empty(); + java.util.Optional optional68 = java.util.Optional.empty(); + java.util.Optional optional69 = java.util.Optional.empty(); + java.util.Optional optional70 = java.util.Optional.empty(); + java.util.Optional optional71 = java.util.Optional.empty(); + java.util.Optional optional72 = java.util.Optional.empty(); + while (reader.hasNext()) { + int event = reader.next(); + if (event == XMLStreamConstants.END_ELEMENT) break; + if (event != XMLStreamConstants.START_ELEMENT) continue; + if (reader.getLocalName().equals("id") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + id = reader.getElementText(); + } + else if (reader.getLocalName().equals("status") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + status = reader.getElementText(); + } + else if (reader.getLocalName().equals("timestamp") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + timestamp = reader.getElementText(); + } + else if (reader.getLocalName().equals("amount") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + amount = reader.getElementText(); + } + else if (reader.getLocalName().equals("latitude") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + latitude = reader.getElementText(); + } + else if (reader.getLocalName().equals("longitude") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + longitude = reader.getElementText(); + } + else if (reader.getLocalName().equals("payload") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + payload = reader.getElementText(); + } + else if (reader.getLocalName().equals("optional0") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional0 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional1") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional1 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional2") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional2 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional3") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional3 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional4") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional4 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional5") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional5 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional6") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional6 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional7") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional7 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional8") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional8 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional9") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional9 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional10") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional10 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional11") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional11 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional12") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional12 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional13") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional13 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional14") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional14 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional15") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional15 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional16") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional16 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional17") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional17 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional18") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional18 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional19") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional19 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional20") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional20 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional21") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional21 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional22") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional22 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional23") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional23 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional24") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional24 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional25") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional25 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional26") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional26 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional27") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional27 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional28") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional28 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional29") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional29 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional30") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional30 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional31") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional31 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional32") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional32 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional33") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional33 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional34") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional34 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional35") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional35 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional36") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional36 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional37") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional37 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional38") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional38 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional39") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional39 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional40") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional40 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional41") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional41 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional42") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional42 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional43") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional43 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional44") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional44 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional45") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional45 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional46") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional46 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional47") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional47 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional48") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional48 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional49") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional49 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional50") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional50 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional51") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional51 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional52") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional52 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional53") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional53 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional54") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional54 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional55") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional55 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional56") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional56 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional57") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional57 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional58") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional58 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional59") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional59 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional60") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional60 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional61") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional61 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional62") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional62 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional63") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional63 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional64") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional64 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional65") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional65 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional66") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional66 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional67") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional67 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional68") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional68 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional69") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional69 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional70") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional70 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional71") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional71 = java.util.Optional.ofNullable(reader.getElementText()); + } + else if (reader.getLocalName().equals("optional72") && java.util.Objects.equals(reader.getNamespaceURI() == null ? "" : reader.getNamespaceURI(), "")) { + optional72 = java.util.Optional.ofNullable(reader.getElementText()); + } + else skip(reader); + } + return new Message(id, status, timestamp, amount, latitude, longitude, payload, optional0, optional1, optional2, optional3, optional4, optional5, optional6, optional7, optional8, optional9, optional10, optional11, optional12, optional13, optional14, optional15, optional16, optional17, optional18, optional19, optional20, optional21, optional22, optional23, optional24, optional25, optional26, optional27, optional28, optional29, optional30, optional31, optional32, optional33, optional34, optional35, optional36, optional37, optional38, optional39, optional40, optional41, optional42, optional43, optional44, optional45, optional46, optional47, optional48, optional49, optional50, optional51, optional52, optional53, optional54, optional55, optional56, optional57, optional58, optional59, optional60, optional61, optional62, optional63, optional64, optional65, optional66, optional67, optional68, optional69, optional70, optional71, optional72); + } catch (IllegalArgumentException | java.time.DateTimeException ex) { throw new XMLStreamException("Invalid XML value", reader.getLocation(), ex); } + } + public static void writeXml(Message value, XMLStreamWriter writer, String local, String ns) throws XMLStreamException { + start(writer, local, ns); + if (value == null) { + writer.writeNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + writer.writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "true"); + writer.writeEndElement(); return; + } + var field0 = value.id(); + if (field0 != null) { + start(writer, "id", ""); + if (java.util.Objects.isNull(field0)) writeNil(writer); else writer.writeCharacters(String.valueOf(field0)); + writer.writeEndElement(); + } + var field1 = value.status(); + if (field1 != null) { + start(writer, "status", ""); + if (java.util.Objects.isNull(field1)) writeNil(writer); else writer.writeCharacters(String.valueOf(field1)); + writer.writeEndElement(); + } + var field2 = value.timestamp(); + if (field2 != null) { + start(writer, "timestamp", ""); + if (java.util.Objects.isNull(field2)) writeNil(writer); else writer.writeCharacters(String.valueOf(field2)); + writer.writeEndElement(); + } + var field3 = value.amount(); + if (field3 != null) { + start(writer, "amount", ""); + if (java.util.Objects.isNull(field3)) writeNil(writer); else writer.writeCharacters(String.valueOf(field3)); + writer.writeEndElement(); + } + var field4 = value.latitude(); + if (field4 != null) { + start(writer, "latitude", ""); + if (java.util.Objects.isNull(field4)) writeNil(writer); else writer.writeCharacters(String.valueOf(field4)); + writer.writeEndElement(); + } + var field5 = value.longitude(); + if (field5 != null) { + start(writer, "longitude", ""); + if (java.util.Objects.isNull(field5)) writeNil(writer); else writer.writeCharacters(String.valueOf(field5)); + writer.writeEndElement(); + } + var field6 = value.payload(); + if (field6 != null) { + start(writer, "payload", ""); + if (java.util.Objects.isNull(field6)) writeNil(writer); else writer.writeCharacters(String.valueOf(field6)); + writer.writeEndElement(); + } + var field7 = value.optional0().orElse(null); + if (field7 != null) { + start(writer, "optional0", ""); + if (java.util.Objects.isNull(field7)) writeNil(writer); else writer.writeCharacters(String.valueOf(field7)); + writer.writeEndElement(); + } + var field8 = value.optional1().orElse(null); + if (field8 != null) { + start(writer, "optional1", ""); + if (java.util.Objects.isNull(field8)) writeNil(writer); else writer.writeCharacters(String.valueOf(field8)); + writer.writeEndElement(); + } + var field9 = value.optional2().orElse(null); + if (field9 != null) { + start(writer, "optional2", ""); + if (java.util.Objects.isNull(field9)) writeNil(writer); else writer.writeCharacters(String.valueOf(field9)); + writer.writeEndElement(); + } + var field10 = value.optional3().orElse(null); + if (field10 != null) { + start(writer, "optional3", ""); + if (java.util.Objects.isNull(field10)) writeNil(writer); else writer.writeCharacters(String.valueOf(field10)); + writer.writeEndElement(); + } + var field11 = value.optional4().orElse(null); + if (field11 != null) { + start(writer, "optional4", ""); + if (java.util.Objects.isNull(field11)) writeNil(writer); else writer.writeCharacters(String.valueOf(field11)); + writer.writeEndElement(); + } + var field12 = value.optional5().orElse(null); + if (field12 != null) { + start(writer, "optional5", ""); + if (java.util.Objects.isNull(field12)) writeNil(writer); else writer.writeCharacters(String.valueOf(field12)); + writer.writeEndElement(); + } + var field13 = value.optional6().orElse(null); + if (field13 != null) { + start(writer, "optional6", ""); + if (java.util.Objects.isNull(field13)) writeNil(writer); else writer.writeCharacters(String.valueOf(field13)); + writer.writeEndElement(); + } + var field14 = value.optional7().orElse(null); + if (field14 != null) { + start(writer, "optional7", ""); + if (java.util.Objects.isNull(field14)) writeNil(writer); else writer.writeCharacters(String.valueOf(field14)); + writer.writeEndElement(); + } + var field15 = value.optional8().orElse(null); + if (field15 != null) { + start(writer, "optional8", ""); + if (java.util.Objects.isNull(field15)) writeNil(writer); else writer.writeCharacters(String.valueOf(field15)); + writer.writeEndElement(); + } + var field16 = value.optional9().orElse(null); + if (field16 != null) { + start(writer, "optional9", ""); + if (java.util.Objects.isNull(field16)) writeNil(writer); else writer.writeCharacters(String.valueOf(field16)); + writer.writeEndElement(); + } + var field17 = value.optional10().orElse(null); + if (field17 != null) { + start(writer, "optional10", ""); + if (java.util.Objects.isNull(field17)) writeNil(writer); else writer.writeCharacters(String.valueOf(field17)); + writer.writeEndElement(); + } + var field18 = value.optional11().orElse(null); + if (field18 != null) { + start(writer, "optional11", ""); + if (java.util.Objects.isNull(field18)) writeNil(writer); else writer.writeCharacters(String.valueOf(field18)); + writer.writeEndElement(); + } + var field19 = value.optional12().orElse(null); + if (field19 != null) { + start(writer, "optional12", ""); + if (java.util.Objects.isNull(field19)) writeNil(writer); else writer.writeCharacters(String.valueOf(field19)); + writer.writeEndElement(); + } + var field20 = value.optional13().orElse(null); + if (field20 != null) { + start(writer, "optional13", ""); + if (java.util.Objects.isNull(field20)) writeNil(writer); else writer.writeCharacters(String.valueOf(field20)); + writer.writeEndElement(); + } + var field21 = value.optional14().orElse(null); + if (field21 != null) { + start(writer, "optional14", ""); + if (java.util.Objects.isNull(field21)) writeNil(writer); else writer.writeCharacters(String.valueOf(field21)); + writer.writeEndElement(); + } + var field22 = value.optional15().orElse(null); + if (field22 != null) { + start(writer, "optional15", ""); + if (java.util.Objects.isNull(field22)) writeNil(writer); else writer.writeCharacters(String.valueOf(field22)); + writer.writeEndElement(); + } + var field23 = value.optional16().orElse(null); + if (field23 != null) { + start(writer, "optional16", ""); + if (java.util.Objects.isNull(field23)) writeNil(writer); else writer.writeCharacters(String.valueOf(field23)); + writer.writeEndElement(); + } + var field24 = value.optional17().orElse(null); + if (field24 != null) { + start(writer, "optional17", ""); + if (java.util.Objects.isNull(field24)) writeNil(writer); else writer.writeCharacters(String.valueOf(field24)); + writer.writeEndElement(); + } + var field25 = value.optional18().orElse(null); + if (field25 != null) { + start(writer, "optional18", ""); + if (java.util.Objects.isNull(field25)) writeNil(writer); else writer.writeCharacters(String.valueOf(field25)); + writer.writeEndElement(); + } + var field26 = value.optional19().orElse(null); + if (field26 != null) { + start(writer, "optional19", ""); + if (java.util.Objects.isNull(field26)) writeNil(writer); else writer.writeCharacters(String.valueOf(field26)); + writer.writeEndElement(); + } + var field27 = value.optional20().orElse(null); + if (field27 != null) { + start(writer, "optional20", ""); + if (java.util.Objects.isNull(field27)) writeNil(writer); else writer.writeCharacters(String.valueOf(field27)); + writer.writeEndElement(); + } + var field28 = value.optional21().orElse(null); + if (field28 != null) { + start(writer, "optional21", ""); + if (java.util.Objects.isNull(field28)) writeNil(writer); else writer.writeCharacters(String.valueOf(field28)); + writer.writeEndElement(); + } + var field29 = value.optional22().orElse(null); + if (field29 != null) { + start(writer, "optional22", ""); + if (java.util.Objects.isNull(field29)) writeNil(writer); else writer.writeCharacters(String.valueOf(field29)); + writer.writeEndElement(); + } + var field30 = value.optional23().orElse(null); + if (field30 != null) { + start(writer, "optional23", ""); + if (java.util.Objects.isNull(field30)) writeNil(writer); else writer.writeCharacters(String.valueOf(field30)); + writer.writeEndElement(); + } + var field31 = value.optional24().orElse(null); + if (field31 != null) { + start(writer, "optional24", ""); + if (java.util.Objects.isNull(field31)) writeNil(writer); else writer.writeCharacters(String.valueOf(field31)); + writer.writeEndElement(); + } + var field32 = value.optional25().orElse(null); + if (field32 != null) { + start(writer, "optional25", ""); + if (java.util.Objects.isNull(field32)) writeNil(writer); else writer.writeCharacters(String.valueOf(field32)); + writer.writeEndElement(); + } + var field33 = value.optional26().orElse(null); + if (field33 != null) { + start(writer, "optional26", ""); + if (java.util.Objects.isNull(field33)) writeNil(writer); else writer.writeCharacters(String.valueOf(field33)); + writer.writeEndElement(); + } + var field34 = value.optional27().orElse(null); + if (field34 != null) { + start(writer, "optional27", ""); + if (java.util.Objects.isNull(field34)) writeNil(writer); else writer.writeCharacters(String.valueOf(field34)); + writer.writeEndElement(); + } + var field35 = value.optional28().orElse(null); + if (field35 != null) { + start(writer, "optional28", ""); + if (java.util.Objects.isNull(field35)) writeNil(writer); else writer.writeCharacters(String.valueOf(field35)); + writer.writeEndElement(); + } + var field36 = value.optional29().orElse(null); + if (field36 != null) { + start(writer, "optional29", ""); + if (java.util.Objects.isNull(field36)) writeNil(writer); else writer.writeCharacters(String.valueOf(field36)); + writer.writeEndElement(); + } + var field37 = value.optional30().orElse(null); + if (field37 != null) { + start(writer, "optional30", ""); + if (java.util.Objects.isNull(field37)) writeNil(writer); else writer.writeCharacters(String.valueOf(field37)); + writer.writeEndElement(); + } + var field38 = value.optional31().orElse(null); + if (field38 != null) { + start(writer, "optional31", ""); + if (java.util.Objects.isNull(field38)) writeNil(writer); else writer.writeCharacters(String.valueOf(field38)); + writer.writeEndElement(); + } + var field39 = value.optional32().orElse(null); + if (field39 != null) { + start(writer, "optional32", ""); + if (java.util.Objects.isNull(field39)) writeNil(writer); else writer.writeCharacters(String.valueOf(field39)); + writer.writeEndElement(); + } + var field40 = value.optional33().orElse(null); + if (field40 != null) { + start(writer, "optional33", ""); + if (java.util.Objects.isNull(field40)) writeNil(writer); else writer.writeCharacters(String.valueOf(field40)); + writer.writeEndElement(); + } + var field41 = value.optional34().orElse(null); + if (field41 != null) { + start(writer, "optional34", ""); + if (java.util.Objects.isNull(field41)) writeNil(writer); else writer.writeCharacters(String.valueOf(field41)); + writer.writeEndElement(); + } + var field42 = value.optional35().orElse(null); + if (field42 != null) { + start(writer, "optional35", ""); + if (java.util.Objects.isNull(field42)) writeNil(writer); else writer.writeCharacters(String.valueOf(field42)); + writer.writeEndElement(); + } + var field43 = value.optional36().orElse(null); + if (field43 != null) { + start(writer, "optional36", ""); + if (java.util.Objects.isNull(field43)) writeNil(writer); else writer.writeCharacters(String.valueOf(field43)); + writer.writeEndElement(); + } + var field44 = value.optional37().orElse(null); + if (field44 != null) { + start(writer, "optional37", ""); + if (java.util.Objects.isNull(field44)) writeNil(writer); else writer.writeCharacters(String.valueOf(field44)); + writer.writeEndElement(); + } + var field45 = value.optional38().orElse(null); + if (field45 != null) { + start(writer, "optional38", ""); + if (java.util.Objects.isNull(field45)) writeNil(writer); else writer.writeCharacters(String.valueOf(field45)); + writer.writeEndElement(); + } + var field46 = value.optional39().orElse(null); + if (field46 != null) { + start(writer, "optional39", ""); + if (java.util.Objects.isNull(field46)) writeNil(writer); else writer.writeCharacters(String.valueOf(field46)); + writer.writeEndElement(); + } + var field47 = value.optional40().orElse(null); + if (field47 != null) { + start(writer, "optional40", ""); + if (java.util.Objects.isNull(field47)) writeNil(writer); else writer.writeCharacters(String.valueOf(field47)); + writer.writeEndElement(); + } + var field48 = value.optional41().orElse(null); + if (field48 != null) { + start(writer, "optional41", ""); + if (java.util.Objects.isNull(field48)) writeNil(writer); else writer.writeCharacters(String.valueOf(field48)); + writer.writeEndElement(); + } + var field49 = value.optional42().orElse(null); + if (field49 != null) { + start(writer, "optional42", ""); + if (java.util.Objects.isNull(field49)) writeNil(writer); else writer.writeCharacters(String.valueOf(field49)); + writer.writeEndElement(); + } + var field50 = value.optional43().orElse(null); + if (field50 != null) { + start(writer, "optional43", ""); + if (java.util.Objects.isNull(field50)) writeNil(writer); else writer.writeCharacters(String.valueOf(field50)); + writer.writeEndElement(); + } + var field51 = value.optional44().orElse(null); + if (field51 != null) { + start(writer, "optional44", ""); + if (java.util.Objects.isNull(field51)) writeNil(writer); else writer.writeCharacters(String.valueOf(field51)); + writer.writeEndElement(); + } + var field52 = value.optional45().orElse(null); + if (field52 != null) { + start(writer, "optional45", ""); + if (java.util.Objects.isNull(field52)) writeNil(writer); else writer.writeCharacters(String.valueOf(field52)); + writer.writeEndElement(); + } + var field53 = value.optional46().orElse(null); + if (field53 != null) { + start(writer, "optional46", ""); + if (java.util.Objects.isNull(field53)) writeNil(writer); else writer.writeCharacters(String.valueOf(field53)); + writer.writeEndElement(); + } + var field54 = value.optional47().orElse(null); + if (field54 != null) { + start(writer, "optional47", ""); + if (java.util.Objects.isNull(field54)) writeNil(writer); else writer.writeCharacters(String.valueOf(field54)); + writer.writeEndElement(); + } + var field55 = value.optional48().orElse(null); + if (field55 != null) { + start(writer, "optional48", ""); + if (java.util.Objects.isNull(field55)) writeNil(writer); else writer.writeCharacters(String.valueOf(field55)); + writer.writeEndElement(); + } + var field56 = value.optional49().orElse(null); + if (field56 != null) { + start(writer, "optional49", ""); + if (java.util.Objects.isNull(field56)) writeNil(writer); else writer.writeCharacters(String.valueOf(field56)); + writer.writeEndElement(); + } + var field57 = value.optional50().orElse(null); + if (field57 != null) { + start(writer, "optional50", ""); + if (java.util.Objects.isNull(field57)) writeNil(writer); else writer.writeCharacters(String.valueOf(field57)); + writer.writeEndElement(); + } + var field58 = value.optional51().orElse(null); + if (field58 != null) { + start(writer, "optional51", ""); + if (java.util.Objects.isNull(field58)) writeNil(writer); else writer.writeCharacters(String.valueOf(field58)); + writer.writeEndElement(); + } + var field59 = value.optional52().orElse(null); + if (field59 != null) { + start(writer, "optional52", ""); + if (java.util.Objects.isNull(field59)) writeNil(writer); else writer.writeCharacters(String.valueOf(field59)); + writer.writeEndElement(); + } + var field60 = value.optional53().orElse(null); + if (field60 != null) { + start(writer, "optional53", ""); + if (java.util.Objects.isNull(field60)) writeNil(writer); else writer.writeCharacters(String.valueOf(field60)); + writer.writeEndElement(); + } + var field61 = value.optional54().orElse(null); + if (field61 != null) { + start(writer, "optional54", ""); + if (java.util.Objects.isNull(field61)) writeNil(writer); else writer.writeCharacters(String.valueOf(field61)); + writer.writeEndElement(); + } + var field62 = value.optional55().orElse(null); + if (field62 != null) { + start(writer, "optional55", ""); + if (java.util.Objects.isNull(field62)) writeNil(writer); else writer.writeCharacters(String.valueOf(field62)); + writer.writeEndElement(); + } + var field63 = value.optional56().orElse(null); + if (field63 != null) { + start(writer, "optional56", ""); + if (java.util.Objects.isNull(field63)) writeNil(writer); else writer.writeCharacters(String.valueOf(field63)); + writer.writeEndElement(); + } + var field64 = value.optional57().orElse(null); + if (field64 != null) { + start(writer, "optional57", ""); + if (java.util.Objects.isNull(field64)) writeNil(writer); else writer.writeCharacters(String.valueOf(field64)); + writer.writeEndElement(); + } + var field65 = value.optional58().orElse(null); + if (field65 != null) { + start(writer, "optional58", ""); + if (java.util.Objects.isNull(field65)) writeNil(writer); else writer.writeCharacters(String.valueOf(field65)); + writer.writeEndElement(); + } + var field66 = value.optional59().orElse(null); + if (field66 != null) { + start(writer, "optional59", ""); + if (java.util.Objects.isNull(field66)) writeNil(writer); else writer.writeCharacters(String.valueOf(field66)); + writer.writeEndElement(); + } + var field67 = value.optional60().orElse(null); + if (field67 != null) { + start(writer, "optional60", ""); + if (java.util.Objects.isNull(field67)) writeNil(writer); else writer.writeCharacters(String.valueOf(field67)); + writer.writeEndElement(); + } + var field68 = value.optional61().orElse(null); + if (field68 != null) { + start(writer, "optional61", ""); + if (java.util.Objects.isNull(field68)) writeNil(writer); else writer.writeCharacters(String.valueOf(field68)); + writer.writeEndElement(); + } + var field69 = value.optional62().orElse(null); + if (field69 != null) { + start(writer, "optional62", ""); + if (java.util.Objects.isNull(field69)) writeNil(writer); else writer.writeCharacters(String.valueOf(field69)); + writer.writeEndElement(); + } + var field70 = value.optional63().orElse(null); + if (field70 != null) { + start(writer, "optional63", ""); + if (java.util.Objects.isNull(field70)) writeNil(writer); else writer.writeCharacters(String.valueOf(field70)); + writer.writeEndElement(); + } + var field71 = value.optional64().orElse(null); + if (field71 != null) { + start(writer, "optional64", ""); + if (java.util.Objects.isNull(field71)) writeNil(writer); else writer.writeCharacters(String.valueOf(field71)); + writer.writeEndElement(); + } + var field72 = value.optional65().orElse(null); + if (field72 != null) { + start(writer, "optional65", ""); + if (java.util.Objects.isNull(field72)) writeNil(writer); else writer.writeCharacters(String.valueOf(field72)); + writer.writeEndElement(); + } + var field73 = value.optional66().orElse(null); + if (field73 != null) { + start(writer, "optional66", ""); + if (java.util.Objects.isNull(field73)) writeNil(writer); else writer.writeCharacters(String.valueOf(field73)); + writer.writeEndElement(); + } + var field74 = value.optional67().orElse(null); + if (field74 != null) { + start(writer, "optional67", ""); + if (java.util.Objects.isNull(field74)) writeNil(writer); else writer.writeCharacters(String.valueOf(field74)); + writer.writeEndElement(); + } + var field75 = value.optional68().orElse(null); + if (field75 != null) { + start(writer, "optional68", ""); + if (java.util.Objects.isNull(field75)) writeNil(writer); else writer.writeCharacters(String.valueOf(field75)); + writer.writeEndElement(); + } + var field76 = value.optional69().orElse(null); + if (field76 != null) { + start(writer, "optional69", ""); + if (java.util.Objects.isNull(field76)) writeNil(writer); else writer.writeCharacters(String.valueOf(field76)); + writer.writeEndElement(); + } + var field77 = value.optional70().orElse(null); + if (field77 != null) { + start(writer, "optional70", ""); + if (java.util.Objects.isNull(field77)) writeNil(writer); else writer.writeCharacters(String.valueOf(field77)); + writer.writeEndElement(); + } + var field78 = value.optional71().orElse(null); + if (field78 != null) { + start(writer, "optional71", ""); + if (java.util.Objects.isNull(field78)) writeNil(writer); else writer.writeCharacters(String.valueOf(field78)); + writer.writeEndElement(); + } + var field79 = value.optional72().orElse(null); + if (field79 != null) { + start(writer, "optional72", ""); + if (java.util.Objects.isNull(field79)) writeNil(writer); else writer.writeCharacters(String.valueOf(field79)); + writer.writeEndElement(); + } + writer.writeEndElement(); + } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java-workload.xsd b/docs/benchmarks/data/2026-10-04/native-models/source/java-workload.xsd new file mode 100644 index 00000000..b68aeeb0 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java-workload.xsd @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java/.gitignore b/docs/benchmarks/data/2026-10-04/native-models/source/java/.gitignore new file mode 100644 index 00000000..b83d2226 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java/README.md.txt b/docs/benchmarks/data/2026-10-04/native-models/source/java/README.md.txt new file mode 100644 index 00000000..29aa8dbe --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java/README.md.txt @@ -0,0 +1,98 @@ +# Java binding benchmarks + +This standalone JMH project compares JAXB (`xjc` output), Jackson XML (generated +POJOs), direct StAX codecs (POJOs and records), and the existing Panama native binding. +It checks XML/JSON round trips before measurement. Maven also runs interoperability +tests covering inherited fields, abstract bases, renamed properties, recursive models, +lists, and simple-value wrappers. + +## Build and verify + +From the repository root, with JDK 22 and Maven: + +```bash +cargo build -p polyxml-cli +mvn -f benchmarks/java/pom.xml clean package +java -jar benchmarks/java/target/benchmarks.jar -l +``` + +`generate.py` builds an 80-field schema and generates both POJO and record models +using the local CLI. Set `POLYXML_BIN` to use another binary. Rebuild the CLI after +changing the generator; an existing binary is deliberately not rebuilt by Maven. +Generated sources and all results belong in the ignored `target/` directory. + +For all four runtimes, use a JDK 22+ installation (set `JAVA_HOME` and `PATH`), then: + +```bash +cargo build --release -p polyxml-c +mvn -f benchmarks/java/pom.xml -Ppanama clean package +java --enable-native-access=ALL-UNNAMED \ + -jar benchmarks/java/target/benchmarks.jar \ + -jvmArgsAppend "--enable-native-access=ALL-UNNAMED -Djava.library.path=$PWD/target/release" \ + -p workload=settlement -p batchSize=10000 -prof gc \ + -rf json -rff benchmarks/java/target/settlement.json +java --enable-native-access=ALL-UNNAMED \ + -jar benchmarks/java/target/benchmarks.jar \ + -jvmArgsAppend "--enable-native-access=ALL-UNNAMED -Djava.library.path=$PWD/target/release" \ + -p workload=telemetry -p batchSize=50000 -prof gc \ + -rf json -rff benchmarks/java/target/telemetry.json +``` + +The explicit annotation processor path in the POM is necessary on newer JDKs that +do not discover processors implicitly. A missing `META-INF/BenchmarkList` indicates +annotation processing did not run. Use a clean build when switching the Panama profile. + +## Workloads and interpretation + +- **Settlement projection:** 10,000 messages, about 25 MB per batch. +- **Telemetry projection:** 50,000 messages, about 35 MB per batch. +- Each message has seven populated scalar fields and 73 optional fields. IDs vary. + These are reproducible synthetic scalar projections inspired by financial and + telemetry pipelines, **not official ISO 20022 pacs.008 or USAF UCI documents**. +- All backends receive the identical XML. The current Panama schema builder exposes + scalar fields, so comparisons of full nested ISO/UCI object graphs require a + separate benchmark and an expanded native schema API. The Panama path also returns + native values rather than populating Java POJOs and includes a sampled ID read. +- Each JMH operation processes one batch. Multiply `ops/s` by `batchSize` for + messages/s, or by total input bytes / 1,000,000 for input MB/s. Divide allocation + bytes/op by `batchSize` for allocation per message. Output sizes can differ. +- Read benchmarks include parsing and model construction. Write benchmarks use + preconstructed equivalent values and include output-buffer allocation. The + generated stream overloads cache their StAX factories per thread, so + `directRead`/`directWrite` do not repeat provider lookup; `directReadReuse` + and `directWriteReuse` additionally share one factory across calls and create + only the reader/writer, which is the pattern for embedding a document in a + larger stream or reusing configured factories. +- Mutation benchmarks parse, change status, and serialize; POJOs use one setter, + records reconstruct all 80 components. They include the whole pipeline, not only + the assignment. Native mutation is excluded because the binding has no setter API. +- JAXB contexts, Jackson mappers, and native schemas are created outside timing. + Native values are closed deterministically. GC profiling measures Java heap + allocations, not Rust/native allocations, so Panama allocation numbers are not + total process allocation figures. + +The defaults use three warmup iterations, five measurement iterations, and two forks. +For a quick executable smoke check, use `-p batchSize=10 -wi 0 -i 1 -r 100ms -f 1 +-foe true`. Such output is **not performance evidence**. Run on an otherwise idle host, +record JDK/OS/CPU and CLI revision, inspect confidence intervals, and repeat before +making a throughput claim. + +## Allocation, JFR, and startup investigations + +Use `-prof gc` for heap allocation and `-prof jfr:dir=target/jfr` for Java Flight +Recorder captures (run from this directory or use an absolute output path). List +available profilers with `-lprof`. Use separate runs for profilers to avoid comparing +unequal instrumentation overhead. The warmed setup excludes JAXB/mapper/schema +initialization; `-bm ss -wi 0 -i 1 -f 10` measures the first binding call after setup, +not full JVM/application startup. + +GraalVM native-image startup, executable size, and RSS need a separate application +harness; these JMH results do not measure them. Generated direct codecs have static +model calls, but StAX provider selection and application dependencies still determine +native-image configuration. Do not infer universal zero-configuration AOT support +from the absence of model reflection. + +The matched serializer refresh checks every input against all three typed +readers before measurement. JMH logs include aggregate input bytes and +per-message writer output lengths. Reads use varying IDs; writes repeatedly +serialize the same preconstructed ID-0 model to fresh output bytes. diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java/cases.xsd b/docs/benchmarks/data/2026-10-04/native-models/source/java/cases.xsd new file mode 100644 index 00000000..7741bffc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java/cases.xsd @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java/generate.py b/docs/benchmarks/data/2026-10-04/native-models/source/java/generate.py new file mode 100644 index 00000000..01b70ec0 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java/generate.py @@ -0,0 +1,73 @@ +"""Generate an identical, reproducible scalar schema for all benchmark backends.""" + +import os +import subprocess +from pathlib import Path + +base = Path(__file__).resolve().parent +repo = base.parent.parent +target = base / "target" +target.mkdir(exist_ok=True) +fields = ["id", "status", "timestamp", "amount", "latitude", "longitude", "payload"] +fields += [f"optional{i}" for i in range(73)] +schema = '\n' +schema += '\n\n' +for field in fields: + optional = ' minOccurs="0"' if field.startswith("optional") else "" + schema += f'\n' +schema += "\n" +xsd = target / "workload.xsd" +xsd.write_text(schema) +binary = Path(os.environ.get("POLYXML_BIN", repo / "target/debug/polyxml")) +if not binary.exists(): + subprocess.run(["cargo", "build", "-p", "polyxml-cli"], cwd=repo, check=True) +for style, package in [("pojo", "pojo"), ("record", "records")]: + subprocess.run( + [ + str(binary), + "generate", + str(xsd), + "--lang", + "java", + "--style", + style, + "--feature", + "builder,direct-codec", + "--backend", + "jackson", + "--package", + f"io.polyxml.bench.{package}", + "--out", + str(target / "generated-sources/polyxml" / package), + ], + check=True, + ) +helper = target / "generated-sources/polyxml/RecordMutation.java" +args = ", ".join( + "status" if field == "status" else f"value.{field}()" for field in fields +) +helper.write_text( + "package io.polyxml.bench;\npublic final class RecordMutation {\n" + "public static io.polyxml.bench.records.Message withStatus(io.polyxml.bench.records.Message value, String status) {\n" + f"return new io.polyxml.bench.records.Message({args});\n" + "}\n}\n" +) +subprocess.run( + [ + str(binary), + "generate", + str(base / "cases.xsd"), + "--lang", + "java", + "--style", + "pojo", + "--feature", + "builder,direct-codec", + "--backend", + "jackson", + "--package", + "io.polyxml.bench.cases", + "--out", + str(target / "generated-sources/polyxml/cases"), + ], + check=True, +) diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java/pom.xml b/docs/benchmarks/data/2026-10-04/native-models/source/java/pom.xml new file mode 100644 index 00000000..39c93209 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java/pom.xml @@ -0,0 +1,24 @@ + + 4.0.0 + io.polyxmljava-codegen-benchmarks1.0-SNAPSHOT + 22UTF-8 + + org.openjdk.jmhjmh-core1.37 + org.openjdk.jmhjmh-generator-annprocess1.37provided + com.fasterxml.jackson.dataformatjackson-dataformat-xml2.21.2 + com.fasterxml.jackson.datatypejackson-datatype-jdk82.21.2 + org.glassfish.jaxbjaxb-runtime4.0.5 + org.junit.jupiterjunit-jupiter5.11.4test + + + org.codehaus.mojoexec-maven-plugin3.5.0generate-modelsgenerate-sourcesexecpython3${project.basedir}/generate.py + org.codehaus.mojojaxb2-maven-plugin3.2.0xjc${project.build.directory}/workload.xsdio.polyxml.bench.jaxbtrue + org.codehaus.mojobuild-helper-maven-plugin3.6.0modelsgenerate-sourcesadd-source${project.build.directory}/generated-sources/polyxml + org.apache.maven.pluginsmaven-compiler-plugin3.13.0org.openjdk.jmhjmh-generator-annprocess1.37 + org.apache.maven.pluginsmaven-surefire-plugin3.5.2 + org.apache.maven.pluginsmaven-shade-plugin3.6.0packageshadebenchmarksfalseorg.openjdk.jmh.Main*:*META-INF/*.SFMETA-INF/*.RSAMETA-INF/*.DSA + + panama + org.codehaus.mojobuild-helper-maven-pluginpanamagenerate-sourcesadd-source${project.basedir}/src/panama/java${project.basedir}/../../bindings/java/src/main/java + + diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java/src/main/java/io/polyxml/bench/BindingBenchmark.java b/docs/benchmarks/data/2026-10-04/native-models/source/java/src/main/java/io/polyxml/bench/BindingBenchmark.java new file mode 100644 index 00000000..7b48c3ea --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java/src/main/java/io/polyxml/bench/BindingBenchmark.java @@ -0,0 +1,95 @@ +package io.polyxml.bench; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; +import jakarta.xml.bind.*; +import java.io.*; +import java.nio.charset.StandardCharsets; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.*; +import org.openjdk.jmh.infra.Blackhole; +import io.polyxml.bench.pojo.Message; +import io.polyxml.bench.pojo.MessageCodec; + +/** Each operation processes a whole batch; divide time/allocation by batchSize for per-message values. */ +@State(Scope.Thread) +@BenchmarkMode(Mode.Throughput) +@OutputTimeUnit(TimeUnit.SECONDS) +@Warmup(iterations = 3, time = 1) +@Measurement(iterations = 5, time = 1) +@Fork(2) +public class BindingBenchmark { + @Param({"settlement", "telemetry"}) public String workload; + @Param({"10000"}) public int batchSize; + public byte[][] documents; + public Message pojo; + public io.polyxml.bench.records.Message record; + public io.polyxml.bench.jaxb.Message legacy; + public XmlMapper mapper; + public Marshaller marshaller; + public Unmarshaller unmarshaller; + /** Shared StAX factories for the *Reuse benchmarks; per-thread in the generated codecs. */ + public javax.xml.stream.XMLInputFactory sharedInput; + public javax.xml.stream.XMLOutputFactory sharedOutput; + private final javax.xml.namespace.QName root = new javax.xml.namespace.QName("message"); + + @Setup(Level.Trial) + public void setup() throws Exception { + mapper = XmlMapper.builder().addModule(new Jdk8Module()).build(); + sharedInput = javax.xml.stream.XMLInputFactory.newFactory(); + sharedInput.setProperty(javax.xml.stream.XMLInputFactory.SUPPORT_DTD, false); + sharedInput.setProperty("javax.xml.stream.isSupportingExternalEntities", false); + sharedOutput = javax.xml.stream.XMLOutputFactory.newFactory(); + JAXBContext context = JAXBContext.newInstance(io.polyxml.bench.jaxb.Message.class); + marshaller = context.createMarshaller(); + unmarshaller = context.createUnmarshaller(); + documents = new byte[batchSize][]; + for (int i = 0; i < batchSize; i++) { + // Scalar projections, not official ISO 20022/UCI schemas. Approximately 2.5 KB / 0.7 KB per message. + String payload = "x".repeat(workload.equals("settlement") ? 2200 : 400); + String xml = "" + i + "NEW2026-01-01T00:00:00Z" + + "123.4540.0-87.0" + payload + ""; + documents[i] = xml.getBytes(StandardCharsets.UTF_8); + } + pojo = MessageCodec.readXml(new ByteArrayInputStream(documents[0])); + record = io.polyxml.bench.records.MessageCodec.readXml(new ByteArrayInputStream(documents[0])); + legacy = unmarshaller.unmarshal(new javax.xml.transform.stream.StreamSource(new ByteArrayInputStream(documents[0])), io.polyxml.bench.jaxb.Message.class).getValue(); + verify(); + } + public void verify() throws Exception { + // Check every input and field across the matched typed readers before timing. + for (byte[] xml : documents) { + var expected = MessageCodec.readXml(new ByteArrayInputStream(xml)); + if (!expected.equals(mapper.readValue(xml, Message.class))) throw new AssertionError("Jackson input mismatch"); + var decoded = unmarshaller.unmarshal(new javax.xml.transform.stream.StreamSource(new ByteArrayInputStream(xml)), io.polyxml.bench.jaxb.Message.class).getValue(); + var encoded = new ByteArrayOutputStream(); + marshaller.marshal(new JAXBElement<>(root, io.polyxml.bench.jaxb.Message.class, decoded), encoded); + if (!expected.equals(MessageCodec.readXml(new ByteArrayInputStream(encoded.toByteArray())))) throw new AssertionError("JAXB input mismatch"); + } + var direct = new ByteArrayOutputStream(); MessageCodec.writeXml(pojo, direct); + if (!pojo.equals(MessageCodec.readXml(new ByteArrayInputStream(direct.toByteArray())))) throw new AssertionError("direct round trip"); + if (!pojo.equals(mapper.readValue(mapper.writeValueAsBytes(pojo), Message.class))) throw new AssertionError("Jackson round trip"); + ObjectMapper json = new ObjectMapper().registerModule(new Jdk8Module()); + if (!pojo.equals(json.readValue(json.writeValueAsBytes(pojo), Message.class))) throw new AssertionError("JSON round trip"); + var jaxb = new ByteArrayOutputStream(); marshaller.marshal(new JAXBElement<>(root, io.polyxml.bench.jaxb.Message.class, legacy), jaxb); + if (!pojo.equals(MessageCodec.readXml(new ByteArrayInputStream(jaxb.toByteArray())))) throw new AssertionError("JAXB round trip"); + long inputBytes = 0; for (byte[] xml : documents) inputBytes += xml.length; + System.out.printf("fixture: workload=%s,batch=%d,input_bytes=%d,direct_output_bytes=%d,jackson_output_bytes=%d,jaxb_output_bytes=%d%n", + workload, batchSize, inputBytes, direct.size(), mapper.writeValueAsBytes(pojo).length, jaxb.size()); + var records = new ByteArrayOutputStream(); io.polyxml.bench.records.MessageCodec.writeXml(record,records); + if (!pojo.equals(MessageCodec.readXml(new ByteArrayInputStream(records.toByteArray())))) throw new AssertionError("record round trip"); + } + @Benchmark public void directRead(Blackhole bh) throws Exception { for (byte[] xml : documents) bh.consume(MessageCodec.readXml(new ByteArrayInputStream(xml))); } + @Benchmark public void directReadReuse(Blackhole bh) throws Exception { for (byte[] xml : documents) { var reader=sharedInput.createXMLStreamReader(new ByteArrayInputStream(xml)); try { bh.consume(MessageCodec.readXml(reader)); } finally { reader.close(); } } } + @Benchmark public void recordRead(Blackhole bh) throws Exception { for (byte[] xml : documents) bh.consume(io.polyxml.bench.records.MessageCodec.readXml(new ByteArrayInputStream(xml))); } + @Benchmark public void jacksonRead(Blackhole bh) throws Exception { for (byte[] xml : documents) bh.consume(mapper.readValue(xml,Message.class)); } + @Benchmark public void jaxbRead(Blackhole bh) throws Exception { for (byte[] xml : documents) bh.consume(unmarshaller.unmarshal(new javax.xml.transform.stream.StreamSource(new ByteArrayInputStream(xml)),io.polyxml.bench.jaxb.Message.class).getValue()); } + @Benchmark public void directWrite(Blackhole bh) throws Exception { for (int i=0;i(root,io.polyxml.bench.jaxb.Message.class,legacy),out); bh.consume(out.toByteArray()); } } + @Benchmark public void pojoMutation(Blackhole bh) throws Exception { for(byte[] xml:documents) { var value=MessageCodec.readXml(new ByteArrayInputStream(xml)); value.setStatus("PROCESSED"); var out=new ByteArrayOutputStream(); MessageCodec.writeXml(value,out); bh.consume(out.toByteArray()); } } + @Benchmark public void recordMutation(Blackhole bh) throws Exception { for(byte[] xml:documents) { var value=io.polyxml.bench.records.MessageCodec.readXml(new ByteArrayInputStream(xml)); var updated=RecordMutation.withStatus(value,"PROCESSED"); var out=new ByteArrayOutputStream(); io.polyxml.bench.records.MessageCodec.writeXml(updated,out); bh.consume(out.toByteArray()); } } +} diff --git a/docs/benchmarks/data/2026-10-04/native-models/source/java/src/panama/java/io/polyxml/bench/PanamaBenchmark.java b/docs/benchmarks/data/2026-10-04/native-models/source/java/src/panama/java/io/polyxml/bench/PanamaBenchmark.java new file mode 100644 index 00000000..7423e98b --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/native-models/source/java/src/panama/java/io/polyxml/bench/PanamaBenchmark.java @@ -0,0 +1,32 @@ +package io.polyxml.bench; +import io.polyxml.PolyXML; +import java.io.ByteArrayInputStream; +import java.util.concurrent.TimeUnit; +import org.openjdk.jmh.annotations.*; +import org.openjdk.jmh.infra.Blackhole; + +@State(Scope.Thread) +@BenchmarkMode(Mode.Throughput) +@OutputTimeUnit(TimeUnit.SECONDS) +@Warmup(iterations=3,time=1) +@Measurement(iterations=5,time=1) +@Fork(value=2,jvmArgsAppend={"--enable-native-access=ALL-UNNAMED"}) +public class PanamaBenchmark { + @Param({"settlement","telemetry"}) public String workload; + @Param({"10000"}) public int batchSize; + private PolyXML.Schema schema; + private PolyXML.Value value; + private byte[][] documents; + @Setup public void setup() throws Exception { + var fixture=new BindingBenchmark(); fixture.workload=workload; fixture.batchSize=batchSize; fixture.setup(); documents=fixture.documents; + var builder=new PolyXML.SchemaBuilder("Message"); + for(String name:new String[]{"id","status","timestamp","amount","latitude","longitude","payload"}) builder.addField(name,name,PolyXML.FieldKind.ELEMENT,PolyXML.ScalarType.STRING); + for(int i=0;i<73;i++) builder.addField("optional"+i,"optional"+i,PolyXML.FieldKind.ELEMENT,PolyXML.ScalarType.STRING); + schema=builder.build(); value=PolyXML.deserialize(documents[0],schema); + byte[] xml=PolyXML.serialize("message",value,schema,0); + if(!fixture.pojo.equals(io.polyxml.bench.pojo.MessageCodec.readXml(new ByteArrayInputStream(xml)))) throw new AssertionError("Panama round trip"); + } + @TearDown public void close() { if(value!=null)value.close(); if(schema!=null)schema.close(); } + @Benchmark public void panamaRead(Blackhole bh) { for(byte[] xml:documents) try(var parsed=PolyXML.deserialize(xml,schema)) { bh.consume(parsed.getField("id").getString().orElseThrow()); } } + @Benchmark public void panamaWrite(Blackhole bh) { for(int i=0;isensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/fixtures/sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/fixtures/sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/fixtures/sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/fixtures/sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/fixtures/sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/fixtures/sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/metadata.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/metadata.json new file mode 100644 index 00000000..5727950f --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/metadata.json @@ -0,0 +1,213 @@ +{ + "started_utc": "2026-10-04T15:23:28.458937+00:00", + "revision": "303eacde6db04d29e3044edbace0cafdb8762487", + "git_status": "", + "polyxml_cli": "polyxml 0.34.8", + "platform": "Linux-6.18.40.1-microsoft-standard-WSL2-x86_64-with-glibc2.43", + "cpu": "Architecture: x86_64\nCPU op-mode(s): 32-bit, 64-bit\nAddress sizes: 39 bits physical, 48 bits virtual\nByte Order: Little Endian\nCPU(s): 12\nOn-line CPU(s) list: 0-11\nVendor ID: GenuineIntel\nModel name: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz\nCPU family: 6\nModel: 167\nThread(s) per core: 2\nCore(s) per socket: 6\nSocket(s): 1\nStepping: 1\nBogoMIPS: 7823.99\nFlags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves vnmi avx512vbmi umip avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm md_clear flush_l1d arch_capabilities\nVirtualization: VT-x\nHypervisor vendor: Microsoft\nVirtualization type: full\nL1d cache: 288 KiB (6 instances)\nL1i cache: 192 KiB (6 instances)\nL2 cache: 3 MiB (6 instances)\nL3 cache: 12 MiB (1 instance)\nNUMA node(s): 1\nNUMA node0 CPU(s): 0-11\nVulnerability Gather data sampling: Unknown: Dependent on hypervisor status\nVulnerability Ghostwrite: Not affected\nVulnerability Indirect target selection: Mitigation; Aligned branch/return thunks\nVulnerability Itlb multihit: Not affected\nVulnerability L1tf: Not affected\nVulnerability Mds: Not affected\nVulnerability Meltdown: Not affected\nVulnerability Mmio stale data: Mitigation; Clear CPU buffers; SMT Host state unknown\nVulnerability Old microcode: Not affected\nVulnerability Reg file data sampling: Not affected\nVulnerability Retbleed: Mitigation; Enhanced IBRS\nVulnerability Spec rstack overflow: Not affected\nVulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl\nVulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization\nVulnerability Spectre v2: Mitigation; Enhanced / Automatic IBRS; IBPB conditional; PBRSB-eIBRS SW sequence; BHI SW loop, KVM SW loop\nVulnerability Srbds: Not affected\nVulnerability Tsa: Not affected\nVulnerability Tsx async abort: Not affected\nVulnerability Vmscape: Not affected", + "memory": "MemTotal: 16272864 kB\nMemFree: 10153472 kB\nMemAvailable: 12888444 kB\nBuffers: 257688 kB\nCached: 3304012 kB\nSwapCached: 1408 kB\nActive: 1422048 kB\nInactive: 3745564 kB\nActive(anon): 18064 kB\nInactive(anon): 2560436 kB\nActive(file): 1403984 kB\nInactive(file): 1185128 kB\nUnevictable: 0 kB\nMlocked: 0 kB\nSwapTotal: 4194304 kB\nSwapFree: 4158072 kB\nDirty: 6288 kB\nWriteback: 0 kB\nAnonPages: 1605036 kB\nMapped: 644052 kB\nShmem: 972796 kB\nKReclaimable: 394416 kB\nSlab: 558940 kB\nSReclaimable: 394416 kB\nSUnreclaim: 164524 kB\nKernelStack: 8772 kB\nPageTables: 29296 kB\nSecPageTables: 0 kB\nNFS_Unstable: 0 kB\nBounce: 0 kB\nWritebackTmp: 0 kB\nCommitLimit: 12330736 kB\nCommitted_AS: 5017392 kB\nVmallocTotal: 34359738367 kB\nVmallocUsed: 96688 kB\nVmallocChunk: 0 kB\nPercpu: 14272 kB\nHardwareCorrupted: 0 kB\nAnonHugePages: 0 kB\nShmemHugePages: 0 kB\nShmemPmdMapped: 0 kB\nFileHugePages: 77824 kB\nFilePmdMapped: 0 kB\nBalloon: 0 kB\nHugePages_Total: 0\nHugePages_Free: 0\nHugePages_Rsvd: 0\nHugePages_Surp: 0\nHugepagesize: 2048 kB\nHugetlb: 0 kB\nDirectMap4k: 60416 kB\nDirectMap2M: 8220672 kB\nDirectMap1G: 17825792 kB\n", + "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", + "cargo": "cargo 1.99.0 (5f94df478 2026-08-27)", + "python": "Python 3.12.15", + "python_packages": "annotated-types==0.8.0\ncoverage==7.16.2\niniconfig==2.3.0\nlxml==6.1.3\nmsgspec==0.22.0\npackaging==26.3\npluggy==1.6.0\n-e file:///home/bailey/github/PolyXML/crates/polyxml-python\npydantic==2.13.5\npydantic-core==2.46.5\npydantic-xml==2.21.1\npygments==2.21.0\npytest==9.1.1\npytest-cov==7.1.0\nruff==0.16.10\ntyping-extensions==4.16.0\ntyping-inspection==0.4.4\nxsdata==26.2", + "native": { + "version": "0.34.8", + "path": "/home/bailey/github/PolyXML/crates/polyxml-python/python/polyxml/_polyxml.abi3.so", + "sha256": "daa0eb940f00bb93226fd3c64ae05dbd0009cececfae23f712edfc4dd38c3db3" + }, + "rounds": 6, + "samples": 5, + "millis": 150, + "source_sha256": { + "borrowed.rs": "f1d1e02e240c185d7580ac9a66f1d4b6ecf5fdab3a77c20651a663d55b9c80a5", + "rust-consumer.lock": "d031c729baa20e8a3655e9de74d35593780652b00c0c46df81c4d66c4f7262c0", + "owned.rs": "0133908e87f06be43256cd4c137293187dd41e76807a397f5ba788ec1defd86c", + "python_bench.py": "e9ab49a46902a41de9974a1954db7a7b49fa4f84e71fbe808eb4eaa9923b22d6", + "run.py": "4cb2ca9a66ad32d3ac812677a2491089b4b662d02ebbd4388829d78536b39d6d", + "python-models.py": "a3d1d66f6675d11c70848b970f477f387455bc0da77d573dac3e7762c126648a", + "rust.rs": "e2d626a1993ce6c7f94f1d25cd245d3317ee35eaaee4c2805e5f40752a148e73", + "prepare.py": "8656c908541fca3342810e86d8654cfc4c6bc486a0ecc4d95be8dd0d73222a59", + "schema.xsd": "b3e016db29da55b94980d1d38ace7a154699e2c3ee6b94265843af592c8270ae", + "Cargo.toml": "00030839117fcf221c97a85fefe1d16a16a604ed93aa214337da7f4cdf18c9e0", + "consumer-main.rs": "e2d626a1993ce6c7f94f1d25cd245d3317ee35eaaee4c2805e5f40752a148e73", + "summarize.py": "f20d1d55bbb0e634154f4446a8c8b1591e2e648d77df638f80b6d691e6464e9f" + }, + "host_note": "WSL host with IDE services; no concurrent local build or benchmark during measured rounds. No CPU affinity or frequency controls.", + "independent_xml_checks": [ + { + "file": "python-lxml_typed_adapter-escaped_1000.xml", + "sha256": "ed1c8fd46868b60dab01b14959a13f289e9e29c9f4628eb3bb4776773d66b023", + "bytes": 79795 + }, + { + "file": "python-lxml_typed_adapter-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "python-lxml_typed_adapter-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "python-polyxml_dataclass-escaped_1000.xml", + "sha256": "e54ab994fc1a932d4ffa4e0395245f609c7c0ee8094254d58328721d1e047def", + "bytes": 89795 + }, + { + "file": "python-polyxml_dataclass-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "python-polyxml_dataclass-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "python-pydantic_xml-escaped_1000.xml", + "sha256": "ed1c8fd46868b60dab01b14959a13f289e9e29c9f4628eb3bb4776773d66b023", + "bytes": 79795 + }, + { + "file": "python-pydantic_xml-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "python-pydantic_xml-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "python-stdlib_elementtree_typed_adapter-escaped_1000.xml", + "sha256": "ed1c8fd46868b60dab01b14959a13f289e9e29c9f4628eb3bb4776773d66b023", + "bytes": 79795 + }, + { + "file": "python-stdlib_elementtree_typed_adapter-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "python-stdlib_elementtree_typed_adapter-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "python-xsdata_dataclass-escaped_1000.xml", + "sha256": "ed1c8fd46868b60dab01b14959a13f289e9e29c9f4628eb3bb4776773d66b023", + "bytes": 79795 + }, + { + "file": "python-xsdata_dataclass-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "python-xsdata_dataclass-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "rust-polyxml_dynamic-escaped_1000.xml", + "sha256": "e54ab994fc1a932d4ffa4e0395245f609c7c0ee8094254d58328721d1e047def", + "bytes": 89795 + }, + { + "file": "rust-polyxml_dynamic-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "rust-polyxml_dynamic-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "rust-polyxml_generated_borrowed-escaped_1000.xml", + "sha256": "e54ab994fc1a932d4ffa4e0395245f609c7c0ee8094254d58328721d1e047def", + "bytes": 89795 + }, + { + "file": "rust-polyxml_generated_borrowed-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "rust-polyxml_generated_borrowed-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "rust-polyxml_generated_owned-escaped_1000.xml", + "sha256": "e54ab994fc1a932d4ffa4e0395245f609c7c0ee8094254d58328721d1e047def", + "bytes": 89795 + }, + { + "file": "rust-polyxml_generated_owned-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "rust-polyxml_generated_owned-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "rust-quick_xml_serde_borrowed-escaped_1000.xml", + "sha256": "ed1c8fd46868b60dab01b14959a13f289e9e29c9f4628eb3bb4776773d66b023", + "bytes": 79795 + }, + { + "file": "rust-quick_xml_serde_borrowed-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "rust-quick_xml_serde_borrowed-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "rust-quick_xml_serde_owned-escaped_1000.xml", + "sha256": "ed1c8fd46868b60dab01b14959a13f289e9e29c9f4628eb3bb4776773d66b023", + "bytes": 79795 + }, + { + "file": "rust-quick_xml_serde_owned-sensor_1.xml", + "sha256": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "bytes": 65 + }, + { + "file": "rust-quick_xml_serde_owned-sensor_1000.xml", + "sha256": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb", + "bytes": 53795 + }, + { + "file": "rust-serde_xml_rs_owned-escaped_1000.xml", + "sha256": "64858b9676c569ac1b3e5e61d4ff2aef20425e9fb0bfcc1e0ca76f27c2a1c847", + "bytes": 79833 + }, + { + "file": "rust-serde_xml_rs_owned-sensor_1.xml", + "sha256": "9efa4866468487556e4e36a614230274585d78a42ae09b8d550d7d3312c60f23", + "bytes": 103 + }, + { + "file": "rust-serde_xml_rs_owned-sensor_1000.xml", + "sha256": "089912bba247a3538e2f30b7cae2015128bd6b42693b7cb9c03e76d65daaa6b7", + "bytes": 53833 + } + ], + "binary_sha256": { + "allocations": "40a77b784be414c75041a5568e96abe0f985f5482a46e717cdb3a43c0752c988", + "timing": "e5ee59120a79a2f70c0367d2a90fea1adf5c145c551631665a3473224de5fe11" + }, + "fixture_sha256": { + "escaped_1000.xml": "ed1c8fd46868b60dab01b14959a13f289e9e29c9f4628eb3bb4776773d66b023", + "sensor_1.xml": "ca3aa1ccee3078aa58729d43190b6e35dbcf4d7cb2ae0834bc04bbf286f02f2e", + "sensor_1000.xml": "19ab2189b0bc734cf37390a14d5e080391205abb746b52958c331e1f2aa359bb" + }, + "finished_utc": "2026-10-04T15:32:31.951070+00:00" +} diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-0.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-0.csv new file mode 100644 index 00000000..90efa034 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-0.csv @@ -0,0 +1,241 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,polyxml_dataclass,sensor_1,xml_read,0,37100,4051.077,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,1,36700,4097.671,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,2,36900,4075.180,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,3,35200,4272.182,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,4,36900,4071.970,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_write,0,60600,2477.608,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,1,59800,2512.228,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,2,60400,2485.148,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,3,60200,2492.865,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,4,60500,2482.773,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_read,0,4000,38124.507,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,1,4000,38107.425,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,2,3800,39881.369,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,3,4000,38063.892,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,4,4000,38358.901,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_write,0,4900,31068.378,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,1,4700,32183.167,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,2,4800,31347.801,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,3,4900,30950.171,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,4,4800,31452.764,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,0,35500,4234.319,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,1,35400,4249.374,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,2,35900,4188.938,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,3,35800,4200.815,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,4,35400,4244.399,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,0,16300,9234.032,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,1,16500,9125.536,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,2,16800,8971.728,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,3,16800,8939.616,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,4,16900,8914.214,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_read,0,22000,6837.529,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,1,22800,6580.028,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,2,22700,6627.120,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,3,22600,6638.333,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,4,22300,6726.601,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_write,0,47900,3133.106,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,1,46500,3227.185,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,2,46800,3208.394,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,3,47700,3148.341,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,4,45600,3291.031,,,65,65 +sample,pydantic_xml,sensor_1,xml_read,0,11100,13556.624,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,1,11200,13435.737,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,2,11200,13405.300,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,3,11200,13407.151,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,4,11000,13733.016,,,65,0 +sample,pydantic_xml,sensor_1,xml_write,0,13100,11534.297,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,1,12900,11647.425,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,2,12800,11762.620,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,3,13000,11584.335,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,4,13000,11586.633,,,65,65 +sample,polyxml_dataclass,sensor_1,json_read,0,44100,3404.280,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,1,43300,3472.637,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,2,40200,3731.997,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,3,42600,3524.181,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,4,44400,3380.369,,,40,0 +sample,polyxml_dataclass,sensor_1,json_write,0,62900,2386.014,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,1,62800,2390.465,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,2,60400,2483.717,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,3,62700,2393.526,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,4,62700,2395.502,,,40,40 +sample,xsdata_dataclass,sensor_1,json_read,0,9400,16005.676,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,1,9600,15652.709,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,2,9500,15791.456,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,3,9600,15721.423,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,4,9300,16209.547,,,40,0 +sample,xsdata_dataclass,sensor_1,json_write,0,13900,10813.542,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,1,14500,10381.572,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,2,15100,9947.650,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,3,15100,9941.144,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,4,14100,10649.466,,,40,44 +sample,stdlib_json_typed_adapter,sensor_1,json_read,0,83000,1808.796,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,1,81100,1851.273,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,2,82800,1813.867,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,3,83500,1798.990,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,4,83000,1807.369,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_write,0,80200,1870.472,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,1,79900,1878.511,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,2,81400,1843.010,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,3,80600,1861.520,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,4,80700,1859.743,,,40,40 +sample,polyxml_dataclass,sensor_1000,xml_read,0,96,1578985.990,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,1,96,1619423.344,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,2,96,1627307.729,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,3,96,1577067.062,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,4,96,1628969.062,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_write,0,204,769893.250,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,1,204,766432.632,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,2,204,763586.431,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,3,204,757032.975,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,4,204,770477.882,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_read,0,11,14370713.636,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,1,11,14374568.818,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,2,11,14609616.909,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,3,10,15194098.400,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,4,11,14347270.636,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_write,0,10,15053560.000,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,1,10,15738944.300,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,2,10,15037256.100,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,3,10,15111360.000,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,4,11,14975130.545,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,0,135,1147721.333,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,1,135,1143942.489,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,2,135,1145000.763,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,3,135,1165219.496,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,4,135,1141238.741,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,0,45,3349440.311,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,1,48,3152548.562,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,2,48,3191806.958,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,3,48,3292747.438,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,4,48,3207012.896,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_read,0,42,3705445.690,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,1,42,3621243.667,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,2,42,3580831.667,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,3,44,3539972.091,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,4,42,3603945.048,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_write,0,90,1738689.944,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,1,90,1741691.200,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,2,90,1737515.778,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,3,90,1741388.333,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,4,90,1735804.622,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_read,0,17,9078354.059,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,1,17,9012350.176,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,2,17,8954002.176,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,3,17,9058686.294,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,4,18,8884787.167,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_write,0,19,8013773.211,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,1,19,8112802.579,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,2,19,8070694.263,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,3,18,8338414.944,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,4,19,7989692.842,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,json_read,0,108,1414693.426,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,1,114,1338355.184,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,2,108,1458526.519,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,3,114,1387160.500,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,4,114,1337876.649,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_write,0,176,879713.881,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,1,192,809061.062,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,2,184,817265.962,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,3,192,807436.526,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,4,192,804152.469,,,31792,31792 +sample,xsdata_dataclass,sensor_1000,json_read,0,16,9603126.562,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,1,16,9593238.562,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,2,16,9689129.688,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,3,16,9608216.062,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,4,16,9592150.500,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_write,0,42,3572709.071,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,1,42,3717584.119,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,2,42,3612013.048,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,3,42,3591760.214,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,4,42,3683743.143,,,31792,35792 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,0,384,408652.477,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,1,384,408662.466,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,2,384,408909.156,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,3,384,414210.398,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,4,384,408990.117,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,0,555,270503.748,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,1,555,270763.440,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,2,555,272439.676,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,3,592,269251.735,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,4,555,285223.818,,,31792,31792 +sample,polyxml_dataclass,escaped_1000,xml_read,0,84,1794278.964,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,1,84,1912205.964,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,2,88,1784820.580,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,3,84,1829607.333,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,4,88,1774064.693,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_write,0,180,853713.267,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,1,180,846023.689,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,2,180,844464.306,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,3,180,841329.900,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,4,180,838395.756,,,79795,89795 +sample,xsdata_dataclass,escaped_1000,xml_read,0,10,15067887.300,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,1,10,15427134.100,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,2,11,14759811.455,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,3,11,14686159.000,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,4,11,14710193.909,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_write,0,10,15159387.900,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,1,10,15166637.600,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,2,10,15027156.500,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,3,10,15117971.000,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,4,10,15183433.400,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,0,112,1471178.241,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,1,112,1422418.607,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,2,105,1484525.400,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,3,105,1467884.581,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,4,105,1488147.895,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,0,45,3424584.533,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,1,45,3479236.467,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,2,45,3558667.222,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,3,45,3434122.978,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,4,45,3421074.089,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_read,0,38,4157591.368,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,1,38,4044343.184,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,2,38,3997261.474,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,3,38,4011282.237,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,4,38,3975112.553,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_write,0,85,1837526.976,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,1,85,1866658.612,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,2,85,1823628.988,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,3,85,1816862.788,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,4,85,1822920.635,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_read,0,17,9635979.941,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,1,17,9193309.059,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,2,15,10104064.867,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,3,17,9190212.235,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,4,16,9678305.438,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_write,0,19,8126685.842,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,1,19,8501515.105,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,2,19,8187683.316,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,3,19,8233778.895,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,4,19,8142457.316,,,79795,79795 +sample,polyxml_dataclass,escaped_1000,json_read,0,105,1466002.800,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,1,105,1475164.390,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,2,112,1415466.652,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,3,105,1471666.000,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,4,105,1467464.648,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_write,0,198,798692.591,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,1,198,798552.859,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,2,187,810674.460,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,3,187,807735.433,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,4,187,803181.866,,,49792,49792 +sample,xsdata_dataclass,escaped_1000,json_read,0,16,9671324.812,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,1,16,9686739.938,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,2,16,9612840.375,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,3,15,10035700.333,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,4,15,10019190.933,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_write,0,42,3709078.548,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,1,40,3756098.925,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,2,42,3640787.381,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,3,42,3699775.500,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,4,42,3643983.762,,,49792,57792 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,0,288,535130.708,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,1,288,523461.392,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,2,288,525718.278,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,3,288,522457.139,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,4,288,521552.997,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,0,480,318602.602,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,1,480,318120.379,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,2,480,318794.440,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,3,480,318299.487,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,4,480,321856.148,,,49792,49792 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-0.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-0.log new file mode 100644 index 00000000..e2b099d3 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-0.log @@ -0,0 +1 @@ +memcap: <=7558 MiB (60% of 12596 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-1.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-1.csv new file mode 100644 index 00000000..235f5abd --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-1.csv @@ -0,0 +1,241 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,xsdata_dataclass,sensor_1000,xml_read,0,11,13819681.909,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,1,11,13868197.273,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,2,11,14849467.000,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,3,11,14010189.273,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,4,11,14819457.909,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_write,0,11,14469451.636,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,1,11,14147151.545,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,2,11,13987150.909,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,3,11,13896464.091,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,4,11,13857025.364,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,0,135,1123548.533,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,1,135,1137874.104,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,2,135,1143051.570,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,3,135,1164806.437,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,4,135,1162243.022,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,0,48,3288852.292,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,1,45,3335650.022,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,2,48,3128544.625,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,3,48,3137750.167,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,4,48,3277366.125,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_read,0,44,3429543.864,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,1,42,3574916.262,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,2,42,3581206.452,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,3,44,3464326.182,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,4,42,3720904.357,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_write,0,96,1612551.052,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,1,96,1613449.198,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,2,96,1610005.604,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,3,96,1590538.865,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,4,96,1602055.427,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_read,0,17,8905828.471,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,1,19,8622976.526,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,2,17,8891752.294,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,3,17,8847193.353,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,4,17,8847188.412,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_write,0,18,8533684.444,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,1,21,7471882.810,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,2,19,8262313.211,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,3,20,7567607.300,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,4,20,7514510.950,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,json_read,0,119,1316525.546,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,1,112,1427816.946,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,2,112,1373826.786,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,3,112,1347701.714,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,4,112,1375863.205,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_write,0,192,817026.500,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,1,192,786143.932,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,2,192,804185.276,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,3,192,793891.672,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,4,192,792137.552,,,31792,31792 +sample,xsdata_dataclass,sensor_1000,json_read,0,16,9868033.250,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,1,16,9799391.125,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,2,16,9714378.188,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,3,15,10136416.400,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,4,16,9722054.125,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_write,0,42,3598587.071,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,1,42,3612148.619,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,2,42,3687988.929,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,3,42,3580877.786,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,4,42,3643709.238,,,31792,35792 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,0,375,418775.661,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,1,375,414369.784,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,2,375,412183.301,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,3,375,413128.571,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,4,375,415519.104,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,0,592,265599.061,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,1,592,266117.188,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,2,592,265313.270,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,3,592,267405.802,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,4,592,265700.922,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,xml_read,0,96,1614937.635,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,1,102,1555552.353,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,2,96,1618145.427,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,3,96,1592788.823,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,4,96,1615164.552,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_write,0,195,774724.472,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,1,208,770081.000,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,2,208,765987.197,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,3,208,767763.837,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,4,208,761813.226,,,53795,53795 +sample,xsdata_dataclass,escaped_1000,xml_read,0,11,14409460.091,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,1,11,14698158.273,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,2,11,14308348.273,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,3,11,14587284.273,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,4,11,14782071.273,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_write,0,11,14344569.000,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,1,11,14205345.182,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,2,11,14387965.636,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,3,11,14316649.273,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,4,11,14519987.182,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,0,102,1489882.510,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,1,102,1475591.471,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,2,102,1504351.980,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,3,102,1487869.725,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,4,102,1485378.873,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,0,45,3528332.022,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,1,42,3573634.571,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,2,45,3455555.956,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,3,45,3392694.289,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,4,45,3407096.578,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_read,0,38,4098562.053,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,1,38,4114961.447,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,2,40,3904101.200,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,3,38,4043288.184,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,4,40,3861825.350,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_write,0,90,1732753.400,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,1,90,1708894.222,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,2,90,1725179.111,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,3,90,1699166.467,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,4,90,1724395.189,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_read,0,16,9429540.875,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,1,17,9142523.118,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,2,16,9429907.250,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,3,17,9259436.647,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,4,16,9450701.812,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_write,0,20,7676689.600,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,1,20,7592578.750,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,2,20,7629840.200,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,3,20,7943292.700,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,4,20,7704692.150,,,79795,79795 +sample,polyxml_dataclass,escaped_1000,json_read,0,105,1487572.048,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,1,105,1459540.124,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,2,112,1405075.446,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,3,105,1515534.133,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,4,105,1474688.514,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_write,0,192,796694.089,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,1,192,799806.323,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,2,192,798143.792,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,3,168,917874.935,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,4,192,807438.172,,,49792,49792 +sample,xsdata_dataclass,escaped_1000,json_read,0,15,10097102.867,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,1,15,10057343.733,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,2,16,9687848.500,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,3,16,9892955.250,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,4,16,9748767.000,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_write,0,42,3624649.476,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,1,42,3640156.952,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,2,40,3775526.800,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,3,42,3635167.048,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,4,42,3711416.524,,,49792,57792 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,0,304,524804.780,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,1,304,521536.688,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,2,285,538373.642,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,3,304,524568.523,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,4,285,529547.698,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,0,480,318656.156,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,1,480,315765.958,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,2,480,319428.560,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,3,480,315492.742,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,4,480,314713.458,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,xml_read,0,80,1922770.238,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,1,85,1807374.647,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,2,85,1830370.212,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,3,85,1765576.341,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,4,85,1835702.306,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_write,0,176,856723.426,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,1,176,855085.932,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,2,176,852850.403,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,3,176,886510.824,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,4,187,849475.984,,,79795,89795 +sample,xsdata_dataclass,sensor_1,xml_read,0,4100,37316.976,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,1,4000,37533.670,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,2,3900,38994.113,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,3,4100,37387.171,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,4,4100,37383.447,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_write,0,5100,29665.599,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,1,5100,29816.777,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,2,5000,30182.779,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,3,4900,30623.595,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,4,4800,31312.291,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,0,34300,4382.200,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,1,34600,4338.868,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,2,34600,4345.685,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,3,34000,4423.372,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,4,34100,4409.115,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,0,16300,9242.202,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,1,16900,8897.461,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,2,16900,8907.606,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,3,17100,8806.296,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,4,17000,8846.569,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_read,0,22700,6609.394,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,1,21900,6865.516,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,2,22200,6759.981,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,3,21500,6977.113,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,4,22500,6667.219,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_write,0,50700,2961.562,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,1,50400,2978.318,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,2,50500,2974.174,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,3,50800,2955.802,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,4,48400,3102.654,,,65,65 +sample,pydantic_xml,sensor_1,xml_read,0,11400,13214.467,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,1,11600,13041.061,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,2,11500,13128.373,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,3,11400,13159.258,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,4,11200,13498.977,,,65,0 +sample,pydantic_xml,sensor_1,xml_write,0,13400,11237.757,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,1,13700,11022.276,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,2,13900,10842.889,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,3,12500,12034.358,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,4,13000,11548.729,,,65,65 +sample,polyxml_dataclass,sensor_1,json_read,0,44100,3404.810,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,1,44600,3366.161,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,2,43300,3470.705,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,3,44200,3395.207,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,4,43600,3448.115,,,40,0 +sample,polyxml_dataclass,sensor_1,json_write,0,59100,2539.259,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,1,62600,2397.407,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,2,62800,2392.568,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,3,61200,2453.036,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,4,60600,2476.203,,,40,40 +sample,xsdata_dataclass,sensor_1,json_read,0,9400,15986.551,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,1,9500,15836.579,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,2,9400,15978.048,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,3,9500,15906.270,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,4,9500,15888.941,,,40,0 +sample,xsdata_dataclass,sensor_1,json_write,0,15400,9748.905,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,1,15100,9941.962,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,2,15300,9855.034,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,3,15300,9826.560,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,4,14700,10262.126,,,40,44 +sample,stdlib_json_typed_adapter,sensor_1,json_read,0,81000,1852.844,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,1,81800,1834.385,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,2,78200,1918.829,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,3,81800,1835.791,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,4,82100,1827.283,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_write,0,80700,1859.441,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,1,80900,1855.108,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,2,80900,1855.200,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,3,80700,1858.811,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,4,80700,1860.996,,,40,40 +sample,polyxml_dataclass,sensor_1,xml_read,0,37200,4034.345,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,1,38000,3957.611,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,2,38000,3947.954,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,3,38200,3934.092,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,4,38100,3941.438,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_write,0,60700,2474.249,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,1,60200,2494.469,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,2,60200,2494.963,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,3,61800,2428.079,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,4,61700,2433.209,,,65,65 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-1.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-1.log new file mode 100644 index 00000000..7abbc289 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-1.log @@ -0,0 +1 @@ +memcap: <=7556 MiB (60% of 12593 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-2.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-2.csv new file mode 100644 index 00000000..749bcff0 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-2.csv @@ -0,0 +1,241 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,0,105,1449575.057,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,1,105,1471040.495,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,2,105,1463008.914,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,3,105,1458278.562,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,4,105,1471932.467,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,0,45,3449957.844,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,1,45,3505099.156,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,2,45,3359752.956,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,3,45,3386921.822,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,4,45,3515829.756,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_read,0,42,3736585.000,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,1,40,3879195.475,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,2,38,4013535.763,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,3,42,3739827.857,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,4,40,3869432.650,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_write,0,90,1730880.533,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,1,90,1725416.111,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,2,90,1698609.044,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,3,90,1713369.756,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,4,90,1708728.778,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_read,0,17,9304923.118,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,1,16,9655185.625,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,2,17,9085677.471,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,3,16,9407555.188,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,4,16,9416455.750,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_write,0,20,7658604.150,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,1,20,7731493.400,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,2,19,7977207.105,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,3,18,8341408.833,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,4,18,8745078.833,,,79795,79795 +sample,polyxml_dataclass,escaped_1000,json_read,0,95,1653126.516,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,1,105,1463909.219,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,2,105,1478562.790,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,3,105,1463443.029,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,4,110,1411743.727,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_write,0,195,805859.026,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,1,195,779486.097,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,2,195,774843.523,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,3,195,801124.226,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,4,195,778642.990,,,49792,49792 +sample,xsdata_dataclass,escaped_1000,json_read,0,16,9739146.938,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,1,15,10067218.600,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,2,16,9612695.875,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,3,15,10227593.533,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,4,15,10500479.267,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_write,0,42,3673528.595,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,1,42,3663958.714,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,2,42,3707283.024,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,3,42,3705935.190,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,4,40,3756766.500,,,49792,57792 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,0,304,515874.697,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,1,304,515580.674,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,2,304,517206.799,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,3,304,519489.428,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,4,304,517848.326,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,0,495,311448.610,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,1,495,309974.525,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,2,495,312891.802,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,3,495,310480.432,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,4,495,313102.816,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,xml_read,0,85,1859373.682,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,1,85,1800691.624,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,2,85,1835711.753,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,3,85,1789886.494,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,4,85,1833850.859,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_write,0,187,839806.524,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,1,187,830727.380,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,2,187,831954.572,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,3,187,826453.930,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,4,187,828554.348,,,79795,89795 +sample,xsdata_dataclass,escaped_1000,xml_read,0,11,15006578.364,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,1,11,14761507.545,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,2,11,14655979.727,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,3,11,14417016.000,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,4,11,14900677.818,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_write,0,11,14545030.545,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,1,11,13925854.909,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,2,11,14086217.364,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,3,11,14222096.909,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,4,11,13993494.182,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,0,34400,4371.209,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,1,33000,4555.961,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,2,34500,4350.911,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,3,33900,4430.403,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,4,34400,4363.506,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,0,16800,8975.462,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,1,16200,9297.227,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,2,16100,9319.838,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,3,16200,9269.011,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,4,17000,8864.524,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_read,0,22300,6728.563,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,1,22900,6567.391,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,2,23500,6396.205,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,3,23400,6415.569,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,4,23600,6370.871,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_write,0,50100,2997.741,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,1,50600,2966.329,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,2,50500,2975.455,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,3,50300,2983.060,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,4,49800,3016.603,,,65,65 +sample,pydantic_xml,sensor_1,xml_read,0,11100,13619.264,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,1,10700,14067.776,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,2,11300,13308.715,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,3,11300,13380.274,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,4,11400,13270.958,,,65,0 +sample,pydantic_xml,sensor_1,xml_write,0,14000,10742.135,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,1,13900,10844.393,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,2,13800,10940.262,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,3,13600,11053.424,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,4,13900,10835.311,,,65,65 +sample,polyxml_dataclass,sensor_1,json_read,0,44300,3386.611,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,1,44100,3405.217,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,2,44600,3367.803,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,3,43200,3479.417,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,4,44100,3404.893,,,40,0 +sample,polyxml_dataclass,sensor_1,json_write,0,63900,2349.529,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,1,64500,2329.041,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,2,64500,2328.604,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,3,64400,2330.224,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,4,64900,2314.557,,,40,40 +sample,xsdata_dataclass,sensor_1,json_read,0,9700,15579.761,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,1,9500,15947.229,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,2,9400,15982.370,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,3,9800,15385.906,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,4,9700,15563.476,,,40,0 +sample,xsdata_dataclass,sensor_1,json_write,0,15400,9786.584,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,1,15200,9930.308,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,2,14800,10165.252,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,3,14600,10321.972,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,4,15400,9769.729,,,40,44 +sample,stdlib_json_typed_adapter,sensor_1,json_read,0,82400,1821.140,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,1,82400,1820.614,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,2,81700,1837.606,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,3,83300,1802.001,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,4,82800,1811.640,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_write,0,80800,1856.879,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,1,81200,1848.845,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,2,79700,1882.157,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,3,81300,1847.191,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,4,80400,1866.280,,,40,40 +sample,polyxml_dataclass,sensor_1,xml_read,0,36600,4103.922,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,1,37600,3996.286,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,2,36400,4129.037,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,3,37600,3998.999,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,4,36700,4094.015,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_write,0,61200,2451.715,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,1,60700,2473.490,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,2,61200,2452.005,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,3,61300,2447.661,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,4,61100,2457.891,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_read,0,4100,36977.846,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,1,4100,37418.799,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,2,3700,40549.414,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,3,4100,37189.592,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,4,3900,38462.335,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_write,0,5000,30291.171,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,1,5100,29958.694,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,2,4600,32754.888,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,3,5000,30133.779,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,4,5000,30174.104,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,0,135,1159612.259,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,1,135,1157697.385,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,2,135,1168518.859,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,3,135,1180063.437,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,4,135,1157166.748,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,0,45,3412055.244,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,1,48,3196041.229,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,2,48,3184166.854,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,3,45,3378859.178,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,4,48,3153728.479,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_read,0,45,3451927.400,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,1,45,3369633.822,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,2,45,3503925.556,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,3,45,3503614.867,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,4,48,3321089.062,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_write,0,96,1652269.812,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,1,96,1650164.073,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,2,96,1590468.510,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,3,96,1614300.823,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,4,96,1592462.844,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_read,0,17,8934487.059,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,1,17,9066408.412,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,2,18,8472808.389,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,3,17,8852105.529,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,4,16,9395487.375,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_write,0,20,7580979.800,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,1,20,7949118.800,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,2,19,8077541.368,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,3,19,8065978.474,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,4,19,7966481.105,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,json_read,0,119,1335386.395,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,1,112,1385722.241,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,2,112,1381604.607,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,3,112,1365050.705,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,4,105,1482447.095,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_write,0,204,774066.113,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,1,204,769661.039,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,2,204,773233.549,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,3,204,778689.706,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,4,204,766719.770,,,31792,31792 +sample,xsdata_dataclass,sensor_1000,json_read,0,16,9536875.625,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,1,16,9915528.250,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,2,16,9649311.188,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,3,14,11425796.929,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,4,15,10290202.933,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_write,0,40,3763347.475,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,1,44,3575062.136,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,2,44,3572451.795,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,3,42,3627789.571,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,4,42,3627099.881,,,31792,35792 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,0,378,407531.675,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,1,378,406432.989,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,2,378,413973.079,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,3,357,427496.840,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,4,378,408582.791,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,0,576,274477.161,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,1,576,273058.970,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,2,576,273529.363,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,3,576,275226.396,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,4,576,273202.212,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,xml_read,0,96,1634842.365,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,1,96,1607488.042,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,2,96,1623195.812,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,3,96,1573487.354,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,4,96,1626026.323,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_write,0,204,773320.240,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,1,204,758671.603,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,2,204,760728.412,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,3,204,755610.574,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,4,204,756966.358,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_read,0,11,13899816.091,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,1,10,15485682.000,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,2,11,14119439.636,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,3,11,14361113.909,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,4,11,13992654.273,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_write,0,11,13923764.909,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,1,11,14014038.091,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,2,11,14562558.636,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,3,8,19574692.625,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,4,8,19690067.625,,,53795,53795 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-2.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-2.log new file mode 100644 index 00000000..3f98f06f --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-2.log @@ -0,0 +1 @@ +memcap: <=7577 MiB (60% of 12629 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-3.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-3.csv new file mode 100644 index 00000000..a2efc20f --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-3.csv @@ -0,0 +1,241 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,lxml_typed_adapter,sensor_1,xml_read,0,24100,6243.416,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,1,24100,6233.140,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,2,24100,6224.820,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,3,24100,6248.201,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,4,24200,6211.563,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_write,0,51800,2897.318,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,1,52000,2885.683,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,2,50800,2953.381,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,3,51300,2924.217,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,4,51800,2898.258,,,65,65 +sample,pydantic_xml,sensor_1,xml_read,0,10700,14089.675,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,1,11000,13644.175,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,2,11800,12785.093,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,3,11800,12772.389,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,4,11500,13060.504,,,65,0 +sample,pydantic_xml,sensor_1,xml_write,0,14200,10605.927,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,1,14300,10550.917,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,2,13800,10900.174,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,3,14100,10645.639,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,4,14200,10609.876,,,65,65 +sample,polyxml_dataclass,sensor_1,json_read,0,45200,3320.859,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,1,45300,3312.357,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,2,45100,3327.649,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,3,43700,3433.341,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,4,44300,3387.732,,,40,0 +sample,polyxml_dataclass,sensor_1,json_write,0,63600,2359.673,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,1,63700,2358.237,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,2,63600,2360.967,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,3,63500,2363.133,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,4,63300,2370.423,,,40,40 +sample,xsdata_dataclass,sensor_1,json_read,0,9600,15688.380,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,1,9800,15311.904,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,2,9800,15376.220,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,3,9800,15442.887,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,4,9900,15215.141,,,40,0 +sample,xsdata_dataclass,sensor_1,json_write,0,14300,10494.977,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,1,15200,9890.000,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,2,14600,10319.524,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,3,15100,9956.288,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,4,14600,10305.838,,,40,44 +sample,stdlib_json_typed_adapter,sensor_1,json_read,0,81900,1831.799,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,1,84100,1784.856,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,2,82500,1818.924,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,3,83700,1793.270,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,4,82800,1813.462,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_write,0,81000,1852.770,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,1,77800,1929.204,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,2,80800,1858.536,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,3,81100,1851.145,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,4,80800,1856.945,,,40,40 +sample,polyxml_dataclass,sensor_1,xml_read,0,36200,4148.725,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,1,35600,4216.528,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,2,37000,4056.753,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,3,37000,4058.197,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,4,37300,4028.293,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_write,0,60800,2471.069,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,1,59900,2507.726,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,2,58600,2560.977,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,3,59700,2512.808,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,4,60800,2468.940,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_read,0,4100,37118.245,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,1,4100,36770.004,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,2,4100,37257.914,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,3,4000,37728.836,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,4,3900,38483.052,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_write,0,5000,30087.337,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,1,5000,30055.673,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,2,5000,30185.598,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,3,4900,30721.563,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,4,5100,29630.773,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,0,34200,4389.951,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,1,34200,4386.311,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,2,34100,4400.491,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,3,34500,4355.912,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,4,34400,4372.368,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,0,16800,8938.121,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,1,16800,8973.915,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,2,16000,9392.991,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,3,15700,9609.344,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,4,16700,8991.839,,,65,65 +sample,lxml_typed_adapter,sensor_1000,xml_read,0,45,3409714.378,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,1,48,3280624.958,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,2,45,3432494.844,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,3,45,3420976.022,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,4,48,3301190.688,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_write,0,96,1632211.448,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,1,96,1590346.406,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,2,96,1597015.573,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,3,96,1640039.229,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,4,96,1595630.781,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_read,0,17,8991886.824,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,1,18,8707208.667,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,2,18,8711383.056,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,3,18,8390944.778,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,4,17,8883392.471,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_write,0,20,7838577.600,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,1,20,7559846.800,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,2,20,7571343.700,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,3,20,8043241.400,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,4,20,7659159.950,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,json_read,0,112,1377269.223,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,1,112,1380429.009,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,2,119,1325545.866,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,3,112,1382129.866,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,4,112,1413202.839,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_write,0,192,790997.161,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,1,192,788228.109,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,2,204,771423.510,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,3,192,785748.792,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,4,192,817190.104,,,31792,31792 +sample,xsdata_dataclass,sensor_1000,json_read,0,16,9646928.188,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,1,16,9729151.438,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,2,16,9662519.500,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,3,16,9623835.500,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,4,15,10355057.467,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_write,0,42,3630197.571,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,1,42,3648713.167,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,2,42,3620219.905,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,3,42,3757167.476,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,4,42,3632076.286,,,31792,35792 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,0,374,421532.048,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,1,352,435078.585,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,2,374,413983.259,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,3,374,419909.401,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,4,352,436507.622,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,0,555,285664.757,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,1,555,273075.717,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,2,481,316977.572,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,3,518,302133.174,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,4,555,286503.984,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,xml_read,0,96,1663078.250,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,1,96,1635572.906,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,2,96,1649419.906,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,3,96,1631812.781,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,4,90,1684677.689,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_write,0,198,774740.232,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,1,198,796120.323,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,2,187,825208.048,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,3,209,746262.426,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,4,209,744449.244,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_read,0,11,14758790.273,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,1,10,16061317.200,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,2,11,13997144.909,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,3,11,13913502.273,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,4,11,14377351.000,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_write,0,11,13865983.909,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,1,10,15375285.400,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,2,11,14246994.273,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,3,11,14845415.455,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,4,11,14376680.727,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,0,120,1319034.617,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,1,128,1215459.367,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,2,136,1152657.537,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,3,136,1150097.044,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,4,136,1139792.765,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,0,48,3315581.604,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,1,48,3206462.625,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,2,48,3234764.833,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,3,45,3344318.044,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,4,48,3219705.292,,,53795,53795 +sample,lxml_typed_adapter,escaped_1000,xml_read,0,42,3710232.595,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,1,40,3848561.875,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,2,42,3669651.119,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,3,40,3830643.375,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,4,40,3857045.625,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_write,0,90,1702018.578,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,1,90,1683607.467,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,2,90,1680759.244,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,3,90,1678580.567,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,4,85,1789406.976,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_read,0,16,9546790.875,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,1,16,9432298.938,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,2,16,9584374.312,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,3,16,9598606.188,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,4,17,8982818.706,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_write,0,20,7666266.700,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,1,19,7986405.895,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,2,20,7764730.050,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,3,20,8117780.300,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,4,19,8270814.474,,,79795,79795 +sample,polyxml_dataclass,escaped_1000,json_read,0,105,1477928.200,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,1,105,1463796.905,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,2,112,1404846.420,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,3,105,1455169.800,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,4,112,1422345.152,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_write,0,198,776226.480,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,1,198,776370.268,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,2,198,779784.263,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,3,198,797814.404,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,4,198,788315.111,,,49792,49792 +sample,xsdata_dataclass,escaped_1000,json_read,0,15,10129175.400,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,1,16,9686769.750,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,2,16,9806844.875,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,3,16,9756204.375,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,4,16,9852599.250,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_write,0,40,3795642.575,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,1,42,3706072.571,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,2,40,3756444.300,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,3,42,3718638.643,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,4,42,3676083.095,,,49792,57792 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,0,288,540693.240,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,1,288,543764.830,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,2,288,531620.896,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,3,288,541663.108,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,4,288,532991.146,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,0,493,320802.414,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,1,493,319622.917,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,2,493,316122.497,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,3,464,325776.782,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,4,464,324187.162,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,xml_read,0,85,1830416.706,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,1,90,1759378.311,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,2,85,1834896.035,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,3,85,1767016.753,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,4,85,1832011.365,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_write,0,187,830190.080,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,1,176,852752.210,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,2,187,835792.583,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,3,187,839430.647,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,4,187,832015.476,,,79795,89795 +sample,xsdata_dataclass,escaped_1000,xml_read,0,11,14267648.273,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,1,11,14312128.091,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,2,11,14192308.909,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,3,11,14979840.727,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,4,11,14347372.000,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_write,0,11,14142696.818,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,1,11,14191469.000,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,2,11,14077847.818,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,3,11,14154942.182,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,4,11,14140638.545,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,0,105,1498261.676,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,1,105,1496686.095,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,2,105,1518669.219,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,3,105,1435194.305,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,4,105,1480492.305,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,0,44,3509292.545,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,1,44,3532904.205,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,2,44,3460796.023,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,3,44,3460650.114,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,4,44,3462032.114,,,79795,79795 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-3.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-3.log new file mode 100644 index 00000000..9dc7bfb0 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-3.log @@ -0,0 +1 @@ +memcap: <=7581 MiB (60% of 12636 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-4.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-4.csv new file mode 100644 index 00000000..164631e1 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-4.csv @@ -0,0 +1,241 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,pydantic_xml,sensor_1000,xml_read,0,17,8858714.941,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,1,17,8987358.294,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,2,17,8891791.529,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,3,18,8661854.333,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,4,18,8741704.000,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_write,0,20,7593579.800,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,1,20,7547617.600,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,2,20,7562126.500,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,3,20,7815102.000,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,4,20,7538473.000,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,json_read,0,112,1397677.179,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,1,112,1398846.634,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,2,119,1376659.513,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,3,119,1329072.513,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,4,112,1381762.116,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_write,0,195,805068.579,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,1,195,782484.959,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,2,195,786648.487,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,3,195,775364.082,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,4,195,774723.308,,,31792,31792 +sample,xsdata_dataclass,sensor_1000,json_read,0,16,9734974.062,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,1,14,11214718.643,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,2,16,9731116.562,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,3,14,10766620.929,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,4,15,10156868.067,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_write,0,42,3582117.667,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,1,44,3564979.409,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,2,42,3576060.476,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,3,42,3652291.857,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,4,42,3608799.262,,,31792,35792 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,0,375,409166.032,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,1,375,408753.731,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,2,375,406759.272,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,3,325,483671.994,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,4,375,408346.149,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,0,570,280529.468,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,1,570,273701.984,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,2,570,269068.800,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,3,570,270160.939,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,4,570,271726.875,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,xml_read,0,96,1564196.531,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,1,96,1628274.708,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,2,102,1554996.382,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,3,96,1641231.042,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,4,96,1621748.531,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_write,0,208,751938.553,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,1,195,808719.267,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,2,195,779338.759,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,3,208,758351.250,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,4,208,766409.370,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_read,0,11,13830790.727,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,1,11,13784213.091,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,2,11,13812172.727,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,3,11,13941886.727,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,4,11,14746319.727,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_write,0,11,14043934.000,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,1,11,13896061.545,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,2,11,14105576.818,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,3,11,14046965.364,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,4,11,14104059.545,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,0,132,1187322.606,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,1,132,1158391.576,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,2,132,1151750.106,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,3,132,1149676.530,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,4,136,1157741.985,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,0,48,3236664.958,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,1,48,3183756.667,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,2,46,3317412.935,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,3,48,3158970.604,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,4,36,4169660.472,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_read,0,42,3647028.381,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,1,46,3315749.022,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,2,44,3414252.864,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,3,44,3462065.386,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,4,46,3309429.696,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_write,0,96,1638883.010,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,1,96,1636864.552,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,2,96,1634090.604,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,3,96,1629658.833,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,4,96,1637132.698,,,53795,53795 +sample,pydantic_xml,escaped_1000,xml_read,0,17,9456634.765,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,1,17,9014196.412,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,2,15,10023593.400,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,3,16,9576823.625,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,4,17,9281639.529,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_write,0,20,7639392.200,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,1,19,8420904.895,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,2,20,7844795.550,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,3,20,7705415.300,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,4,20,7648697.450,,,79795,79795 +sample,polyxml_dataclass,escaped_1000,json_read,0,112,1458870.321,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,1,112,1406893.839,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,2,98,1535792.806,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,3,112,1406999.446,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,4,105,1460942.800,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_write,0,195,789956.246,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,1,195,801619.656,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,2,195,784703.913,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,3,195,813669.400,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,4,195,792342.964,,,49792,49792 +sample,xsdata_dataclass,escaped_1000,json_read,0,16,9741254.875,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,1,16,9658705.188,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,2,16,9648879.312,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,3,15,10165095.733,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,4,16,9696050.750,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_write,0,42,3741304.833,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,1,42,3635301.857,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,2,42,3582574.881,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,3,42,3592652.881,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,4,42,3618690.452,,,49792,57792 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,0,288,534397.774,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,1,288,532181.826,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,2,288,520988.896,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,3,306,517708.670,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,4,288,528920.156,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,0,480,324458.483,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,1,480,317694.092,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,2,480,321511.037,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,3,480,327580.415,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,4,480,320764.058,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,xml_read,0,85,1836452.494,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,1,90,1746449.367,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,2,85,1824273.659,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,3,85,1825820.718,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,4,85,1822252.365,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_write,0,187,842124.652,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,1,187,846458.171,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,2,187,847038.235,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,3,187,844420.091,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,4,176,859286.398,,,79795,89795 +sample,xsdata_dataclass,escaped_1000,xml_read,0,11,14521793.909,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,1,10,15008981.600,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,2,10,15775213.300,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,3,10,15314030.800,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,4,10,15039597.200,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_write,0,10,15039320.000,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,1,11,14147581.273,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,2,11,14023645.182,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,3,11,14046193.636,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,4,11,14268399.091,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,0,102,1486428.333,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,1,102,1506667.510,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,2,108,1459494.306,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,3,102,1488029.255,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,4,102,1482370.451,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,0,45,3437136.956,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,1,42,3698682.667,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,2,45,3395207.978,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,3,45,3420557.044,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,4,45,3439425.956,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_read,0,40,3890092.775,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,1,38,4068039.263,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,2,40,3851195.325,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,3,40,3908942.850,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,4,42,3747518.690,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_write,0,90,1760451.344,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,1,90,1734911.044,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,2,85,1768632.918,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,3,90,1729355.600,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,4,90,1736472.844,,,79795,79795 +sample,pydantic_xml,sensor_1,xml_read,0,11500,13123.838,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,1,11500,13118.042,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,2,11600,13014.298,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,3,11500,13106.097,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,4,11200,13492.966,,,65,0 +sample,pydantic_xml,sensor_1,xml_write,0,13900,10836.566,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,1,13900,10840.650,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,2,13500,11133.072,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,3,13900,10832.873,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,4,13900,10805.912,,,65,65 +sample,polyxml_dataclass,sensor_1,json_read,0,44200,3399.026,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,1,44400,3381.544,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,2,45000,3335.924,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,3,44700,3360.313,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,4,44000,3409.140,,,40,0 +sample,polyxml_dataclass,sensor_1,json_write,0,63000,2381.322,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,1,62600,2398.821,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,2,60900,2464.188,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,3,60700,2474.642,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,4,61900,2424.038,,,40,40 +sample,xsdata_dataclass,sensor_1,json_read,0,9000,16680.490,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,1,9400,16097.440,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,2,8700,17264.600,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,3,9300,16282.784,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,4,9300,16184.889,,,40,0 +sample,xsdata_dataclass,sensor_1,json_write,0,15300,9813.652,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,1,15100,9937.543,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,2,13700,11001.115,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,3,15100,9986.000,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,4,14500,10382.854,,,40,44 +sample,stdlib_json_typed_adapter,sensor_1,json_read,0,82600,1817.425,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,1,80300,1869.787,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,2,81400,1843.653,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,3,80600,1863.009,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,4,82100,1827.394,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_write,0,79900,1879.076,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,1,80800,1858.675,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,2,79700,1883.192,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,3,80500,1865.865,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,4,80800,1857.732,,,40,40 +sample,polyxml_dataclass,sensor_1,xml_read,0,36900,4066.690,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,1,37700,3986.708,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,2,37300,4025.437,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,3,37800,3978.964,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,4,37200,4041.658,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_write,0,58200,2581.102,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,1,58600,2559.762,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,2,60400,2483.683,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,3,59900,2505.816,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,4,59700,2514.846,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_read,0,4100,37405.296,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,1,4100,37027.791,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,2,4100,37247.326,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,3,4100,36910.467,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,4,4100,37468.280,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_write,0,5000,30564.151,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,1,4300,35031.597,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,2,5100,29943.425,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,3,5000,30174.730,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,4,4900,31118.658,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,0,34500,4357.864,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,1,34200,4393.546,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,2,34200,4389.600,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,3,35100,4275.940,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,4,33900,4434.968,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,0,16700,9008.307,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,1,16700,9021.490,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,2,16800,8973.331,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,3,16700,9009.756,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,4,16700,9002.732,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_read,0,22100,6792.945,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,1,23300,6452.738,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,2,22000,6821.688,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,3,21800,6904.323,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,4,23300,6442.259,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_write,0,49900,3006.109,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,1,50000,3001.616,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,2,50000,3004.127,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,3,49500,3035.111,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,4,50500,2973.134,,,65,65 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-4.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-4.log new file mode 100644 index 00000000..066fdf90 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-4.log @@ -0,0 +1 @@ +memcap: <=7579 MiB (60% of 12632 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-5.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-5.csv new file mode 100644 index 00000000..47952b76 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-5.csv @@ -0,0 +1,241 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,polyxml_dataclass,escaped_1000,json_read,0,112,1450178.054,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,1,105,1451246.200,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,2,105,1463404.590,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,3,105,1434752.848,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_read,4,105,1462106.695,,,49792,0 +sample,polyxml_dataclass,escaped_1000,json_write,0,192,781286.917,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,1,192,802280.630,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,2,192,783223.073,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,3,192,805280.109,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,json_write,4,192,795252.484,,,49792,49792 +sample,xsdata_dataclass,escaped_1000,json_read,0,16,9640520.062,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,1,16,9929288.938,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,2,16,9673258.625,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,3,16,9570493.812,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_read,4,16,9583115.938,,,49792,0 +sample,xsdata_dataclass,escaped_1000,json_write,0,40,3781901.425,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,1,44,3554876.000,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,2,44,3540540.045,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,3,42,3599478.714,,,49792,57792 +sample,xsdata_dataclass,escaped_1000,json_write,4,42,3607789.762,,,49792,57792 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,0,304,514880.549,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,1,304,519308.286,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,2,304,529381.951,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,3,304,521381.602,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_read,4,304,515283.378,,,49792,0 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,0,495,303195.630,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,1,495,303464.885,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,2,495,305903.521,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,3,495,304440.117,,,49792,49792 +sample,stdlib_json_typed_adapter,escaped_1000,json_write,4,495,304759.024,,,49792,49792 +sample,polyxml_dataclass,escaped_1000,xml_read,0,90,1760253.244,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,1,85,1829181.953,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,2,90,1758308.878,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,3,85,1822705.035,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_read,4,90,1747814.489,,,79795,0 +sample,polyxml_dataclass,escaped_1000,xml_write,0,187,841460.428,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,1,187,837106.091,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,2,187,838498.021,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,3,187,832877.893,,,79795,89795 +sample,polyxml_dataclass,escaped_1000,xml_write,4,187,847291.401,,,79795,89795 +sample,xsdata_dataclass,escaped_1000,xml_read,0,11,14833402.182,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,1,11,14527169.455,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,2,11,14148586.636,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,3,11,14359259.636,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_read,4,11,14055337.545,,,79795,0 +sample,xsdata_dataclass,escaped_1000,xml_write,0,11,14760040.909,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,1,11,13971571.273,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,2,11,14403630.091,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,3,11,13902498.182,,,79795,79795 +sample,xsdata_dataclass,escaped_1000,xml_write,4,11,14064607.182,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,0,108,1482453.917,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,1,108,1449072.620,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,2,102,1491738.137,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,3,102,1512227.137,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_read,4,102,1470605.059,,,79795,0 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,0,45,3510953.533,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,1,45,3397852.222,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,2,42,3574468.857,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,3,45,3502204.956,,,79795,79795 +sample,stdlib_elementtree_typed_adapter,escaped_1000,xml_write,4,45,3355991.911,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_read,0,38,3966308.921,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,1,40,3754837.425,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,2,40,3888496.225,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,3,40,3898709.550,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_read,4,40,3756279.925,,,79795,0 +sample,lxml_typed_adapter,escaped_1000,xml_write,0,90,1705459.589,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,1,85,1768679.541,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,2,90,1698778.933,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,3,90,1722357.033,,,79795,79795 +sample,lxml_typed_adapter,escaped_1000,xml_write,4,90,1757945.011,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_read,0,16,9443090.062,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,1,17,9079421.294,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,2,16,9442339.688,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,3,17,9461606.412,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_read,4,17,9022287.706,,,79795,0 +sample,pydantic_xml,escaped_1000,xml_write,0,19,8118918.000,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,1,20,7880380.050,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,2,19,7955574.632,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,3,19,7897672.947,,,79795,79795 +sample,pydantic_xml,escaped_1000,xml_write,4,20,7928975.150,,,79795,79795 +sample,polyxml_dataclass,sensor_1,json_read,0,44300,3388.568,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,1,44800,3348.852,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,2,44600,3363.450,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,3,43900,3420.037,,,40,0 +sample,polyxml_dataclass,sensor_1,json_read,4,42700,3512.908,,,40,0 +sample,polyxml_dataclass,sensor_1,json_write,0,63100,2379.135,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,1,63400,2366.080,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,2,60800,2467.737,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,3,63400,2366.178,,,40,40 +sample,polyxml_dataclass,sensor_1,json_write,4,64000,2347.074,,,40,40 +sample,xsdata_dataclass,sensor_1,json_read,0,9700,15600.318,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,1,9500,15853.732,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,2,9800,15413.957,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,3,9800,15401.803,,,40,0 +sample,xsdata_dataclass,sensor_1,json_read,4,9800,15384.388,,,40,0 +sample,xsdata_dataclass,sensor_1,json_write,0,14900,10113.791,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,1,14700,10226.160,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,2,13900,10794.026,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,3,15000,10026.925,,,40,44 +sample,xsdata_dataclass,sensor_1,json_write,4,15300,9863.877,,,40,44 +sample,stdlib_json_typed_adapter,sensor_1,json_read,0,82300,1823.546,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,1,82800,1813.539,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,2,83900,1787.971,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,3,84100,1786.527,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_read,4,78700,1908.177,,,40,0 +sample,stdlib_json_typed_adapter,sensor_1,json_write,0,76900,1951.236,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,1,73000,2056.131,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,2,77700,1932.889,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,3,78100,1922.904,,,40,40 +sample,stdlib_json_typed_adapter,sensor_1,json_write,4,78100,1921.509,,,40,40 +sample,polyxml_dataclass,sensor_1,xml_read,0,35900,4186.613,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,1,29800,5046.230,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,2,37600,3994.453,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,3,37800,3975.060,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_read,4,36300,4138.391,,,65,0 +sample,polyxml_dataclass,sensor_1,xml_write,0,59500,2524.655,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,1,59100,2540.712,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,2,59000,2542.938,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,3,60700,2472.972,,,65,65 +sample,polyxml_dataclass,sensor_1,xml_write,4,61300,2448.593,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_read,0,4100,37423.089,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,1,4000,37964.018,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,2,4000,38162.353,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,3,4100,36901.773,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_read,4,4100,36708.277,,,65,0 +sample,xsdata_dataclass,sensor_1,xml_write,0,5100,29886.112,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,1,5100,29716.992,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,2,5100,29934.797,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,3,5000,30562.160,,,65,65 +sample,xsdata_dataclass,sensor_1,xml_write,4,5100,29411.885,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,0,34300,4375.023,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,1,34000,4413.457,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,2,34500,4351.919,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,3,34500,4348.414,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_read,4,34500,4354.256,,,65,0 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,0,16800,8989.352,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,1,16900,8918.413,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,2,16900,8886.223,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,3,16700,9016.570,,,65,65 +sample,stdlib_elementtree_typed_adapter,sensor_1,xml_write,4,16300,9232.166,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_read,0,23500,6400.491,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,1,22600,6641.223,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,2,23400,6427.238,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,3,23400,6420.186,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_read,4,23200,6468.844,,,65,0 +sample,lxml_typed_adapter,sensor_1,xml_write,0,50100,2998.648,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,1,50600,2967.865,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,2,50700,2959.209,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,3,50300,2987.257,,,65,65 +sample,lxml_typed_adapter,sensor_1,xml_write,4,50900,2950.917,,,65,65 +sample,pydantic_xml,sensor_1,xml_read,0,11300,13348.414,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,1,11400,13257.322,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,2,11400,13166.428,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,3,11500,13136.433,,,65,0 +sample,pydantic_xml,sensor_1,xml_read,4,11100,13581.367,,,65,0 +sample,pydantic_xml,sensor_1,xml_write,0,13500,11185.293,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,1,14100,10661.547,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,2,14000,10774.373,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,3,14000,10764.568,,,65,65 +sample,pydantic_xml,sensor_1,xml_write,4,14100,10662.215,,,65,65 +sample,polyxml_dataclass,sensor_1000,json_read,0,119,1339815.639,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,1,112,1388770.241,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,2,112,1382722.062,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,3,119,1337962.588,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_read,4,112,1420380.062,,,31792,0 +sample,polyxml_dataclass,sensor_1000,json_write,0,204,777133.598,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,1,192,802765.036,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,2,192,784974.010,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,3,192,799651.250,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,json_write,4,192,782714.745,,,31792,31792 +sample,xsdata_dataclass,sensor_1000,json_read,0,16,9567001.312,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,1,16,9507492.500,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,2,16,9785448.938,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,3,16,9517806.000,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_read,4,16,9546546.562,,,31792,0 +sample,xsdata_dataclass,sensor_1000,json_write,0,42,3677733.405,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,1,42,3573891.095,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,2,42,3702543.167,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,3,44,3548829.000,,,31792,35792 +sample,xsdata_dataclass,sensor_1000,json_write,4,42,3686193.381,,,31792,35792 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,0,375,409483.659,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,1,375,403026.891,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,2,375,406391.211,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,3,375,407665.867,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_read,4,375,405895.419,,,31792,0 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,0,592,265614.431,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,1,555,273595.550,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,2,592,266884.221,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,3,518,309169.054,,,31792,31792 +sample,stdlib_json_typed_adapter,sensor_1000,json_write,4,518,292764.114,,,31792,31792 +sample,polyxml_dataclass,sensor_1000,xml_read,0,90,1668169.122,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,1,84,1816035.190,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,2,96,1597399.510,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,3,90,1733510.767,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_read,4,96,1660040.885,,,53795,0 +sample,polyxml_dataclass,sensor_1000,xml_write,0,192,795589.031,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,1,192,798958.339,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,2,204,753461.343,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,3,204,775759.373,,,53795,53795 +sample,polyxml_dataclass,sensor_1000,xml_write,4,204,760256.510,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_read,0,11,13800951.273,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,1,11,14362770.091,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,2,11,14469122.364,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,3,11,13768609.364,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_read,4,11,13883775.182,,,53795,0 +sample,xsdata_dataclass,sensor_1000,xml_write,0,11,13985425.364,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,1,11,13963729.455,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,2,11,13962008.455,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,3,11,14047680.091,,,53795,53795 +sample,xsdata_dataclass,sensor_1000,xml_write,4,11,13943283.273,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,0,135,1159040.578,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,1,135,1178637.296,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,2,130,1157772.215,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,3,135,1165596.126,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_read,4,130,1193403.554,,,53795,0 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,0,48,3193647.771,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,1,48,3147953.688,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,2,46,3313408.152,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,3,48,3157493.146,,,53795,53795 +sample,stdlib_elementtree_typed_adapter,sensor_1000,xml_write,4,48,3168986.792,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_read,0,44,3452416.886,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,1,42,3593658.714,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,2,46,3317444.935,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,3,44,3468339.727,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_read,4,44,3451117.682,,,53795,0 +sample,lxml_typed_adapter,sensor_1000,xml_write,0,96,1616542.729,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,1,96,1617037.927,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,2,96,1617255.531,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,3,96,1612007.375,,,53795,53795 +sample,lxml_typed_adapter,sensor_1000,xml_write,4,90,1673963.556,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_read,0,18,8435550.222,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,1,17,8874527.412,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,2,17,9218871.000,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,3,17,8932673.824,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_read,4,18,8462337.667,,,53795,0 +sample,pydantic_xml,sensor_1000,xml_write,0,20,7609542.400,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,1,20,7797438.200,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,2,20,7829493.500,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,3,18,8365864.500,,,53795,53795 +sample,pydantic_xml,sensor_1000,xml_write,4,19,7940708.632,,,53795,53795 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-5.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-5.log new file mode 100644 index 00000000..ff9308c8 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-5.log @@ -0,0 +1 @@ +memcap: <=7580 MiB (60% of 12634 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-release-install.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-release-install.log new file mode 100644 index 00000000..108dd6a0 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-release-install.log @@ -0,0 +1,27 @@ +memcap: <=7523 MiB (60% of 12539 MiB available) [systemd MemoryMax, swap off] +Using Python 3.12.15 environment at: benchmarks/serializer-comparison/target/venv +Resolved 18 packages in 460ms + Building polyxml @ file:///home/bailey/github/PolyXML/crates/polyxml-python +Downloading lxml (5.0MiB) + Downloaded lxml + Built polyxml @ file:///home/bailey/github/PolyXML/crates/polyxml-python +Prepared 4 packages in 31.35s +Installed 18 packages in 12ms + + annotated-types==0.8.0 + + coverage==7.16.2 + + iniconfig==2.3.0 + + lxml==6.1.3 + + msgspec==0.22.0 + + packaging==26.3 + + pluggy==1.6.0 + + polyxml==0.34.8 (from file:///home/bailey/github/PolyXML/crates/polyxml-python) + + pydantic==2.13.5 + + pydantic-core==2.46.5 + + pydantic-xml==2.21.1 + + pygments==2.21.0 + + pytest==9.1.1 + + pytest-cov==7.1.0 + + ruff==0.16.10 + + typing-extensions==4.16.0 + + typing-inspection==0.4.4 + + xsdata==26.2 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/python-requirements.txt b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-requirements.txt new file mode 100644 index 00000000..84d0df7d --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/python-requirements.txt @@ -0,0 +1,17 @@ +annotated-types==0.8.0 +coverage==7.16.2 +iniconfig==2.3.0 +lxml==6.1.3 +msgspec==0.22.0 +packaging==26.3 +pluggy==1.6.0 +pydantic==2.13.5 +pydantic-core==2.46.5 +pydantic-xml==2.21.1 +pygments==2.21.0 +pytest==9.1.1 +pytest-cov==7.1.0 +ruff==0.16.10 +typing-extensions==4.16.0 +typing-inspection==0.4.4 +xsdata==26.2 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-0.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-0.csv new file mode 100644 index 00000000..0cdd1141 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-0.csv @@ -0,0 +1,271 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,polyxml_generated_owned,sensor_1,xml_read,0,470900,318.595,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,1,472000,317.844,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,2,445300,336.852,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,3,472500,317.477,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,4,473100,317.091,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_write,0,746300,200.993,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,1,811800,184.789,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,2,792500,189.298,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,3,796400,188.366,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,4,805500,186.231,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_read,0,496300,302.251,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,1,500400,299.787,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,2,499400,300.377,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,3,488800,306.907,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,4,503700,297.819,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_write,0,880200,170.418,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,1,894500,167.695,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,2,891500,168.269,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,3,900800,166.526,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,4,910400,164.769,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_read,0,201700,743.759,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,1,200200,749.489,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,2,193800,774.187,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,3,202100,742.267,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,4,202000,742.834,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_write,0,336300,446.098,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,1,352000,426.244,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,2,354900,422.669,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,3,344200,435.836,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,4,360900,415.650,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,0,205700,729.476,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,1,204600,733.428,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,2,203500,737.384,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,3,205500,729.988,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,4,205500,730.239,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,0,361500,415.001,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,1,348600,430.349,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,2,362300,414.125,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,3,368600,407.051,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,4,362600,413.772,,,65,65 +sample,serde_xml_rs_owned,sensor_1,xml_read,0,44000,3415.259,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,1,43200,3473.832,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,2,43500,3451.172,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,3,44000,3415.038,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,4,43800,3424.815,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_write,0,210700,712.219,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,1,211600,709.005,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,2,203500,737.458,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,3,210600,712.287,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,4,204800,732.539,,,65,103 +sample,polyxml_dynamic,sensor_1,xml_read,0,142800,1050.874,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,1,145500,1031.136,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,2,143800,1043.778,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,3,143600,1045.163,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,4,143200,1047.982,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_write,0,958500,156.495,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,1,958100,156.567,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,2,956800,156.780,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,3,954600,157.136,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,4,949200,158.038,,,65,65 +sample,polyxml_generated_owned,sensor_1,json_read,0,1788500,83.871,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,1,1799200,83.374,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,2,1795200,83.560,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,3,1734500,86.484,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,4,1789000,83.846,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_write,0,3675100,40.816,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,1,3666600,40.910,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,2,3634800,41.269,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,3,3626400,41.364,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,4,3549500,42.260,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_read,0,1702600,88.106,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,1,1661700,90.269,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,2,1717000,87.369,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,3,1805500,83.084,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,4,1823900,82.242,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_write,0,3682900,40.729,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,1,3547500,42.284,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,2,3670300,40.869,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,3,3713700,40.392,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,4,3739800,40.109,,,40,40 +sample,serde_json_handwritten,sensor_1,json_read,0,1741500,86.133,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,1,1796500,83.498,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,2,1781100,84.221,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,3,1782600,84.148,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,4,1799300,83.370,,,40,0 +sample,serde_json_handwritten,sensor_1,json_write,0,3752800,39.970,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,1,3819700,39.271,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,2,3799600,39.479,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,3,3750900,39.991,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,4,3749500,40.006,,,40,40 +sample,polyxml_generated_owned,sensor_1000,xml_read,0,645,238097.546,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,1,645,232617.307,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,2,688,229727.770,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,3,688,230344.949,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,4,688,230280.436,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_write,0,2800,54010.060,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,1,2800,55175.701,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,2,2800,53739.883,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,3,2800,53790.122,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,4,2800,53945.779,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,0,810,190517.683,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,1,810,188610.764,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,2,810,190369.688,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,3,756,205695.979,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,4,810,191269.994,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,0,2900,53384.561,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,1,2900,53489.654,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,2,2900,53250.642,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,3,2800,53930.864,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,4,2800,54847.530,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_read,0,368,434040.812,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,1,368,433385.707,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,2,368,434321.182,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,3,345,454918.400,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,4,345,436777.235,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_write,0,780,199116.612,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,1,780,203830.415,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,2,780,197452.524,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,3,780,196854.196,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,4,780,198912.856,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,0,384,408332.471,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,1,384,408946.154,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,2,384,408270.703,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,3,384,407884.466,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,4,360,429274.136,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,0,768,196370.668,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,1,768,197060.505,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,2,768,197730.609,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,3,768,202458.294,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,4,768,205620.276,,,53795,53795 +sample,serde_xml_rs_owned,sensor_1000,xml_read,0,64,2388080.141,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,1,56,2736210.929,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,2,64,2413609.062,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,3,64,2414037.250,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,4,64,2413273.125,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_write,0,476,328689.237,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,1,476,326436.683,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,2,476,325676.004,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,3,476,327736.580,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,4,476,329914.384,,,53795,53833 +sample,polyxml_dynamic,sensor_1000,xml_read,0,240,648937.833,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,1,240,637384.250,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,2,240,629642.512,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,3,224,736514.812,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,4,208,724044.428,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_write,0,1683,90176.006,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,1,1683,90278.807,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,2,1782,89052.263,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,3,1683,89821.195,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,4,1782,88869.898,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,json_read,0,2400,63872.779,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,1,2400,64828.543,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,2,2400,65080.858,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,3,2400,64966.530,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,4,2400,65142.577,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_write,0,5700,26626.344,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,1,5400,28025.398,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,2,5600,26789.095,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,3,5600,26800.572,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,4,5600,26928.280,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_read,0,2500,61673.762,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,1,2500,61766.206,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,2,2500,61997.452,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,3,2500,61921.436,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,4,2500,62132.439,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_write,0,5600,27278.859,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,1,5400,28267.836,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,2,5400,28027.669,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,3,5500,27445.998,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,4,5500,27605.439,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_read,0,2500,62001.178,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,1,2500,62342.570,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,2,2500,62320.186,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,3,2400,62742.012,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,4,2500,62108.372,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_write,0,5600,27076.216,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,1,5700,26633.180,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,2,5800,26131.806,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,3,5400,27779.764,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,4,5700,26368.946,,,31792,31792 +sample,polyxml_generated_owned,escaped_1000,xml_read,0,405,385660.919,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,1,405,375486.672,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,2,405,376494.746,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,3,405,375927.314,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,4,405,375454.847,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_write,0,1190,131979.155,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,1,1190,133075.887,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,2,1190,131585.652,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,3,1190,131497.496,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,4,1190,132121.524,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,0,416,367936.284,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,1,442,360200.864,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,2,416,363001.450,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,3,416,373659.421,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,4,416,363957.913,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,0,1170,130444.666,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,1,1170,132051.008,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,2,1170,133309.329,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,3,1170,132610.449,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,4,1170,131904.564,,,79795,89795 +sample,quick_xml_serde_owned,escaped_1000,xml_read,0,240,646333.521,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,1,240,649810.512,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,2,240,661951.108,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,3,225,670490.280,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,4,240,648509.404,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_write,0,612,255564.577,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,1,576,260485.736,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,2,576,263956.193,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,3,612,254528.034,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,4,612,256095.448,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,0,240,645914.525,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,1,225,685052.520,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,2,240,640579.213,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,3,240,648507.183,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,4,240,643070.792,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,0,688,227784.808,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,1,688,225547.435,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,2,688,228474.267,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,3,688,230202.414,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,4,688,228101.673,,,79795,79795 +sample,serde_xml_rs_owned,escaped_1000,xml_read,0,54,2921976.685,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,1,54,2910862.815,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,2,51,2947404.294,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,3,54,2888369.185,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,4,54,2913413.926,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_write,0,416,364037.690,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,1,416,365203.702,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,2,416,369836.736,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,3,416,365138.305,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,4,416,366922.315,,,79795,79833 +sample,polyxml_dynamic,escaped_1000,xml_read,0,192,806585.349,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,1,192,783703.156,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,2,192,788040.323,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,3,192,813231.755,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,4,192,791141.281,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_write,0,915,169096.717,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,1,915,168059.891,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,2,915,167870.679,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,3,915,166688.220,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,4,915,167781.540,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,json_read,0,1800,84017.185,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,1,1800,87554.639,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,2,1800,85688.009,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,3,1800,87081.507,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,4,1800,83891.751,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_write,0,4100,37134.651,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,1,4000,37774.047,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,2,4100,36940.201,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,3,4000,38181.810,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,4,4100,36917.955,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_read,0,1900,81035.758,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,1,1900,81981.871,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,2,1900,82464.726,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,3,1900,81709.775,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,4,1900,81748.671,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_write,0,4000,37931.181,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,1,4000,38224.973,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,2,4100,37468.229,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,3,4000,37734.586,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,4,4000,38230.327,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_read,0,1900,82146.240,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,1,1800,84767.979,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,2,1900,82197.408,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,3,1900,81658.200,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,4,1900,82490.559,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_write,0,4000,38023.420,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,1,4000,37602.740,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,2,4000,37929.107,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,3,3900,38705.918,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,4,3900,38660.090,,,49792,49792 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-0.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-0.log new file mode 100644 index 00000000..4c4ba94e --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-0.log @@ -0,0 +1 @@ +memcap: <=7533 MiB (60% of 12556 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-1.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-1.csv new file mode 100644 index 00000000..34f4f89d --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-1.csv @@ -0,0 +1,271 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,polyxml_generated_borrowed,sensor_1000,xml_read,0,816,192558.886,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,1,816,189843.228,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,2,816,195346.652,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,3,816,191845.202,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,4,816,190531.237,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,0,2800,55422.221,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,1,2700,56782.617,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,2,2800,54989.082,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,3,2700,55720.085,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,4,2700,56077.183,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_read,0,345,435968.519,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,1,345,437383.904,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,2,345,438861.293,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,3,345,439212.200,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,4,345,437328.197,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_write,0,825,190682.418,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,1,825,186763.588,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,2,825,188560.648,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,3,825,187405.773,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,4,825,186892.652,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,0,375,405830.739,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,1,375,417858.787,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,2,375,410248.563,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,3,375,421752.312,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,4,350,457468.389,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,0,795,200784.975,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,1,795,190498.296,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,2,795,194166.244,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,3,795,191723.391,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,4,795,190146.182,,,53795,53795 +sample,serde_xml_rs_owned,sensor_1000,xml_read,0,64,2406121.500,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,1,64,2417874.969,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,2,64,2430913.297,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,3,60,2522758.350,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,4,64,2459050.844,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_write,0,465,323650.413,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,1,496,321198.478,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,2,465,324809.892,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,3,496,320918.528,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,4,465,323511.880,,,53795,53833 +sample,polyxml_dynamic,sensor_1000,xml_read,0,238,652536.118,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,1,252,626738.425,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,2,238,633695.992,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,3,238,634702.340,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,4,238,634065.555,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_write,0,1700,90386.538,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,1,1600,95866.382,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,2,1700,92281.958,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,3,1600,97598.893,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,4,1700,90716.306,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_read,0,656,235659.535,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,1,656,233913.614,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,2,574,264610.479,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,3,656,235648.785,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,4,656,239984.582,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_write,0,2800,54670.884,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,1,2800,54796.451,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,2,2800,54467.838,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,3,2800,54979.052,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,4,2700,57559.977,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,json_read,0,2500,61360.474,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,1,2400,62706.021,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,2,2300,66407.026,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,3,2500,61429.627,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,4,2500,61145.954,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_write,0,5400,28127.096,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,1,5500,27762.887,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,2,5700,26382.909,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,3,5700,26727.444,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,4,5700,26645.878,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_read,0,2500,61780.643,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,1,2500,62209.648,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,2,2400,63061.192,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,3,2500,62484.006,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,4,2500,61891.988,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_write,0,5700,26679.822,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,1,5500,27353.330,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,2,5600,27131.585,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,3,5500,27595.275,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,4,5500,27716.489,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_read,0,2400,63936.956,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,1,2400,63927.427,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,2,2400,64108.280,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,3,2400,63508.262,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,4,2400,64003.925,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_write,0,5500,27684.227,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,1,5500,27695.088,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,2,5500,27582.777,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,3,5500,27341.998,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,4,5500,27625.467,,,31792,31792 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,0,416,362135.880,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,1,416,366636.046,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,2,416,365683.161,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,3,416,363627.478,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,4,416,363236.933,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,0,1168,134191.470,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,1,1168,134170.503,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,2,1168,134042.992,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,3,1095,138098.886,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,4,1095,141146.544,,,79795,89795 +sample,quick_xml_serde_owned,escaped_1000,xml_read,0,240,647259.333,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,1,240,648068.579,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,2,240,646590.171,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,3,240,646669.500,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,4,240,646356.000,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_write,0,615,250513.800,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,1,615,249685.802,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,2,615,250529.530,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,3,615,249832.507,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,4,615,249527.034,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,0,240,641040.463,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,1,225,683945.160,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,2,240,646750.075,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,3,240,644802.463,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,4,240,637639.029,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,0,704,223729.169,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,1,704,224749.156,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,2,704,224709.652,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,3,704,224595.061,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,4,704,223032.578,,,79795,79795 +sample,serde_xml_rs_owned,escaped_1000,xml_read,0,54,2908678.148,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,1,54,2922747.148,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,2,54,2922763.963,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,3,51,3038078.275,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,4,54,2915268.889,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_write,0,420,360595.586,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,1,420,359982.600,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,2,420,367926.098,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,3,420,361615.888,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,4,420,364779.674,,,79795,79833 +sample,polyxml_dynamic,escaped_1000,xml_read,0,192,781317.682,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,1,192,781664.547,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,2,192,782045.422,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,3,192,784848.010,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,4,192,786131.906,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_write,0,855,178032.581,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,1,855,180867.751,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,2,912,175288.316,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,3,912,175134.905,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,4,855,176289.874,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_read,0,405,378221.360,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,1,405,375227.993,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,2,405,379143.773,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,3,405,377898.311,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,4,405,377739.496,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_write,0,1136,140266.415,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,1,1065,142035.235,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,2,1136,138922.114,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,3,1065,142737.681,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,4,1065,149442.561,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,json_read,0,1900,81644.013,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,1,1900,81947.489,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,2,1900,81821.031,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,3,1900,82164.917,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,4,1900,81960.351,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_write,0,3900,38988.777,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,1,4000,37835.952,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,2,4000,37946.781,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,3,4000,38435.958,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,4,4000,38079.056,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_read,0,1900,82517.215,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,1,1900,82769.635,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,2,1800,84634.359,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,3,1900,81818.822,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,4,1900,82312.503,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_write,0,4100,37337.077,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,1,4100,37116.635,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,2,4100,37396.752,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,3,4000,37627.818,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,4,4100,37239.708,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_read,0,1800,84556.559,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,1,1800,85059.677,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,2,1800,86520.772,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,3,1800,85420.510,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,4,1800,87873.076,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_write,0,3900,39353.793,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,1,3200,48023.096,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,2,3900,38733.330,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,3,3900,39183.233,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,4,3600,42128.305,,,49792,49792 +sample,polyxml_generated_borrowed,sensor_1,xml_read,0,503500,297.970,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,1,495600,302.750,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,2,504500,297.361,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,3,506800,296.037,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,4,503000,298.239,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_write,0,812200,184.685,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,1,812100,184.727,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,2,817200,183.555,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,3,811600,184.837,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,4,773500,193.946,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_read,0,204100,735.349,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,1,204600,733.480,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,2,203700,736.532,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,3,206000,728.234,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,4,202200,741.889,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_write,0,358300,418.737,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,1,350400,428.131,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,2,348500,430.481,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,3,352200,425.941,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,4,357200,420.044,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,0,206500,726.736,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,1,199100,753.695,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,2,200500,748.455,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,3,203700,736.413,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,4,205100,731.415,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,0,353400,424.501,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,1,349400,429.361,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,2,350300,428.288,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,3,347600,431.642,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,4,353800,423.983,,,65,65 +sample,serde_xml_rs_owned,sensor_1,xml_read,0,43100,3481.068,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,1,43200,3475.615,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,2,43700,3435.852,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,3,43600,3447.871,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,4,42500,3530.627,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_write,0,197500,759.560,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,1,199700,751.449,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,2,149000,1006.826,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,3,214400,699.735,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,4,214200,700.324,,,65,103 +sample,polyxml_dynamic,sensor_1,xml_read,0,143000,1049.415,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,1,140500,1067.979,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,2,141700,1058.579,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,3,142500,1053.171,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,4,144000,1042.374,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_write,0,950700,157.788,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,1,956900,156.756,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,2,949100,158.058,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,3,931600,161.023,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,4,939300,159.696,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_read,0,465800,322.086,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,1,468000,320.560,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,2,468300,320.364,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,3,472500,317.464,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,4,472900,317.244,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_write,0,823100,182.248,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,1,832300,180.242,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,2,833700,179.928,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,3,826700,181.446,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,4,837500,179.116,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,json_read,0,1808800,82.929,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,1,1791100,83.751,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,2,1689900,88.768,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,3,1749000,85.764,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,4,1785800,84.016,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_write,0,3730900,40.206,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,1,3735900,40.152,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,2,3698500,40.558,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,3,3728200,40.235,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,4,3620000,41.437,,,40,40 +sample,serde_json_handwritten,sensor_1,json_read,0,1774400,84.536,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,1,1770400,84.728,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,2,1770800,84.712,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,3,1784100,84.077,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,4,1764300,85.024,,,40,0 +sample,serde_json_handwritten,sensor_1,json_write,0,3745800,40.046,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,1,3776000,39.725,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,2,3618300,41.456,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,3,3781600,39.666,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,4,3688000,40.673,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_read,0,1765200,84.979,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,1,1760500,85.205,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,2,1755600,85.443,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,3,1770100,84.742,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,4,1760500,85.205,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_write,0,3537900,42.398,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,1,3661500,40.967,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,2,3662100,40.961,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,3,3663300,40.948,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,4,3542600,42.342,,,40,40 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-1.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-1.log new file mode 100644 index 00000000..cc230f40 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-1.log @@ -0,0 +1 @@ +memcap: <=7574 MiB (60% of 12623 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-2.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-2.csv new file mode 100644 index 00000000..e2f98eee --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-2.csv @@ -0,0 +1,271 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,quick_xml_serde_owned,escaped_1000,xml_read,0,225,669577.760,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,1,240,656109.213,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,2,240,652064.600,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,3,240,660226.921,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,4,240,652989.817,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_write,0,570,265268.425,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,1,608,256727.275,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,2,608,256396.280,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,3,608,254742.418,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,4,608,253475.449,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,0,240,676142.467,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,1,240,651228.917,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,2,240,657283.000,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,3,240,657669.475,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,4,240,643812.971,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,0,672,234651.237,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,1,672,231940.854,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,2,672,234602.586,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,3,672,231182.948,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,4,672,234211.402,,,79795,79795 +sample,serde_xml_rs_owned,escaped_1000,xml_read,0,54,2916940.981,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,1,54,2931145.870,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,2,51,3021531.529,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,3,54,2928814.833,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,4,51,3045204.569,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_write,0,432,362507.398,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,1,405,370447.398,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,2,432,364818.042,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,3,432,363738.509,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,4,432,367455.544,,,79795,79833 +sample,polyxml_dynamic,escaped_1000,xml_read,0,192,806499.422,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,1,192,785103.026,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,2,192,795375.240,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,3,192,791963.849,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,4,192,794066.161,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_write,0,870,182541.039,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,1,870,176208.032,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,2,812,190598.400,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,3,870,175330.318,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,4,870,176105.913,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_read,0,400,377434.068,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,1,400,381595.778,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,2,400,378501.660,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,3,400,376059.600,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,4,400,379169.162,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_write,0,1088,139260.926,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,1,1088,139068.778,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,2,1088,138827.250,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,3,1088,142752.467,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,4,1088,139365.954,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,0,408,375052.466,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,1,432,362603.134,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,2,432,363619.407,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,3,432,361862.604,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,4,432,362710.368,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,0,1120,138436.254,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,1,1120,138869.301,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,2,1120,137759.764,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,3,1120,139412.612,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,4,1120,139146.884,,,79795,89795 +sample,serde_json_handwritten,escaped_1000,json_read,0,1900,81347.374,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,1,1800,84870.081,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,2,1900,82433.961,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,3,1800,84843.843,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,4,1900,82550.517,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_write,0,4000,38309.710,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,1,4000,38067.954,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,2,3900,38816.098,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,3,3900,38616.601,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,4,3900,39030.600,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_read,0,1800,84397.576,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,1,1800,85864.733,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,2,1800,84490.079,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,3,1800,87949.084,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,4,1800,85810.833,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_write,0,4000,37600.190,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,1,4000,38461.479,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,2,4000,37851.122,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,3,4000,37632.395,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,4,4000,37975.142,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_read,0,1900,82314.911,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,1,1900,82490.427,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,2,1900,82390.324,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,3,1900,81923.275,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,4,1900,81526.311,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_write,0,4000,38172.719,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,1,3900,38511.348,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,2,3900,38564.047,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,3,3900,38999.671,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,4,3900,39120.938,,,49792,49792 +sample,quick_xml_serde_owned,sensor_1,xml_read,0,200400,748.789,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,1,201700,743.886,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,2,202700,740.026,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,3,203300,738.112,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,4,201400,744.843,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_write,0,364800,411.190,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,1,375800,399.191,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,2,375800,399.243,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,3,374700,400.374,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,4,375200,399.816,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,0,205300,730.699,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,1,203300,737.849,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,2,202100,742.547,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,3,199900,750.694,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,4,203300,737.885,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,0,367300,408.421,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,1,367800,407.860,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,2,354200,423.523,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,3,363400,412.858,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,4,366600,409.248,,,65,65 +sample,serde_xml_rs_owned,sensor_1,xml_read,0,43500,3448.529,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,1,43600,3441.298,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,2,43600,3446.597,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,3,43600,3446.695,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,4,43600,3445.606,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_write,0,213000,704.607,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,1,213400,703.115,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,2,213500,702.876,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,3,216100,694.260,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,4,210200,713.667,,,65,103 +sample,polyxml_dynamic,sensor_1,xml_read,0,144300,1039.930,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,1,138900,1080.079,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,2,135800,1105.132,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,3,144500,1038.705,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,4,143800,1043.299,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_write,0,949700,157.947,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,1,963200,155.744,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,2,957800,156.620,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,3,932000,160.953,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,4,954200,157.212,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_read,0,458600,327.095,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,1,471300,318.319,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,2,471200,318.366,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,3,470300,318.971,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,4,470500,318.811,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_write,0,799700,187.583,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,1,804700,186.413,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,2,803700,186.652,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,3,794000,188.926,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,4,775200,193.514,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_read,0,502900,298.285,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,1,402000,373.234,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,2,444100,337.821,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,3,505300,296.868,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,4,476400,314.907,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_write,0,766900,195.594,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,1,791600,189.510,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,2,794800,188.740,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,3,759200,197.597,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,4,782100,191.807,,,65,65 +sample,serde_json_handwritten,sensor_1,json_read,0,1794600,83.587,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,1,1793600,83.631,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,2,1792500,83.683,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,3,1802200,83.234,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,4,1800300,83.323,,,40,0 +sample,serde_json_handwritten,sensor_1,json_write,0,3724400,40.275,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,1,3762500,39.868,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,2,3727700,40.239,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,3,3754200,39.955,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,4,3791900,39.558,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_read,0,1805300,83.089,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,1,1788200,83.885,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,2,1790300,83.788,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,3,1777800,84.375,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,4,1513100,99.137,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_write,0,3572300,41.990,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,1,3674200,40.826,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,2,3662500,40.956,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,3,3618400,41.456,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,4,3638900,41.222,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_read,0,1832100,81.874,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,1,1801300,83.274,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,2,1835300,81.734,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,3,1827400,82.088,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,4,1830200,81.959,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_write,0,3696800,40.576,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,1,3737300,40.137,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,2,3735500,40.156,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,3,3751900,39.980,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,4,3680400,40.757,,,40,40 +sample,quick_xml_serde_owned,sensor_1000,xml_read,0,345,436254.351,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,1,345,452504.348,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,2,345,443551.780,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,3,345,440853.788,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,4,345,448109.380,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_write,0,750,200534.932,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,1,800,198947.043,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,2,800,197798.818,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,3,800,198105.476,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,4,800,198764.676,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,0,384,410229.523,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,1,384,405355.969,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,2,384,404433.792,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,3,384,406636.438,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,4,360,435817.856,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,0,672,233674.506,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,1,756,205864.573,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,2,756,203229.385,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,3,798,197455.251,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,4,798,197051.407,,,53795,53795 +sample,serde_xml_rs_owned,sensor_1000,xml_read,0,64,2379685.859,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,1,64,2390193.359,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,2,64,2412711.469,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,3,64,2408844.719,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,4,60,2500697.767,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_write,0,465,342494.720,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,1,465,333441.583,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,2,496,322334.879,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,3,465,330695.953,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,4,465,337210.520,,,53795,53833 +sample,polyxml_dynamic,sensor_1000,xml_read,0,240,630950.208,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,1,240,663469.000,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,2,225,668587.951,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,3,240,638272.792,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,4,240,640284.967,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_write,0,1700,90588.091,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,1,1700,89195.498,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,2,1700,89543.745,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,3,1700,89386.962,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,4,1700,89580.185,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_read,0,645,232579.236,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,1,688,231300.766,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,2,645,247425.566,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,3,688,231648.391,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,4,688,231031.494,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_write,0,2800,54428.412,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,1,2800,54409.302,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,2,2800,53985.043,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,3,2800,53923.637,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,4,2800,54144.543,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,0,784,193142.074,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,1,833,190328.358,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,2,784,192011.773,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,3,784,191391.455,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,4,833,189674.915,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,0,2800,55563.588,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,1,2800,54298.185,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,2,2800,55164.704,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,3,2700,55922.053,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,4,2800,54699.074,,,53795,53795 +sample,serde_json_handwritten,sensor_1000,json_read,0,2500,61787.752,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,1,2500,61450.434,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,2,2500,61822.048,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,3,2400,62561.268,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,4,2500,61823.412,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_write,0,5800,26036.799,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,1,5600,27279.854,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,2,5500,27678.319,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,3,5400,27977.832,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,4,5600,27221.845,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_read,0,2400,63980.290,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,1,2400,63464.842,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,2,2400,63384.943,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,3,2400,63790.894,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,4,2400,63593.342,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_write,0,5800,26063.939,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,1,5800,26180.016,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,2,5500,27320.782,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,3,5500,27660.364,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,4,5700,26341.436,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_read,0,2500,62060.628,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,1,2500,61923.420,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,2,2500,62270.689,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,3,2500,61374.316,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,4,2500,60781.052,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_write,0,5600,27154.557,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,1,5700,26548.143,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,2,5400,28157.781,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,3,5600,27175.882,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,4,5800,26282.799,,,31792,31792 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-2.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-2.log new file mode 100644 index 00000000..a85bfb78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-2.log @@ -0,0 +1 @@ +memcap: <=7578 MiB (60% of 12630 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-3.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-3.csv new file mode 100644 index 00000000..ace78dc6 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-3.csv @@ -0,0 +1,271 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,quick_xml_serde_borrowed,sensor_1,xml_read,0,196800,762.383,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,1,199300,752.640,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,2,188300,796.785,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,3,196800,762.550,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,4,200200,749.505,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,0,363400,412.836,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,1,363800,412.328,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,2,360600,416.056,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,3,364100,412.008,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,4,363800,412.406,,,65,65 +sample,serde_xml_rs_owned,sensor_1,xml_read,0,44700,3359.657,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,1,44800,3351.078,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,2,44400,3385.751,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,3,44600,3364.294,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,4,43000,3488.976,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_write,0,208100,720.890,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,1,203100,738.875,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,2,206900,725.214,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,3,209300,716.952,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,4,208900,718.053,,,65,103 +sample,polyxml_dynamic,sensor_1,xml_read,0,146500,1024.368,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,1,145400,1032.012,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,2,146300,1025.562,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,3,146400,1025.082,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,4,146800,1021.925,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_write,0,919100,163.206,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,1,937400,160.022,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,2,941800,159.283,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,3,902200,166.261,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,4,930300,161.248,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_read,0,455500,329.312,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,1,470400,318.927,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,2,473700,316.694,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,3,470100,319.122,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,4,473900,316.534,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_write,0,772000,194.310,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,1,772200,194.260,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,2,777200,193.015,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,3,776300,193.233,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,4,768900,195.094,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_read,0,500200,299.911,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,1,503300,298.089,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,2,504400,297.402,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,3,502400,298.588,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,4,492500,304.589,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_write,0,784800,191.132,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,1,778900,192.583,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,2,786300,190.784,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,3,777200,193.017,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,4,781700,191.967,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_read,0,201000,746.298,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,1,200500,748.456,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,2,200200,749.492,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,3,201500,744.687,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,4,201000,746.324,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_write,0,346900,432.446,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,1,344600,435.307,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,2,344000,436.120,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,3,344000,436.090,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,4,351700,426.549,,,65,65 +sample,polyxml_generated_owned,sensor_1,json_read,0,1804000,83.150,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,1,1806000,83.057,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,2,1788700,83.860,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,3,1780900,84.232,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,4,1779000,84.319,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_write,0,3652600,41.068,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,1,3626000,41.368,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,2,3617700,41.464,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,3,3646200,41.139,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,4,3638700,41.224,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_read,0,1823100,82.281,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,1,1762000,85.133,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,2,1809700,82.888,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,3,1816000,82.600,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,4,1834400,81.772,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_write,0,3677100,40.795,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,1,3629800,41.326,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,2,3695700,40.588,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,3,3671800,40.853,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,4,3690600,40.645,,,40,40 +sample,serde_json_handwritten,sensor_1,json_read,0,1788800,83.859,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,1,1721400,87.138,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,2,1751200,85.659,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,3,1797800,83.440,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,4,1801700,83.255,,,40,0 +sample,serde_json_handwritten,sensor_1,json_write,0,3667300,40.903,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,1,3786100,39.619,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,2,3803300,39.440,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,3,3818600,39.282,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,4,3747700,40.026,,,40,40 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,0,384,407236.953,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,1,384,408118.349,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,2,360,421069.122,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,3,384,415196.768,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,4,384,408519.513,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,0,780,198900.945,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,1,780,195194.717,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,2,780,194817.500,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,3,780,203239.421,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,4,728,207621.081,,,53795,53795 +sample,serde_xml_rs_owned,sensor_1000,xml_read,0,64,2396307.922,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,1,64,2415720.234,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,2,64,2385571.078,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,3,64,2401346.391,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,4,60,2554419.300,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_write,0,493,321178.063,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,1,493,322845.176,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,2,464,325719.358,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,3,464,324101.552,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,4,493,323405.888,,,53795,53833 +sample,polyxml_dynamic,sensor_1000,xml_read,0,240,640184.946,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,1,240,639152.967,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,2,240,638545.504,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,3,240,657796.504,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,4,240,637073.196,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_write,0,1764,88711.829,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,1,1764,88545.033,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,2,1764,89105.909,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,3,1764,89217.519,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,4,1764,88044.266,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_read,0,672,237215.979,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,1,672,232892.954,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,2,630,239475.429,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,3,672,234736.308,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,4,672,232097.719,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_write,0,2800,53613.315,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,1,2700,55680.436,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,2,2800,53601.139,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,3,2800,53663.717,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,4,2800,53576.751,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,0,780,192384.050,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,1,832,191612.044,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,2,780,194291.235,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,3,780,193201.637,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,4,832,191161.425,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,0,2800,54814.366,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,1,2800,54621.397,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,2,2600,59518.163,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,3,2800,53857.024,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,4,2800,54473.416,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_read,0,368,434131.288,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,1,345,437763.093,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,2,345,437141.139,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,3,345,436582.217,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,4,345,440020.203,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_write,0,780,192517.244,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,1,832,190749.850,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,2,832,191399.548,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,3,780,192340.128,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,4,780,195305.392,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,json_read,0,2400,63603.772,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,1,2400,63590.278,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,2,2300,66550.521,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,3,2400,64524.530,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,4,2400,64120.915,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_write,0,5400,28242.657,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,1,5700,26526.085,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,2,5500,27509.901,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,3,5600,27235.797,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,4,5500,27681.361,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_read,0,2500,61610.708,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,1,2500,61725.721,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,2,2400,63446.742,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,3,2500,61697.013,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,4,2500,61048.973,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_write,0,5600,27122.351,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,1,5700,26757.354,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,2,5700,26400.168,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,3,5600,26792.445,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,4,5700,26627.170,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_read,0,2500,61977.055,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,1,2500,61996.241,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,2,2500,62103.591,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,3,2500,61695.234,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,4,2500,62226.730,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_write,0,5500,27379.247,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,1,5700,26530.754,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,2,5600,27045.658,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,3,5700,26316.471,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,4,5400,27818.792,,,31792,31792 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,0,240,645104.083,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,1,240,646266.767,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,2,240,658611.708,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,3,240,647645.117,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,4,240,651745.150,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,0,608,249124.224,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,1,494,315409.393,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,2,608,251338.372,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,3,608,259455.031,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,4,608,253016.082,,,79795,79795 +sample,serde_xml_rs_owned,escaped_1000,xml_read,0,54,2941168.074,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,1,54,2898306.519,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,2,54,2896468.056,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,3,51,2999214.843,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,4,51,3006059.039,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_write,0,416,382610.892,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,1,416,362536.998,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,2,416,362456.435,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,3,416,361540.490,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,4,416,365775.373,,,79795,79833 +sample,polyxml_dynamic,escaped_1000,xml_read,0,198,795160.641,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,1,198,796202.596,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,2,187,824401.433,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,3,198,796332.944,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,4,198,794972.515,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_write,0,901,169474.920,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,1,901,169932.162,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,2,901,168611.457,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,3,901,172647.098,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,4,901,176200.236,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_read,0,400,377439.205,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,1,400,375881.220,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,2,400,392022.638,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,3,400,380770.872,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,4,400,379937.125,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_write,0,1139,132863.721,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,1,1139,133484.299,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,2,1139,133701.759,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,3,1139,135224.429,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,4,1139,133121.449,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,0,416,383151.298,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,1,390,395570.531,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,2,416,366301.166,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,3,416,362288.589,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,4,416,362704.248,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,0,1155,135666.044,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,1,1155,131843.558,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,2,1155,133399.267,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,3,1155,132313.638,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,4,1155,133236.941,,,79795,89795 +sample,quick_xml_serde_owned,escaped_1000,xml_read,0,240,648742.908,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,1,240,650289.396,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,2,240,648262.717,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,3,240,652479.925,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,4,240,649065.904,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_write,0,704,224176.196,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,1,704,225686.818,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,2,704,225610.784,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,3,660,231037.773,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,4,660,230651.289,,,79795,79795 +sample,polyxml_generated_owned,escaped_1000,json_read,0,1800,84602.404,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,1,1700,88356.130,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,2,1800,84659.355,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,3,1800,84917.006,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,4,1800,84993.652,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_write,0,4000,37527.817,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,1,4000,37699.775,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,2,4100,37246.702,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,3,4000,37600.909,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,4,4000,37816.223,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_read,0,1900,81443.816,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,1,1800,84913.176,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,2,1800,84431.204,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,3,1900,82361.656,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,4,1700,90690.892,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_write,0,3600,41717.095,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,1,4000,38093.750,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,2,4000,38291.025,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,3,4000,38248.753,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,4,3900,38790.235,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_read,0,1900,81914.649,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,1,1800,84652.021,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,2,1900,82461.400,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,3,1900,82847.672,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,4,1800,84340.946,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_write,0,3900,38697.748,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,1,4000,37608.823,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,2,4100,37414.060,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,3,4100,37314.337,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,4,4000,37597.855,,,49792,49792 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-3.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-3.log new file mode 100644 index 00000000..ff9308c8 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-3.log @@ -0,0 +1 @@ +memcap: <=7580 MiB (60% of 12634 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-4.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-4.csv new file mode 100644 index 00000000..e3008698 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-4.csv @@ -0,0 +1,271 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,serde_xml_rs_owned,sensor_1000,xml_read,0,63,2445032.286,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,1,63,2397252.952,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,2,63,2405987.063,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,3,63,2397886.063,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,4,63,2406978.079,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_write,0,496,320875.978,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,1,465,335370.748,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,2,496,322003.302,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,3,496,320447.129,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,4,465,324662.669,,,53795,53833 +sample,polyxml_dynamic,sensor_1000,xml_read,0,240,653936.767,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,1,240,629537.217,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,2,240,640182.433,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,3,240,637935.425,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,4,240,626839.729,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_write,0,1700,89020.035,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,1,1700,88656.846,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,2,1700,88319.535,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,3,1700,89209.604,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,4,1700,91550.240,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_read,0,660,231905.139,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,1,660,232994.421,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,2,660,232607.888,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,3,660,232955.589,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,4,660,231486.750,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_write,0,2900,53511.205,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,1,2800,54214.612,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,2,2900,53223.888,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,3,2800,55114.529,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,4,2800,53933.704,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,0,780,193059.597,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,1,780,193822.305,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,2,780,195525.885,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,3,780,192903.599,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,4,832,192438.684,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,0,2800,54120.691,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,1,2800,53824.869,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,2,2800,53915.651,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,3,2800,53676.590,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,4,2800,54043.633,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_read,0,357,434042.964,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,1,357,437387.070,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,2,357,435105.381,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,3,357,433597.084,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,4,357,438277.339,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_write,0,765,202835.378,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,1,765,199492.914,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,2,765,205724.987,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,3,714,213998.318,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,4,765,201042.719,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,0,368,409328.595,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,1,345,446377.229,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,2,391,405488.253,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,3,368,409475.288,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,4,368,426395.918,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,0,780,195508.994,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,1,780,198101.285,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,2,780,196438.423,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,3,780,202995.408,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,4,780,197338.085,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,json_read,0,2500,61594.500,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,1,2500,61229.550,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,2,2500,61144.801,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,3,2500,61746.783,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,4,2400,63294.922,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_write,0,5800,26111.949,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,1,5800,26179.656,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,2,5700,26411.645,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,3,5800,26001.605,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,4,5700,26663.777,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_read,0,2400,63753.235,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,1,2400,62826.058,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,2,2400,63077.533,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,3,2500,62241.117,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,4,2500,62194.655,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_write,0,5500,27353.811,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,1,5700,26442.679,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,2,5600,26937.629,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,3,5700,26600.760,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,4,5700,26609.314,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_read,0,2400,63744.548,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,1,2400,63739.065,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,2,2400,63665.369,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,3,2400,64490.650,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,4,2400,64189.830,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_write,0,5400,28252.416,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,1,5700,26456.789,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,2,5700,26430.266,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,3,5800,25998.355,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,4,5800,26216.443,,,31792,31792 +sample,serde_xml_rs_owned,escaped_1000,xml_read,0,51,2959931.314,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,1,51,2975706.588,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,2,51,3057124.471,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,3,54,2932987.407,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,4,51,2949365.549,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_write,0,432,361419.451,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,1,432,378800.236,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,2,432,368794.748,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,3,432,364178.317,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,4,378,417939.735,,,79795,79833 +sample,polyxml_dynamic,escaped_1000,xml_read,0,192,785309.255,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,1,192,795484.552,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,2,192,786184.396,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,3,192,788655.688,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,4,192,788247.484,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_write,0,885,175337.939,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,1,944,169291.395,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,2,885,170803.270,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,3,885,171094.968,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,4,826,192083.610,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_read,0,400,380020.630,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,1,375,409126.632,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,2,400,378505.265,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,3,400,377982.407,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,4,400,389745.570,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_write,0,1184,134477.251,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,1,1184,134439.557,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,2,1110,138703.541,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,3,1184,133759.381,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,4,1184,134000.845,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,0,405,375012.877,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,1,405,378179.333,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,2,405,387270.731,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,3,405,375357.842,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,4,405,375288.721,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,0,1037,151293.449,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,1,1037,150302.288,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,2,1037,151424.198,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,3,1037,151003.985,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,4,915,165543.342,,,79795,89795 +sample,quick_xml_serde_owned,escaped_1000,xml_read,0,234,670300.453,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,1,234,646451.197,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,2,234,651423.248,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,3,234,645951.094,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,4,234,649981.269,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_write,0,615,249685.496,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,1,656,241036.140,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,2,615,249107.480,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,3,656,238454.040,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,4,656,237953.784,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,0,189,811846.677,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,1,238,644757.298,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,2,231,652833.424,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,3,231,652363.784,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,4,238,639579.126,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,0,688,228665.727,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,1,688,226179.541,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,2,688,229624.834,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,3,688,229575.315,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,4,688,226918.852,,,79795,79795 +sample,polyxml_generated_borrowed,escaped_1000,json_read,0,1900,81864.845,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,1,1900,83127.886,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,2,1900,81506.761,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,3,1900,82020.828,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,4,1900,82325.481,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_write,0,4000,38145.285,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,1,4000,38291.899,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,2,4000,38210.747,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,3,4000,38085.800,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,4,4000,37661.276,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_read,0,1900,82086.183,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,1,1800,84388.187,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,2,1900,82098.351,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,3,1900,82040.287,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,4,1900,82662.305,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_write,0,4100,36998.956,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,1,4100,36955.038,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,2,4100,36729.775,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,3,3900,38829.822,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,4,4100,37345.023,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_read,0,1800,84983.229,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,1,1800,85155.614,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,2,1800,85729.479,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,3,1800,84600.968,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,4,1800,87593.919,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_write,0,4100,37457.334,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,1,4100,37271.763,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,2,4000,37809.319,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,3,4100,37527.880,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,4,4100,37384.488,,,49792,49792 +sample,serde_xml_rs_owned,sensor_1,xml_read,0,43700,3433.120,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,1,43600,3440.592,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,2,42200,3559.043,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,3,43100,3481.270,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,4,38500,3901.166,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_write,0,212800,705.109,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,1,210700,712.073,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,2,207700,722.259,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,3,211000,710.938,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,4,211600,709.101,,,65,103 +sample,polyxml_dynamic,sensor_1,xml_read,0,143300,1046.981,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,1,144900,1035.383,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,2,144200,1040.931,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,3,145300,1032.841,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,4,143400,1047.060,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_write,0,955700,156.955,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,1,959900,156.267,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,2,945200,158.710,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,3,963900,155.634,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,4,955400,157.011,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_read,0,472900,317.193,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,1,460000,326.125,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,2,458400,327.261,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,3,473700,316.703,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,4,473000,317.178,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_write,0,822900,182.287,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,1,823500,182.157,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,2,813800,184.337,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,3,821000,182.725,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,4,815400,183.974,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_read,0,494200,303.526,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,1,502300,298.656,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,2,504100,297.616,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,3,505000,297.061,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,4,499600,300.269,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_write,0,811000,184.971,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,1,798100,187.949,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,2,828500,181.051,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,3,829700,180.799,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,4,833400,180.000,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_read,0,202600,740.498,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,1,201800,743.639,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,2,202800,739.801,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,3,202500,740.759,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,4,203100,738.598,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_write,0,367100,408.713,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,1,366300,409.523,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,2,367800,407.841,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,3,357200,419.955,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,4,362400,413.964,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,0,191800,782.437,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,1,196000,765.620,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,2,202000,742.754,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,3,203700,736.393,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,4,200700,747.572,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,0,371700,403.572,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,1,363500,412.669,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,2,369100,406.493,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,3,363900,412.273,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,4,371200,404.144,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,json_read,0,1807500,82.989,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,1,1811600,82.802,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,2,1767100,84.886,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,3,1761200,85.175,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,4,1813400,82.718,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_write,0,3690200,40.649,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,1,3691700,40.632,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,2,3705700,40.480,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,3,3689000,40.662,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,4,3638800,41.223,,,40,40 +sample,serde_json_handwritten,sensor_1,json_read,0,1732800,86.567,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,1,1783100,84.127,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,2,1785900,83.992,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,3,1736200,86.396,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,4,1760700,85.196,,,40,0 +sample,serde_json_handwritten,sensor_1,json_write,0,3718800,40.336,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,1,3697800,40.565,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,2,3774500,39.741,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,3,3766800,39.822,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,4,3784500,39.636,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_read,0,1803200,83.187,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,1,1796800,83.486,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,2,1796900,83.502,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,3,1744400,85.992,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,4,1767200,84.883,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_write,0,3667300,40.902,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,1,3654000,41.052,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,2,3644900,41.154,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,3,3654400,41.047,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,4,3520300,42.610,,,40,40 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-4.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-4.log new file mode 100644 index 00000000..9dc7bfb0 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-4.log @@ -0,0 +1 @@ +memcap: <=7581 MiB (60% of 12636 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-5.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-5.csv new file mode 100644 index 00000000..7868047d --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-5.csv @@ -0,0 +1,271 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +sample,polyxml_dynamic,escaped_1000,xml_read,0,192,814986.594,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,1,192,787631.849,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,2,192,782978.812,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,3,192,790321.729,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_read,4,192,790013.031,,,79795,0 +sample,polyxml_dynamic,escaped_1000,xml_write,0,976,162929.617,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,1,915,163938.010,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,2,915,165048.346,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,3,976,162660.150,,,79795,89795 +sample,polyxml_dynamic,escaped_1000,xml_write,4,915,164419.633,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_read,0,416,379700.781,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,1,390,391609.849,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,2,416,375425.788,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,3,390,390753.003,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_read,4,416,376081.774,,,79795,0 +sample,polyxml_generated_owned,escaped_1000,xml_write,0,1241,127106.496,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,1,1241,127851.909,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,2,1241,127616.763,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,3,1241,127937.899,,,79795,89795 +sample,polyxml_generated_owned,escaped_1000,xml_write,4,1241,127630.317,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,0,405,379804.198,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,1,432,360883.444,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,2,432,362527.762,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,3,432,363675.741,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_read,4,405,372766.363,,,79795,0 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,0,1200,129282.073,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,1,1200,130558.360,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,2,1200,126628.162,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,3,1200,128663.684,,,79795,89795 +sample,polyxml_generated_borrowed,escaped_1000,xml_write,4,1200,127490.090,,,79795,89795 +sample,quick_xml_serde_owned,escaped_1000,xml_read,0,210,761361.457,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,1,210,739706.014,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,2,240,656509.571,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,3,240,639724.783,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_read,4,240,650466.992,,,79795,0 +sample,quick_xml_serde_owned,escaped_1000,xml_write,0,615,244355.294,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,1,615,244371.550,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,2,615,249770.881,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,3,656,242041.723,,,79795,79795 +sample,quick_xml_serde_owned,escaped_1000,xml_write,4,656,242574.495,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,0,240,640140.267,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,1,240,654812.450,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,2,240,647070.408,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,3,240,638866.512,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_read,4,240,645018.933,,,79795,0 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,0,704,225319.328,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,1,704,218263.857,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,2,704,219386.149,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,3,704,220226.852,,,79795,79795 +sample,quick_xml_serde_borrowed,escaped_1000,xml_write,4,704,225440.547,,,79795,79795 +sample,serde_xml_rs_owned,escaped_1000,xml_read,0,54,2924337.222,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,1,54,2920394.796,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,2,54,2922043.796,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,3,54,2909485.185,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_read,4,54,2919824.500,,,79795,0 +sample,serde_xml_rs_owned,escaped_1000,xml_write,0,432,363038.465,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,1,432,365931.306,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,2,432,361390.685,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,3,432,366963.981,,,79795,79833 +sample,serde_xml_rs_owned,escaped_1000,xml_write,4,432,369902.544,,,79795,79833 +sample,serde_json_handwritten,escaped_1000,json_read,0,1900,82542.726,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,1,1800,84442.074,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,2,1900,82781.726,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,3,1900,82683.527,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_read,4,1900,81938.703,,,49792,0 +sample,serde_json_handwritten,escaped_1000,json_write,0,3500,43510.291,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,1,3300,45751.276,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,2,3900,38546.489,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,3,4000,38214.241,,,49792,49792 +sample,serde_json_handwritten,escaped_1000,json_write,4,4000,38028.692,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_read,0,1800,84879.639,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,1,1800,84706.377,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,2,1800,85168.223,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,3,1800,84789.341,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_read,4,1800,87171.463,,,49792,0 +sample,polyxml_generated_owned,escaped_1000,json_write,0,4000,37772.646,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,1,3700,41328.319,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,2,4100,37358.355,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,3,4100,37447.605,,,49792,49792 +sample,polyxml_generated_owned,escaped_1000,json_write,4,4100,37373.890,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_read,0,1900,81890.194,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,1,1900,81445.627,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,2,1800,84675.411,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,3,1900,81450.758,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_read,4,1900,82021.156,,,49792,0 +sample,polyxml_generated_borrowed,escaped_1000,json_write,0,4000,37503.528,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,1,4100,37292.890,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,2,4000,38295.924,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,3,4000,38497.639,,,49792,49792 +sample,polyxml_generated_borrowed,escaped_1000,json_write,4,4000,37865.517,,,49792,49792 +sample,polyxml_dynamic,sensor_1,xml_read,0,140700,1066.823,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,1,142500,1052.763,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,2,142100,1056.277,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,3,142300,1054.300,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_read,4,140900,1065.360,,,65,0 +sample,polyxml_dynamic,sensor_1,xml_write,0,963200,155.745,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,1,959500,156.338,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,2,953200,157.370,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,3,960300,156.203,,,65,65 +sample,polyxml_dynamic,sensor_1,xml_write,4,959200,156.383,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_read,0,469900,319.220,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,1,460200,325.953,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,2,454700,329.903,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,3,475200,315.689,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_read,4,461500,325.041,,,65,0 +sample,polyxml_generated_owned,sensor_1,xml_write,0,780300,192.253,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,1,734400,204.273,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,2,786700,190.738,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,3,786500,190.722,,,65,65 +sample,polyxml_generated_owned,sensor_1,xml_write,4,793400,189.076,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_read,0,506500,296.198,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,1,504100,297.569,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,2,506600,296.098,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,3,507000,295.915,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_read,4,493500,303.985,,,65,0 +sample,polyxml_generated_borrowed,sensor_1,xml_write,0,784500,191.223,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,1,765700,195.919,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,2,800500,187.384,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,3,795000,188.700,,,65,65 +sample,polyxml_generated_borrowed,sensor_1,xml_write,4,800600,187.374,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_read,0,203100,738.622,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,1,201700,744.079,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,2,202700,740.213,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,3,201600,744.168,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_read,4,199800,750.789,,,65,0 +sample,quick_xml_serde_owned,sensor_1,xml_write,0,373600,401.531,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,1,375300,399.781,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,2,374000,401.089,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,3,354500,423.139,,,65,65 +sample,quick_xml_serde_owned,sensor_1,xml_write,4,368700,406.867,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,0,204200,734.685,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,1,204000,735.516,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,2,203700,736.668,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,3,202800,739.980,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_read,4,203500,737.390,,,65,0 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,0,378700,396.148,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,1,375700,399.344,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,2,379700,395.069,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,3,378300,396.568,,,65,65 +sample,quick_xml_serde_borrowed,sensor_1,xml_write,4,375800,399.204,,,65,65 +sample,serde_xml_rs_owned,sensor_1,xml_read,0,41900,3583.527,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,1,42100,3565.082,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,2,40900,3675.303,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,3,41600,3606.285,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_read,4,42200,3556.613,,,65,0 +sample,serde_xml_rs_owned,sensor_1,xml_write,0,210900,711.426,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,1,210600,712.300,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,2,211800,708.411,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,3,209900,714.954,,,65,103 +sample,serde_xml_rs_owned,sensor_1,xml_write,4,212800,705.127,,,65,103 +sample,serde_json_handwritten,sensor_1,json_read,0,1727800,86.820,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,1,1760600,85.203,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,2,1778000,84.365,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,3,1798500,83.403,,,40,0 +sample,serde_json_handwritten,sensor_1,json_read,4,1800400,83.318,,,40,0 +sample,serde_json_handwritten,sensor_1,json_write,0,3489300,42.990,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,1,3609100,41.563,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,2,3733100,40.182,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,3,3724100,40.279,,,40,40 +sample,serde_json_handwritten,sensor_1,json_write,4,3723600,40.284,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_read,0,1788900,83.853,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,1,1807100,83.014,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,2,1815100,82.643,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,3,1753400,85.552,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_read,4,1794400,83.598,,,40,0 +sample,polyxml_generated_owned,sensor_1,json_write,0,3662400,40.957,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,1,3598900,41.680,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,2,3628200,41.344,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,3,3630900,41.313,,,40,40 +sample,polyxml_generated_owned,sensor_1,json_write,4,3575400,41.954,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_read,0,1765500,84.964,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,1,1843400,81.374,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,2,1827000,82.106,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,3,1827900,82.069,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_read,4,1835100,81.741,,,40,0 +sample,polyxml_generated_borrowed,sensor_1,json_write,0,3707900,40.455,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,1,3709600,40.437,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,2,3710200,40.430,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,3,3655200,41.038,,,40,40 +sample,polyxml_generated_borrowed,sensor_1,json_write,4,3721700,40.305,,,40,40 +sample,polyxml_dynamic,sensor_1000,xml_read,0,240,631574.042,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,1,240,632092.608,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,2,240,647536.542,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,3,240,659110.642,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_read,4,240,635759.550,,,53795,0 +sample,polyxml_dynamic,sensor_1000,xml_write,0,1700,88864.514,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,1,1700,90628.570,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,2,1700,89098.443,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,3,1600,98076.447,,,53795,53795 +sample,polyxml_dynamic,sensor_1000,xml_write,4,1600,94680.679,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_read,0,646,243515.034,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,1,608,252813.768,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,2,684,231345.215,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,3,684,230719.716,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_read,4,684,231096.550,,,53795,0 +sample,polyxml_generated_owned,sensor_1000,xml_write,0,2800,55339.989,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,1,2800,54748.863,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,2,2800,54777.506,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,3,2800,54243.556,,,53795,53795 +sample,polyxml_generated_owned,sensor_1000,xml_write,4,2800,54878.059,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,0,832,189529.877,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,1,832,188563.647,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,2,832,190770.835,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,3,832,191420.740,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_read,4,832,190443.780,,,53795,0 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,0,2800,54394.168,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,1,2800,54192.009,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,2,2800,54187.250,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,3,2800,55286.848,,,53795,53795 +sample,polyxml_generated_borrowed,sensor_1000,xml_write,4,2800,54611.901,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_read,0,345,436195.142,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,1,345,438326.971,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,2,368,433221.519,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,3,345,434785.301,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_read,4,368,432294.938,,,53795,0 +sample,quick_xml_serde_owned,sensor_1000,xml_write,0,752,204944.523,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,1,752,204179.215,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,2,752,202673.884,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,3,752,204047.293,,,53795,53795 +sample,quick_xml_serde_owned,sensor_1000,xml_write,4,752,203637.102,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,0,374,419585.168,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,1,374,421911.299,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,2,374,411345.455,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,3,374,404503.596,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_read,4,374,406357.890,,,53795,0 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,0,735,206696.324,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,1,784,203241.642,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,2,735,204800.192,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,3,735,214873.699,,,53795,53795 +sample,quick_xml_serde_borrowed,sensor_1000,xml_write,4,784,204931.142,,,53795,53795 +sample,serde_xml_rs_owned,sensor_1000,xml_read,0,64,2405761.734,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,1,64,2406851.688,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,2,64,2381271.641,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,3,60,2506344.550,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_read,4,60,2620352.050,,,53795,0 +sample,serde_xml_rs_owned,sensor_1000,xml_write,0,465,331189.933,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,1,465,323178.495,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,2,465,323365.138,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,3,496,321469.121,,,53795,53833 +sample,serde_xml_rs_owned,sensor_1000,xml_write,4,465,333472.731,,,53795,53833 +sample,serde_json_handwritten,sensor_1000,json_read,0,2400,63280.102,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,1,2500,61811.837,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,2,2400,62604.302,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,3,2500,61874.172,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_read,4,2500,62317.288,,,31792,0 +sample,serde_json_handwritten,sensor_1000,json_write,0,5500,27412.791,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,1,5300,28523.369,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,2,5400,28107.946,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,3,5700,26374.992,,,31792,31792 +sample,serde_json_handwritten,sensor_1000,json_write,4,5500,27614.192,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_read,0,2400,63681.988,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,1,2400,63406.671,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,2,2400,64421.739,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,3,2400,64325.958,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_read,4,2400,64328.674,,,31792,0 +sample,polyxml_generated_owned,sensor_1000,json_write,0,5800,26187.403,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,1,5500,27294.602,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,2,5600,27095.879,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,3,5600,27216.514,,,31792,31792 +sample,polyxml_generated_owned,sensor_1000,json_write,4,5800,26307.188,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_read,0,2400,62639.609,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,1,2400,62737.380,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,2,2500,61263.812,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,3,2500,61674.673,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_read,4,2500,60874.433,,,31792,0 +sample,polyxml_generated_borrowed,sensor_1000,json_write,0,5700,26760.001,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,1,5600,26984.824,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,2,5600,27252.945,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,3,5600,26801.687,,,31792,31792 +sample,polyxml_generated_borrowed,sensor_1000,json_write,4,5600,27177.292,,,31792,31792 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-5.log b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-5.log new file mode 100644 index 00000000..ff9308c8 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-5.log @@ -0,0 +1 @@ +memcap: <=7580 MiB (60% of 12634 MiB available) [systemd MemoryMax, swap off] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-allocations.csv b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-allocations.csv new file mode 100644 index 00000000..d90ec310 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/rust-allocations.csv @@ -0,0 +1,55 @@ +kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes +allocation,polyxml_dynamic,escaped_1000,xml_read,0,1,,3025,487441,79795,0 +allocation,polyxml_dynamic,escaped_1000,xml_write,0,1,,2009,339302,79795,89795 +allocation,polyxml_generated_owned,escaped_1000,xml_read,0,1,,4012,149694,79795,0 +allocation,polyxml_generated_owned,escaped_1000,xml_write,0,1,,3015,349806,79795,89795 +allocation,polyxml_generated_borrowed,escaped_1000,xml_read,0,1,,3012,141694,79795,0 +allocation,polyxml_generated_borrowed,escaped_1000,xml_write,0,1,,3015,349806,79795,89795 +allocation,quick_xml_serde_owned,escaped_1000,xml_read,0,1,,4016,167837,79795,0 +allocation,quick_xml_serde_owned,escaped_1000,xml_write,0,1,,4016,633742,79795,79795 +allocation,quick_xml_serde_borrowed,escaped_1000,xml_read,0,1,,4016,167837,79795,0 +allocation,quick_xml_serde_borrowed,escaped_1000,xml_write,0,1,,4016,633742,79795,79795 +allocation,serde_xml_rs_owned,escaped_1000,xml_read,0,1,,53041,7029019,79795,0 +allocation,serde_xml_rs_owned,escaped_1000,xml_write,0,1,,9021,298209,79795,79833 +allocation,serde_json_handwritten,escaped_1000,json_read,0,1,,1011,91346,49792,0 +allocation,serde_json_handwritten,escaped_1000,json_write,0,1,,10,130944,49792,49792 +allocation,polyxml_generated_owned,escaped_1000,json_read,0,1,,1011,91346,49792,0 +allocation,polyxml_generated_owned,escaped_1000,json_write,0,1,,10,130944,49792,49792 +allocation,polyxml_generated_borrowed,escaped_1000,json_read,0,1,,1011,91346,49792,0 +allocation,polyxml_generated_borrowed,escaped_1000,json_write,0,1,,10,130944,49792,49792 +allocation,polyxml_dynamic,sensor_1,xml_read,0,1,,17,11376,65,0 +allocation,polyxml_dynamic,sensor_1,xml_write,0,1,,1,512,65,65 +allocation,polyxml_generated_owned,sensor_1,xml_read,0,1,,6,200,65,0 +allocation,polyxml_generated_owned,sensor_1,xml_write,0,1,,6,258,65,65 +allocation,polyxml_generated_borrowed,sensor_1,xml_read,0,1,,4,184,65,0 +allocation,polyxml_generated_borrowed,sensor_1,xml_write,0,1,,6,258,65,65 +allocation,quick_xml_serde_owned,sensor_1,xml_read,0,1,,9,445,65,0 +allocation,quick_xml_serde_owned,sensor_1,xml_write,0,1,,10,430,65,65 +allocation,quick_xml_serde_borrowed,sensor_1,xml_read,0,1,,8,437,65,0 +allocation,quick_xml_serde_borrowed,sensor_1,xml_write,0,1,,10,430,65,65 +allocation,serde_xml_rs_owned,sensor_1,xml_read,0,1,,81,11790,65,0 +allocation,serde_xml_rs_owned,sensor_1,xml_write,0,1,,20,741,65,103 +allocation,serde_json_handwritten,sensor_1,json_read,0,1,,2,136,40,0 +allocation,serde_json_handwritten,sensor_1,json_write,0,1,,1,128,40,40 +allocation,polyxml_generated_owned,sensor_1,json_read,0,1,,2,136,40,0 +allocation,polyxml_generated_owned,sensor_1,json_write,0,1,,1,128,40,40 +allocation,polyxml_generated_borrowed,sensor_1,json_read,0,1,,2,136,40,0 +allocation,polyxml_generated_borrowed,sensor_1,json_write,0,1,,1,128,40,40 +allocation,polyxml_dynamic,sensor_1000,xml_read,0,1,,3024,471402,53795,0 +allocation,polyxml_dynamic,sensor_1000,xml_write,0,1,,8,130560,53795,53795 +allocation,polyxml_generated_owned,sensor_1000,xml_read,0,1,,2012,83354,53795,0 +allocation,polyxml_generated_owned,sensor_1000,xml_write,0,1,,1014,141064,53795,53795 +allocation,polyxml_generated_borrowed,sensor_1000,xml_read,0,1,,12,65464,53795,0 +allocation,polyxml_generated_borrowed,sensor_1000,xml_write,0,1,,1014,141064,53795,53795 +allocation,quick_xml_serde_owned,sensor_1000,xml_read,0,1,,1016,75607,53795,0 +allocation,quick_xml_serde_owned,sensor_1000,xml_write,0,1,,4016,449272,53795,53795 +allocation,quick_xml_serde_borrowed,sensor_1000,xml_read,0,1,,16,65717,53795,0 +allocation,quick_xml_serde_borrowed,sensor_1000,xml_write,0,1,,4016,449272,53795,53795 +allocation,serde_xml_rs_owned,sensor_1000,xml_read,0,1,,49040,6913011,53795,0 +allocation,serde_xml_rs_owned,sensor_1000,xml_write,0,1,,9020,175329,53795,53833 +allocation,serde_json_handwritten,sensor_1000,json_read,0,1,,1009,75298,31792,0 +allocation,serde_json_handwritten,sensor_1000,json_write,0,1,,9,65408,31792,31792 +allocation,polyxml_generated_owned,sensor_1000,json_read,0,1,,1009,75298,31792,0 +allocation,polyxml_generated_owned,sensor_1000,json_write,0,1,,9,65408,31792,31792 +allocation,polyxml_generated_borrowed,sensor_1000,json_read,0,1,,1009,75298,31792,0 +allocation,polyxml_generated_borrowed,sensor_1000,json_write,0,1,,9,65408,31792,31792 diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/Cargo.toml b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/Cargo.toml new file mode 100644 index 00000000..33bf9f72 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name="polyxml-serializer-comparison" +version="0.0.0" +edition="2021" +[workspace] +[features] +allocations=[] +[dependencies] +polyxml={path="/home/bailey/github/PolyXML/crates/polyxml-core"} +quick-xml={version="=0.42.0",features=["serialize"]} +serde={version="1",features=["derive"]} +serde_json="1" +serde-xml-rs="=0.8.2" diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/borrowed.rs b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/borrowed.rs new file mode 100644 index 00000000..aaf3cf26 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/borrowed.rs @@ -0,0 +1,307 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +#![allow(dead_code, unused_imports, unused_mut, unused_variables, unused_assignments, non_camel_case_types, non_snake_case)] + +use std::borrow::Cow; +use serde::{Deserialize, Serialize}; +use std::str::FromStr; +use quick_xml::events::{BytesEnd, BytesStart, BytesText, Event}; +use quick_xml::{Reader, Writer}; +use polyxml::{PolyXmlError, Result}; + +#[allow(dead_code)] +pub(crate) fn skip_xml_element(reader: &mut Reader<&[u8]>) -> Result<()> { + let mut depth = 1; + loop { + match reader.read_event()? { + Event::Start(_) => depth += 1, + Event::End(_) => { + depth -= 1; + if depth == 0 { + break; + } + } + Event::Eof => break, + _ => {} + } + } + Ok(()) +} + +#[allow(dead_code)] +pub(crate) fn read_element_text<'a>(reader: &mut Reader<&'a [u8]>, tag_name: &str) -> Result> { + let mut text = Cow::Borrowed(""); + loop { + match reader.read_event()? { + Event::Text(t) => { + let raw = match t.into_inner() { + Cow::Borrowed(b) => match quick_xml::escape::unescape(b)? { + Cow::Borrowed(s) => Cow::Borrowed(s), + Cow::Owned(s) => Cow::Owned(s), + }, + Cow::Owned(s) => Cow::Owned(quick_xml::escape::unescape(&s)?.into_owned()), + }; + if text.is_empty() { + text = raw; + } else { + text.to_mut().push_str(&raw); + } + } + Event::CData(c) => { + text.to_mut().push_str(c.as_ref()); + } + Event::GeneralRef(r) => { + if r.is_char_ref() { + if let Some(ch) = r.resolve_char_ref()? { + text.to_mut().push(ch); + } + } else if let Some(val) = quick_xml::escape::resolve_xml_entity(r.as_ref()) { + text.to_mut().push_str(val); + } else { + text.to_mut().push_str(r.as_ref()); + } + } + Event::End(e) if e.local_name().as_ref() == tag_name => break, + Event::Eof => break, + _ => {} + } + } + Ok(text) +} + +#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)] +pub struct BatchType<'a> { + #[serde(rename = "Sensor", default, skip_serializing_if = "Vec::is_empty")] + pub sensor: Vec>, +} + +impl<'a> BatchType<'a> { + pub fn from_xml(xml: &'a str) -> Result + { + let mut reader = Reader::from_str(xml); + loop { + match reader.read_event()? { + Event::Start(e) => return Self::decode_xml(&mut reader, &e), + Event::Empty(e) => return Self::decode_xml_empty(&e), + Event::Eof => break, + _ => {} + } + } + Err(PolyXmlError::SchemaError("Unexpected EOF while parsing BatchType".into())) + } + + pub fn from_xml_bytes(xml_bytes: &'a [u8]) -> Result + { + let s = std::str::from_utf8(xml_bytes)?; + Self::from_xml(s) + } + + pub fn decode_xml(reader: &mut Reader<&'a [u8]>, start: &BytesStart<'_>) -> Result + { + let mut var_sensor = Vec::new(); + + loop { + match reader.read_event()? { + Event::Start(e) => match e.local_name().as_ref() { + "Sensor" => { + let val = SensorType::decode_xml(reader, &e)?; + var_sensor.push(val); + } + _ => { + skip_xml_element(reader)?; + } + }, + Event::Empty(e) => match e.local_name().as_ref() { + "Sensor" => { + let val = SensorType::decode_xml_empty(&e)?; + var_sensor.push(val); + } + _ => {} + }, + Event::End(e) if e.local_name().as_ref() == start.local_name().as_ref() => break, + Event::Eof => break, + _ => {} + } + } + + Ok(Self { + sensor: var_sensor, + }) + } + + pub fn decode_xml_empty(start: &BytesStart<'_>) -> Result { + let var_sensor = Vec::new(); + + Ok(Self { + sensor: var_sensor, + }) + } + + pub fn to_xml(&self) -> Result> { + let mut buf = Vec::new(); + let mut writer = Writer::new(std::io::Cursor::new(&mut buf)); + self.encode_xml(&mut writer, None)?; + Ok(buf) + } + + pub fn to_xml_string(&self) -> Result { + let bytes = self.to_xml()?; + String::from_utf8(bytes).map_err(|e| PolyXmlError::Utf8Error(e.utf8_error())) + } + + pub fn from_json_str(json_str: &'a str) -> std::result::Result + { + serde_json::from_str(json_str) + } + + pub fn from_json_slice(bytes: &'a [u8]) -> std::result::Result + { + serde_json::from_slice(bytes) + } + + pub fn to_json_string(&self) -> std::result::Result { + serde_json::to_string(self) + } + + pub fn to_json_vec(&self) -> std::result::Result, serde_json::Error> { + serde_json::to_vec(self) + } + + pub fn encode_xml(&self, writer: &mut Writer, tag_name: Option<&str>) -> Result<()> { + let tag = tag_name.unwrap_or("BatchType"); + let mut start = BytesStart::new(tag); + writer.write_event(Event::Start(start))?; + for item in &self.sensor { + item.encode_xml(writer, Some("Sensor"))?; + } + writer.write_event(Event::End(BytesEnd::new(tag)))?; + Ok(()) + } +} + +#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)] +pub struct SensorType<'a> { + #[serde(rename = "Id")] + pub id: Cow<'a, str>, + #[serde(rename = "Value")] + pub value: i32, +} + +impl<'a> SensorType<'a> { + pub fn from_xml(xml: &'a str) -> Result + { + let mut reader = Reader::from_str(xml); + loop { + match reader.read_event()? { + Event::Start(e) => return Self::decode_xml(&mut reader, &e), + Event::Empty(e) => return Self::decode_xml_empty(&e), + Event::Eof => break, + _ => {} + } + } + Err(PolyXmlError::SchemaError("Unexpected EOF while parsing SensorType".into())) + } + + pub fn from_xml_bytes(xml_bytes: &'a [u8]) -> Result + { + let s = std::str::from_utf8(xml_bytes)?; + Self::from_xml(s) + } + + pub fn decode_xml(reader: &mut Reader<&'a [u8]>, start: &BytesStart<'_>) -> Result + { + let mut var_id = None; + let mut var_value = None; + + loop { + match reader.read_event()? { + Event::Start(e) => match e.local_name().as_ref() { + "Id" => { + let text = read_element_text(reader, "Id")?; + var_id = Some(text); + } + "Value" => { + let text = read_element_text(reader, "Value")?; + let s = text.trim(); + let val = s.parse::().map_err(|_| PolyXmlError::ScalarParseError { field: "value".into(), expected: "i32", value: s.into() })?; + var_value = Some(val); + } + _ => { + skip_xml_element(reader)?; + } + }, + Event::Empty(e) => match e.local_name().as_ref() { + "Id" => { + var_id = Some(Cow::Borrowed("")); + } + "Value" => { + } + _ => {} + }, + Event::End(e) if e.local_name().as_ref() == start.local_name().as_ref() => break, + Event::Eof => break, + _ => {} + } + } + + Ok(Self { + id: var_id.ok_or_else(|| PolyXmlError::SchemaError("Missing required field 'Id'".into()))?, + value: var_value.ok_or_else(|| PolyXmlError::SchemaError("Missing required field 'Value'".into()))?, + }) + } + + pub fn decode_xml_empty(start: &BytesStart<'_>) -> Result { + let mut var_id = None; + let mut var_value = None; + + Ok(Self { + id: var_id.unwrap_or(Cow::Borrowed("")), + value: var_value.unwrap_or_default(), + }) + } + + pub fn to_xml(&self) -> Result> { + let mut buf = Vec::new(); + let mut writer = Writer::new(std::io::Cursor::new(&mut buf)); + self.encode_xml(&mut writer, None)?; + Ok(buf) + } + + pub fn to_xml_string(&self) -> Result { + let bytes = self.to_xml()?; + String::from_utf8(bytes).map_err(|e| PolyXmlError::Utf8Error(e.utf8_error())) + } + + pub fn from_json_str(json_str: &'a str) -> std::result::Result + { + serde_json::from_str(json_str) + } + + pub fn from_json_slice(bytes: &'a [u8]) -> std::result::Result + { + serde_json::from_slice(bytes) + } + + pub fn to_json_string(&self) -> std::result::Result { + serde_json::to_string(self) + } + + pub fn to_json_vec(&self) -> std::result::Result, serde_json::Error> { + serde_json::to_vec(self) + } + + pub fn encode_xml(&self, writer: &mut Writer, tag_name: Option<&str>) -> Result<()> { + let tag = tag_name.unwrap_or("SensorType"); + let mut start = BytesStart::new(tag); + writer.write_event(Event::Start(start))?; + writer.write_event(Event::Start(BytesStart::new("Id")))?; + writer.write_event(Event::Text(BytesText::new(self.id.as_ref())))?; + writer.write_event(Event::End(BytesEnd::new("Id")))?; + writer.write_event(Event::Start(BytesStart::new("Value")))?; + writer.write_event(Event::Text(BytesText::new(&self.value.to_string())))?; + writer.write_event(Event::End(BytesEnd::new("Value")))?; + writer.write_event(Event::End(BytesEnd::new(tag)))?; + Ok(()) + } +} + +pub type Batch<'a> = BatchType<'a>; diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/consumer-main.rs b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/consumer-main.rs new file mode 100644 index 00000000..1a667e2c --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/consumer-main.rs @@ -0,0 +1,493 @@ +//! Matched XML/JSON consumers. Timings and allocation diagnostics use separate builds. +use polyxml::{schema::ModelSchema, schema_parser::XsdParser, PolyValue}; +use serde::{Deserialize, Serialize}; +#[cfg(not(feature = "allocations"))] +use std::time::{Duration, Instant}; +use std::{borrow::Cow, hint::black_box, sync::Arc}; +#[path = "borrowed.rs"] +mod borrowed; +#[path = "owned.rs"] +mod owned; + +#[derive(Debug, PartialEq, Serialize, Deserialize)] +#[serde(rename = "Batch")] +struct HandBatch { + #[serde(rename = "Sensor")] + sensor: Vec, +} +#[derive(Debug, PartialEq, Serialize, Deserialize)] +struct HandSensor { + #[serde(rename = "Id")] + id: String, + #[serde(rename = "Value")] + value: i32, +} +#[derive(Debug, PartialEq, Serialize, Deserialize)] +#[serde(rename = "Batch")] +struct BorrowBatch<'a> { + #[serde(rename = "Sensor", borrow)] + sensor: Vec>, +} +#[derive(Debug, PartialEq, Serialize, Deserialize)] +struct BorrowSensor<'a> { + #[serde(rename = "Id", borrow)] + id: Cow<'a, str>, + #[serde(rename = "Value")] + value: i32, +} + +#[cfg(feature = "allocations")] +mod allocation { + use std::alloc::{GlobalAlloc, Layout, System}; + use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering::Relaxed}; + static ENABLED: AtomicBool = AtomicBool::new(false); + static CALLS: AtomicUsize = AtomicUsize::new(0); + static BYTES: AtomicUsize = AtomicUsize::new(0); + pub struct Counter; + unsafe impl GlobalAlloc for Counter { + unsafe fn alloc(&self, l: Layout) -> *mut u8 { + if ENABLED.load(Relaxed) { + CALLS.fetch_add(1, Relaxed); + BYTES.fetch_add(l.size(), Relaxed); + } + System.alloc(l) + } + unsafe fn alloc_zeroed(&self, l: Layout) -> *mut u8 { + if ENABLED.load(Relaxed) { + CALLS.fetch_add(1, Relaxed); + BYTES.fetch_add(l.size(), Relaxed); + } + System.alloc_zeroed(l) + } + unsafe fn realloc(&self, p: *mut u8, l: Layout, n: usize) -> *mut u8 { + if ENABLED.load(Relaxed) { + CALLS.fetch_add(1, Relaxed); + BYTES.fetch_add(n, Relaxed); + } + System.realloc(p, l, n) + } + unsafe fn dealloc(&self, p: *mut u8, l: Layout) { + System.dealloc(p, l) + } + } + pub fn count(mut f: impl FnMut()) -> (usize, usize) { + f(); + CALLS.store(0, Relaxed); + BYTES.store(0, Relaxed); + ENABLED.store(true, Relaxed); + f(); + ENABLED.store(false, Relaxed); + (CALLS.load(Relaxed), BYTES.load(Relaxed)) + } +} +#[cfg(feature = "allocations")] +#[global_allocator] +static ALLOCATOR: allocation::Counter = allocation::Counter; + +fn measure(lane: &str, case: &str, op: &str, input: usize, output: usize, mut f: impl FnMut()) { + #[cfg(feature = "allocations")] + { + let (calls, bytes) = allocation::count(&mut f); + println!("allocation,{lane},{case},{op},0,1,,{calls},{bytes},{input},{output}"); + } + #[cfg(not(feature = "allocations"))] + { + for _ in 0..64 { + f(); + } + let pilot = Instant::now(); + for _ in 0..10 { + f(); + } + let cost = pilot.elapsed().as_nanos() / 10; + let chunk = (10_000_000 / cost.max(1)).clamp(1, 100) as usize; + let samples: usize = std::env::var("BENCH_SAMPLES") + .unwrap_or("9".into()) + .parse() + .unwrap(); + let millis: u64 = std::env::var("BENCH_MILLIS") + .unwrap_or("250".into()) + .parse() + .unwrap(); + for sample in 0..samples { + let start = Instant::now(); + let mut iterations = 0; + while start.elapsed() < Duration::from_millis(millis) { + for _ in 0..chunk { + f(); + } + iterations += chunk; + } + println!( + "sample,{lane},{case},{op},{sample},{iterations},{:.3},,,{input},{output}", + start.elapsed().as_nanos() as f64 / iterations as f64 + ); + } + } +} +fn expected(index: usize, escaped: bool) -> String { + if escaped { + format!("sensor-{index} & <é> \"quoted\"") + } else { + format!("sensor-{index}") + } +} +fn check(values: impl Iterator, i32)>, count: usize, escaped: bool) { + let mut seen = 0; + for (index, (id, value)) in values.enumerate() { + assert_eq!(id.as_ref(), expected(index, escaped)); + assert_eq!(value, index as i32); + seen += 1; + } + assert_eq!(seen, count); +} +fn check_dynamic(value: &PolyValue, count: usize, escaped: bool) { + let Some(PolyValue::List(items)) = value.get("sensor") else { + panic!("missing Sensor list") + }; + check( + items.iter().map(|s| { + ( + s.get("id").unwrap().as_str().unwrap(), + match s.get("value").unwrap() { + PolyValue::Int(i) => *i as i32, + _ => panic!("integer required"), + }, + ) + }), + count, + escaped, + ); +} +fn export(lane: &str, case: &str, bytes: &[u8]) { + if let Ok(directory) = std::env::var("BENCH_EXPORT") { + std::fs::create_dir_all(&directory).unwrap(); + std::fs::write(format!("{directory}/rust-{lane}-{case}.xml"), bytes).unwrap(); + } +} +fn main() { + let directory = std::env::args().nth(1).expect("fixture directory"); + let ir = XsdParser::new() + .parse_str(include_str!("schema.xsd")) + .unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Batch")).unwrap(); + println!("kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes"); + let order: usize = std::env::var("BENCH_ORDER") + .unwrap_or("0".into()) + .parse() + .unwrap(); + let cases = [ + ("sensor_1", 1, false), + ("sensor_1000", 1000, false), + ("escaped_1000", 1000, true), + ]; + for offset in 0..cases.len() { + let (case, count, escaped) = cases[(offset + order) % cases.len()]; + let xml = std::fs::read_to_string(format!("{directory}/{case}.xml")).unwrap(); + let own = owned::BatchType::from_xml(&xml).unwrap(); + check(own.sensor.iter().map(|s| (&s.id, s.value)), count, escaped); + let borrow = borrowed::BatchType::from_xml(&xml).unwrap(); + check( + borrow.sensor.iter().map(|s| (&s.id, s.value)), + count, + escaped, + ); + let hand: HandBatch = quick_xml::de::from_str(&xml).unwrap(); + check(hand.sensor.iter().map(|s| (&s.id, s.value)), count, escaped); + let cow: BorrowBatch = quick_xml::de::from_str(&xml).unwrap(); + check(cow.sensor.iter().map(|s| (&s.id, s.value)), count, escaped); + let rs: HandBatch = serde_xml_rs::from_str(&xml).unwrap(); + assert_eq!(rs, hand); + let dynamic = polyxml::deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + check_dynamic(&dynamic, count, escaped); + if !escaped { + assert!(borrow + .sensor + .iter() + .all(|s| matches!(s.id, Cow::Borrowed(_)))); + assert!(cow.sensor.iter().all(|s| matches!(s.id, Cow::Borrowed(_)))); + } + let json = serde_json::to_string(&hand).unwrap(); + assert_eq!(serde_json::to_string(&own).unwrap(), json); + assert_eq!(serde_json::to_string(&borrow).unwrap(), json); + check( + serde_json::from_str::(&json) + .unwrap() + .sensor + .iter() + .map(|s| (&s.id, s.value)), + count, + escaped, + ); + check( + serde_json::from_str::(&json) + .unwrap() + .sensor + .iter() + .map(|s| (&s.id, s.value)), + count, + escaped, + ); + for position in 0..6 { + let lane = (position + order) % 6; + match lane { + 0 => { + let mut writer = quick_xml::Writer::new(Vec::new()); + own.encode_xml(&mut writer, Some("Batch")).unwrap(); + let out = writer.into_inner(); + assert_eq!( + quick_xml::de::from_reader::<_, HandBatch>(out.as_slice()).unwrap(), + hand + ); + export("polyxml_generated_owned", case, &out); + measure( + "polyxml_generated_owned", + case, + "xml_read", + xml.len(), + 0, + || { + black_box(owned::BatchType::from_xml(black_box(&xml)).unwrap()); + }, + ); + measure( + "polyxml_generated_owned", + case, + "xml_write", + xml.len(), + out.len(), + || { + let mut writer = quick_xml::Writer::new(Vec::new()); + black_box(&own) + .encode_xml(&mut writer, Some("Batch")) + .unwrap(); + black_box(writer.into_inner()); + }, + ); + } + 1 => { + let mut writer = quick_xml::Writer::new(Vec::new()); + borrow.encode_xml(&mut writer, Some("Batch")).unwrap(); + let out = writer.into_inner(); + assert_eq!( + quick_xml::de::from_reader::<_, HandBatch>(out.as_slice()).unwrap(), + hand + ); + export("polyxml_generated_borrowed", case, &out); + measure( + "polyxml_generated_borrowed", + case, + "xml_read", + xml.len(), + 0, + || { + black_box(borrowed::BatchType::from_xml(black_box(&xml)).unwrap()); + }, + ); + measure( + "polyxml_generated_borrowed", + case, + "xml_write", + xml.len(), + out.len(), + || { + let mut writer = quick_xml::Writer::new(Vec::new()); + black_box(&borrow) + .encode_xml(&mut writer, Some("Batch")) + .unwrap(); + black_box(writer.into_inner()); + }, + ); + } + 2 => { + let out = quick_xml::se::to_string(&hand).unwrap(); + assert_eq!(quick_xml::de::from_str::(&out).unwrap(), hand); + export("quick_xml_serde_owned", case, out.as_bytes()); + measure( + "quick_xml_serde_owned", + case, + "xml_read", + xml.len(), + 0, + || { + black_box( + quick_xml::de::from_str::(black_box(&xml)).unwrap(), + ); + }, + ); + measure( + "quick_xml_serde_owned", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + quick_xml::se::to_string(black_box(&hand)) + .unwrap() + .into_bytes(), + ); + }, + ); + } + 3 => { + let out = quick_xml::se::to_string(&cow).unwrap(); + assert_eq!(quick_xml::de::from_str::(&out).unwrap(), hand); + export("quick_xml_serde_borrowed", case, out.as_bytes()); + measure( + "quick_xml_serde_borrowed", + case, + "xml_read", + xml.len(), + 0, + || { + black_box( + quick_xml::de::from_str::(black_box(&xml)).unwrap(), + ); + }, + ); + measure( + "quick_xml_serde_borrowed", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + quick_xml::se::to_string(black_box(&cow)) + .unwrap() + .into_bytes(), + ); + }, + ); + } + 4 => { + let out = serde_xml_rs::to_string(&hand).unwrap(); + assert_eq!(quick_xml::de::from_str::(&out).unwrap(), hand); + export("serde_xml_rs_owned", case, out.as_bytes()); + measure("serde_xml_rs_owned", case, "xml_read", xml.len(), 0, || { + black_box(serde_xml_rs::from_str::(black_box(&xml)).unwrap()); + }); + measure( + "serde_xml_rs_owned", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + serde_xml_rs::to_string(black_box(&hand)) + .unwrap() + .into_bytes(), + ); + }, + ); + } + 5 => { + let out = polyxml::serialize("Batch", &dynamic, &schema, None).unwrap(); + assert_eq!( + quick_xml::de::from_reader::<_, HandBatch>(out.as_slice()).unwrap(), + hand + ); + export("polyxml_dynamic", case, &out); + measure("polyxml_dynamic", case, "xml_read", xml.len(), 0, || { + black_box( + polyxml::deserialize(black_box(xml.as_bytes()), Arc::clone(&schema)) + .unwrap(), + ); + }); + measure( + "polyxml_dynamic", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + polyxml::serialize("Batch", black_box(&dynamic), &schema, None) + .unwrap(), + ); + }, + ); + } + _ => unreachable!(), + } + } + for position in 0..3 { + match (position + order) % 3 { + 0 => { + measure( + "polyxml_generated_owned", + case, + "json_read", + json.len(), + 0, + || { + black_box( + serde_json::from_str::(black_box(&json)).unwrap(), + ); + }, + ); + measure( + "polyxml_generated_owned", + case, + "json_write", + json.len(), + json.len(), + || { + black_box(serde_json::to_vec(black_box(&own)).unwrap()); + }, + ); + } + 1 => { + measure( + "polyxml_generated_borrowed", + case, + "json_read", + json.len(), + 0, + || { + black_box( + serde_json::from_str::(black_box(&json)) + .unwrap(), + ); + }, + ); + measure( + "polyxml_generated_borrowed", + case, + "json_write", + json.len(), + json.len(), + || { + black_box(serde_json::to_vec(black_box(&borrow)).unwrap()); + }, + ); + } + 2 => { + measure( + "serde_json_handwritten", + case, + "json_read", + json.len(), + 0, + || { + black_box(serde_json::from_str::(black_box(&json)).unwrap()); + }, + ); + measure( + "serde_json_handwritten", + case, + "json_write", + json.len(), + json.len(), + || { + black_box(serde_json::to_vec(black_box(&hand)).unwrap()); + }, + ); + } + _ => unreachable!(), + } + } + } +} diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/owned.rs b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/owned.rs new file mode 100644 index 00000000..1b024376 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/owned.rs @@ -0,0 +1,297 @@ +// @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +#![allow(dead_code, unused_imports, unused_mut, unused_variables, unused_assignments, non_camel_case_types, non_snake_case)] + +use std::borrow::Cow; +use serde::{Deserialize, Serialize}; +use std::str::FromStr; +use quick_xml::events::{BytesEnd, BytesStart, BytesText, Event}; +use quick_xml::{Reader, Writer}; +use polyxml::{PolyXmlError, Result}; + +#[allow(dead_code)] +pub(crate) fn skip_xml_element(reader: &mut Reader<&[u8]>) -> Result<()> { + let mut depth = 1; + loop { + match reader.read_event()? { + Event::Start(_) => depth += 1, + Event::End(_) => { + depth -= 1; + if depth == 0 { + break; + } + } + Event::Eof => break, + _ => {} + } + } + Ok(()) +} + +#[allow(dead_code)] +pub(crate) fn read_element_text(reader: &mut Reader<&[u8]>, tag_name: &str) -> Result { + let mut text = String::new(); + loop { + match reader.read_event()? { + Event::Text(t) => { + let unescaped = quick_xml::escape::unescape(t.as_ref())?; + text.push_str(&unescaped); + } + Event::CData(c) => { + text.push_str(c.as_ref()); + } + Event::GeneralRef(r) => { + if r.is_char_ref() { + if let Some(ch) = r.resolve_char_ref()? { + text.push(ch); + } + } else if let Some(val) = quick_xml::escape::resolve_xml_entity(r.as_ref()) { + text.push_str(val); + } else { + text.push_str(r.as_ref()); + } + } + Event::End(e) if e.local_name().as_ref() == tag_name => break, + Event::Eof => break, + _ => {} + } + } + Ok(text) +} + +#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)] +pub struct BatchType { + #[serde(rename = "Sensor", default, skip_serializing_if = "Vec::is_empty")] + pub sensor: Vec, +} + +impl BatchType { + pub fn from_xml(xml: &str) -> Result + { + let mut reader = Reader::from_str(xml); + loop { + match reader.read_event()? { + Event::Start(e) => return Self::decode_xml(&mut reader, &e), + Event::Empty(e) => return Self::decode_xml_empty(&e), + Event::Eof => break, + _ => {} + } + } + Err(PolyXmlError::SchemaError("Unexpected EOF while parsing BatchType".into())) + } + + pub fn from_xml_bytes(xml_bytes: &[u8]) -> Result + { + let s = std::str::from_utf8(xml_bytes)?; + Self::from_xml(s) + } + + pub fn decode_xml(reader: &mut Reader<&'_ [u8]>, start: &BytesStart<'_>) -> Result + { + let mut var_sensor = Vec::new(); + + loop { + match reader.read_event()? { + Event::Start(e) => match e.local_name().as_ref() { + "Sensor" => { + let val = SensorType::decode_xml(reader, &e)?; + var_sensor.push(val); + } + _ => { + skip_xml_element(reader)?; + } + }, + Event::Empty(e) => match e.local_name().as_ref() { + "Sensor" => { + let val = SensorType::decode_xml_empty(&e)?; + var_sensor.push(val); + } + _ => {} + }, + Event::End(e) if e.local_name().as_ref() == start.local_name().as_ref() => break, + Event::Eof => break, + _ => {} + } + } + + Ok(Self { + sensor: var_sensor, + }) + } + + pub fn decode_xml_empty(start: &BytesStart<'_>) -> Result { + let var_sensor = Vec::new(); + + Ok(Self { + sensor: var_sensor, + }) + } + + pub fn to_xml(&self) -> Result> { + let mut buf = Vec::new(); + let mut writer = Writer::new(std::io::Cursor::new(&mut buf)); + self.encode_xml(&mut writer, None)?; + Ok(buf) + } + + pub fn to_xml_string(&self) -> Result { + let bytes = self.to_xml()?; + String::from_utf8(bytes).map_err(|e| PolyXmlError::Utf8Error(e.utf8_error())) + } + + pub fn from_json_str(json_str: &str) -> std::result::Result + { + serde_json::from_str(json_str) + } + + pub fn from_json_slice(bytes: &[u8]) -> std::result::Result + { + serde_json::from_slice(bytes) + } + + pub fn to_json_string(&self) -> std::result::Result { + serde_json::to_string(self) + } + + pub fn to_json_vec(&self) -> std::result::Result, serde_json::Error> { + serde_json::to_vec(self) + } + + pub fn encode_xml(&self, writer: &mut Writer, tag_name: Option<&str>) -> Result<()> { + let tag = tag_name.unwrap_or("BatchType"); + let mut start = BytesStart::new(tag); + writer.write_event(Event::Start(start))?; + for item in &self.sensor { + item.encode_xml(writer, Some("Sensor"))?; + } + writer.write_event(Event::End(BytesEnd::new(tag)))?; + Ok(()) + } +} + +#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)] +pub struct SensorType { + #[serde(rename = "Id")] + pub id: String, + #[serde(rename = "Value")] + pub value: i32, +} + +impl SensorType { + pub fn from_xml(xml: &str) -> Result + { + let mut reader = Reader::from_str(xml); + loop { + match reader.read_event()? { + Event::Start(e) => return Self::decode_xml(&mut reader, &e), + Event::Empty(e) => return Self::decode_xml_empty(&e), + Event::Eof => break, + _ => {} + } + } + Err(PolyXmlError::SchemaError("Unexpected EOF while parsing SensorType".into())) + } + + pub fn from_xml_bytes(xml_bytes: &[u8]) -> Result + { + let s = std::str::from_utf8(xml_bytes)?; + Self::from_xml(s) + } + + pub fn decode_xml(reader: &mut Reader<&'_ [u8]>, start: &BytesStart<'_>) -> Result + { + let mut var_id = None; + let mut var_value = None; + + loop { + match reader.read_event()? { + Event::Start(e) => match e.local_name().as_ref() { + "Id" => { + let text = read_element_text(reader, "Id")?; + var_id = Some(text); + } + "Value" => { + let text = read_element_text(reader, "Value")?; + let s = text.trim(); + let val = s.parse::().map_err(|_| PolyXmlError::ScalarParseError { field: "value".into(), expected: "i32", value: s.into() })?; + var_value = Some(val); + } + _ => { + skip_xml_element(reader)?; + } + }, + Event::Empty(e) => match e.local_name().as_ref() { + "Id" => { + var_id = Some(String::new()); + } + "Value" => { + } + _ => {} + }, + Event::End(e) if e.local_name().as_ref() == start.local_name().as_ref() => break, + Event::Eof => break, + _ => {} + } + } + + Ok(Self { + id: var_id.ok_or_else(|| PolyXmlError::SchemaError("Missing required field 'Id'".into()))?, + value: var_value.ok_or_else(|| PolyXmlError::SchemaError("Missing required field 'Value'".into()))?, + }) + } + + pub fn decode_xml_empty(start: &BytesStart<'_>) -> Result { + let mut var_id = None; + let mut var_value = None; + + Ok(Self { + id: var_id.unwrap_or_default(), + value: var_value.unwrap_or_default(), + }) + } + + pub fn to_xml(&self) -> Result> { + let mut buf = Vec::new(); + let mut writer = Writer::new(std::io::Cursor::new(&mut buf)); + self.encode_xml(&mut writer, None)?; + Ok(buf) + } + + pub fn to_xml_string(&self) -> Result { + let bytes = self.to_xml()?; + String::from_utf8(bytes).map_err(|e| PolyXmlError::Utf8Error(e.utf8_error())) + } + + pub fn from_json_str(json_str: &str) -> std::result::Result + { + serde_json::from_str(json_str) + } + + pub fn from_json_slice(bytes: &[u8]) -> std::result::Result + { + serde_json::from_slice(bytes) + } + + pub fn to_json_string(&self) -> std::result::Result { + serde_json::to_string(self) + } + + pub fn to_json_vec(&self) -> std::result::Result, serde_json::Error> { + serde_json::to_vec(self) + } + + pub fn encode_xml(&self, writer: &mut Writer, tag_name: Option<&str>) -> Result<()> { + let tag = tag_name.unwrap_or("SensorType"); + let mut start = BytesStart::new(tag); + writer.write_event(Event::Start(start))?; + writer.write_event(Event::Start(BytesStart::new("Id")))?; + writer.write_event(Event::Text(BytesText::new(self.id.as_ref())))?; + writer.write_event(Event::End(BytesEnd::new("Id")))?; + writer.write_event(Event::Start(BytesStart::new("Value")))?; + writer.write_event(Event::Text(BytesText::new(&self.value.to_string())))?; + writer.write_event(Event::End(BytesEnd::new("Value")))?; + writer.write_event(Event::End(BytesEnd::new(tag)))?; + Ok(()) + } +} + +pub type Batch = BatchType; diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/prepare.py b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/prepare.py new file mode 100644 index 00000000..819db896 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/prepare.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python3 +"""Prepare matched fixtures and standalone Rust consumers; no timing here.""" + +import argparse +import json +import shutil +import subprocess +from pathlib import Path +from xml.sax.saxutils import escape + +ROOT = Path(__file__).resolve().parents[2] +SUITE = ROOT / "benchmarks/serializer-comparison" + + +def prepare(output: Path, cli: Path) -> None: + output.mkdir(parents=True, exist_ok=True) + fixtures = output / "fixtures" + fixtures.mkdir(exist_ok=True) + for count in [1, 1000]: + shutil.copyfile( + ROOT / f"benchmarks/workloads/sensor-batch/sensor-{count}.xml", + fixtures / f"sensor_{count}.xml", + ) + xml = ( + "" + + "".join( + f"{escape(f'sensor-{i} & <é> {chr(34)}quoted{chr(34)}')}{i}" + for i in range(1000) + ) + + "" + ) + (fixtures / "escaped_1000.xml").write_text(xml, encoding="utf-8") + for mode, flags in [("owned", ["--zero-copy", "false"]), ("borrowed", [])]: + directory = output / "generated" / mode + subprocess.run( + [ + str(cli), + "generate", + str(ROOT / "benchmarks/workloads/sensor-batch/batch.xsd"), + "--lang", + "rust", + "--out", + str(directory), + *flags, + ], + check=True, + ) + consumer = output / "rust-consumer" + source = consumer / "src" + source.mkdir(parents=True, exist_ok=True) + shutil.copyfile(SUITE / "rust.rs", source / "main.rs") + for mode in ["owned", "borrowed"]: + shutil.copyfile(output / f"generated/{mode}/batch.rs", source / f"{mode}.rs") + shutil.copyfile( + ROOT / "benchmarks/workloads/sensor-batch/batch.xsd", source / "schema.xsd" + ) + core = json.dumps(str(ROOT / "crates/polyxml-core")) + (consumer / "Cargo.toml").write_text(f"""[package] +name="polyxml-serializer-comparison" +version="0.0.0" +edition="2021" +[workspace] +[features] +allocations=[] +[dependencies] +polyxml={{path={core}}} +quick-xml={{version="=0.42.0",features=["serialize"]}} +serde={{version="1",features=["derive"]}} +serde_json="1" +serde-xml-rs="=0.8.2" +""") + subprocess.run( + [ + str(cli), + "generate", + str(ROOT / "benchmarks/workloads/sensor-batch/batch.xsd"), + "--lang", + "python", + "--out", + str(output / "python-models"), + ], + check=True, + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--output", type=Path, default=SUITE / "target") + parser.add_argument("--cli", type=Path, default=ROOT / "target/debug/polyxml") + args = parser.parse_args() + prepare(args.output.resolve(), args.cli.resolve()) diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/python-models.py b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/python-models.py new file mode 100644 index 00000000..15b53f9b --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/python-models.py @@ -0,0 +1,98 @@ +# @generated by PolyXML Compiler (https://github.com/polyxml/PolyXML) +from __future__ import annotations + +from dataclasses import dataclass, field +from typing import Self + +@dataclass(slots=True, kw_only=True) +class BatchType: + class Meta: + name = "BatchType" + strict_root = False + + sensor: list[SensorType] = field(default_factory=list, metadata={"type": "Element", "name": "Sensor", "json_name": "Sensor"}) + + @classmethod + def from_xml(cls, data: bytes | str) -> Self: + """Deserialize XML bytes or string into this model.""" + import polyxml + raw_bytes = data.encode("utf-8") if isinstance(data, str) else data + return polyxml.deserialize(raw_bytes, cls) + + def to_xml( + self, + *, + indent: int | None = None, + namespaces: bool | None = None, + ns_map: dict[str, str] | None = None, + ) -> bytes: + """Serialize this model instance into XML bytes.""" + import polyxml + return polyxml.serialize(self, indent=indent, namespaces=namespaces, ns_map=ns_map) + + @classmethod + def from_json(cls, data: bytes | str) -> Self: + """Deserialize JSON bytes or string into this model.""" + import polyxml + return polyxml.deserialize_json(data, cls) + + def to_json( + self, + *, + indent: int | None = None, + by_alias: bool = True, + ) -> bytes: + """Serialize this model instance into JSON bytes.""" + import polyxml + return polyxml.serialize_json(self, indent=indent, by_alias=by_alias) + +@dataclass(slots=True, kw_only=True) +class SensorType: + class Meta: + name = "SensorType" + strict_root = False + + id: str = field(metadata={"type": "Element", "name": "Id", "json_name": "Id"}) + value: int = field(metadata={"type": "Element", "name": "Value", "json_name": "Value"}) + + @classmethod + def from_xml(cls, data: bytes | str) -> Self: + """Deserialize XML bytes or string into this model.""" + import polyxml + raw_bytes = data.encode("utf-8") if isinstance(data, str) else data + return polyxml.deserialize(raw_bytes, cls) + + def to_xml( + self, + *, + indent: int | None = None, + namespaces: bool | None = None, + ns_map: dict[str, str] | None = None, + ) -> bytes: + """Serialize this model instance into XML bytes.""" + import polyxml + return polyxml.serialize(self, indent=indent, namespaces=namespaces, ns_map=ns_map) + + @classmethod + def from_json(cls, data: bytes | str) -> Self: + """Deserialize JSON bytes or string into this model.""" + import polyxml + return polyxml.deserialize_json(data, cls) + + def to_json( + self, + *, + indent: int | None = None, + by_alias: bool = True, + ) -> bytes: + """Serialize this model instance into JSON bytes.""" + import polyxml + return polyxml.serialize_json(self, indent=indent, by_alias=by_alias) + +@dataclass(slots=True, kw_only=True) +class Batch(BatchType): + class Meta(BatchType.Meta): + name = "Batch" + namespace = "" + strict_root = True + root_type = BatchType diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/python_bench.py b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/python_bench.py new file mode 100644 index 00000000..2e89a4aa --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/python_bench.py @@ -0,0 +1,243 @@ +#!/usr/bin/env python3 +"""Matched typed consumers; no tracemalloc or allocation counter in timings.""" + +from __future__ import annotations + +import csv +import importlib +import json +import os +import sys +import time +import xml.etree.ElementTree as ET +from dataclasses import dataclass +from pathlib import Path + +import polyxml +from lxml import etree +from pydantic_xml import BaseXmlModel, element +from xsdata.formats.dataclass.parsers import XmlParser +from xsdata.formats.dataclass.parsers.json import JsonParser +from xsdata.formats.dataclass.serializers import XmlSerializer +from xsdata.formats.dataclass.serializers.config import SerializerConfig +from xsdata.formats.dataclass.serializers.json import JsonSerializer + +TARGET = Path(sys.argv[1]).resolve() +sys.path.insert(0, str(TARGET / "python-models")) +models = importlib.import_module("batch") + + +@dataclass(slots=True, kw_only=True) +class Batch(models.BatchType): + """Give the generated type its declared XSD element name for every lane.""" + + class Meta: + name = "Batch" + strict_root = True + + +class PSensor(BaseXmlModel, tag="Sensor"): + id: str = element(tag="Id") + value: int = element(tag="Value") + + +class PBatch(BaseXmlModel, tag="Batch"): + sensor: list[PSensor] = element(tag="Sensor") + + +def expected(count, escaped): + return [ + (f'sensor-{i} & <é> "quoted"' if escaped else f"sensor-{i}", i) + for i in range(count) + ] + + +def check(value, pairs): + assert [(sensor.id, sensor.value) for sensor in value.sensor] == pairs + + +def tree_read(xml, api): + tree = api.fromstring(xml) + return Batch( + sensor=[ + models.SensorType(id=node.findtext("Id"), value=int(node.findtext("Value"))) + for node in tree.findall("Sensor") + ] + ) + + +def tree_write(value, api): + root = api.Element("Batch") + for sensor in value.sensor: + node = api.SubElement(root, "Sensor") + api.SubElement(node, "Id").text = sensor.id + api.SubElement(node, "Value").text = str(sensor.value) + return api.tostring(root, encoding="utf-8") + + +def standard_json_read(raw): + value = json.loads(raw) + return Batch( + sensor=[ + models.SensorType(id=s["Id"], value=s["Value"]) for s in value["Sensor"] + ] + ) + + +def standard_json_write(value): + return json.dumps( + {"Sensor": [{"Id": s.id, "Value": s.value} for s in value.sensor]}, + ensure_ascii=False, + separators=(",", ":"), + ).encode("utf-8") + + +def measure(writer, lane, case, op, input_size, output_size, fn): + for _ in range(64): + fn() + start = time.perf_counter_ns() + for _ in range(10): + fn() + cost = (time.perf_counter_ns() - start) / 10 + chunk = max(1, min(100, int(10_000_000 / max(1, cost)))) + samples = int(os.environ.get("BENCH_SAMPLES", "9")) + duration = int(os.environ.get("BENCH_MILLIS", "250")) * 1_000_000 + for sample in range(samples): + iterations = 0 + start = time.perf_counter_ns() + while time.perf_counter_ns() - start < duration: + for _ in range(chunk): + fn() # result destruction included; normal cyclic GC stays enabled + iterations += chunk + elapsed = time.perf_counter_ns() - start + writer.writerow( + [ + "sample", + lane, + case, + op, + sample, + iterations, + f"{elapsed / iterations:.3f}", + "", + "", + input_size, + output_size, + ] + ) + + +def main(): + assert polyxml.__version__ == "0.34.8", polyxml.__version__ + xp = XmlParser() + xs = XmlSerializer(config=SerializerConfig(xml_declaration=False)) + jp = JsonParser() + js = JsonSerializer(config=SerializerConfig(indent=None)) + writer = csv.writer(sys.stdout, lineterminator="\n") + writer.writerow( + [ + "kind", + "lane", + "case", + "op", + "sample", + "iterations", + "ns_per_op", + "allocations", + "requested_bytes", + "input_bytes", + "output_bytes", + ] + ) + order = int(os.environ.get("BENCH_ORDER", "0")) + cases = [ + ("sensor_1", 1, False), + ("sensor_1000", 1000, False), + ("escaped_1000", 1000, True), + ] + cases = cases[order % 3 :] + cases[: order % 3] + for case, count, escaped in cases: + xml = (TARGET / f"fixtures/{case}.xml").read_bytes() + pairs = expected(count, escaped) + value = Batch(sensor=[models.SensorType(id=s, value=i) for s, i in pairs]) + pvalue = PBatch(sensor=[PSensor(id=s, value=i) for s, i in pairs]) + raw_json = standard_json_write(value) + lanes = [ + ( + "polyxml_dataclass", + "xml", + lambda xml=xml: polyxml.deserialize(xml, Batch), + lambda value=value: polyxml.serialize(value), + ), + ( + "xsdata_dataclass", + "xml", + lambda xml=xml: xp.from_bytes(xml, Batch), + lambda value=value: xs.render(value).encode("utf-8"), + ), + ( + "stdlib_elementtree_typed_adapter", + "xml", + lambda xml=xml: tree_read(xml, ET), + lambda value=value: tree_write(value, ET), + ), + ( + "lxml_typed_adapter", + "xml", + lambda xml=xml: tree_read(xml, etree), + lambda value=value: tree_write(value, etree), + ), + ( + "pydantic_xml", + "xml", + lambda xml=xml: PBatch.from_xml(xml), + lambda pvalue=pvalue: pvalue.to_xml(encoding="utf-8"), + ), + ( + "polyxml_dataclass", + "json", + lambda raw_json=raw_json: polyxml.deserialize_json(raw_json, Batch), + lambda value=value: polyxml.serialize_json(value), + ), + ( + "xsdata_dataclass", + "json", + lambda raw_json=raw_json: jp.from_bytes(raw_json, Batch), + lambda value=value: js.render(value).encode("utf-8"), + ), + ( + "stdlib_json_typed_adapter", + "json", + lambda raw_json=raw_json: standard_json_read(raw_json), + lambda value=value: standard_json_write(value), + ), + ] + # Fully validate every lane before any lane is timed. + sizes = {} + schema = etree.XMLSchema( + etree.parse(str(TARGET / "rust-consumer/src/schema.xsd")) + ) + for lane, fmt, read, write in lanes: + check(read(), pairs) + out = write() + assert isinstance(out, bytes) + if fmt == "xml": + schema.assertValid(etree.fromstring(out)) + check(tree_read(out, ET), pairs) + else: + assert json.loads(out) == json.loads(raw_json) + sizes[(lane, fmt)] = len(out) + export = os.environ.get("BENCH_EXPORT") + if export: + path = Path(export) + path.mkdir(parents=True, exist_ok=True) + (path / f"python-{lane}-{case}.{fmt}").write_bytes(out) + shift = order % len(lanes) + for lane, fmt, read, write in lanes[shift:] + lanes[:shift]: + size = len(xml) if fmt == "xml" else len(raw_json) + measure(writer, lane, case, f"{fmt}_read", size, 0, read) + measure(writer, lane, case, f"{fmt}_write", size, sizes[(lane, fmt)], write) + + +if __name__ == "__main__": + main() diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/run.py b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/run.py new file mode 100644 index 00000000..5461b15c --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/run.py @@ -0,0 +1,185 @@ +#!/usr/bin/env python3 +"""Build separately instrumented consumers, retain all samples and verify outputs.""" + +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +import os +import platform +import shutil +import subprocess +import xml.etree.ElementTree as ET +from datetime import datetime, timezone +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +SUITE = Path(__file__).resolve().parent +TARGET = SUITE / "target" + + +def command(args, **kwargs): + return subprocess.run([str(a) for a in args], cwd=ROOT, check=True, **kwargs) + + +def capture(args): + return command(args, stdout=subprocess.PIPE, text=True).stdout.strip() + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def validate_exports(directory): + checked = [] + for path in sorted(directory.glob("*.xml")): + count = 1 if path.stem.endswith("sensor_1") else 1000 + escaped = path.stem.endswith("escaped_1000") + root = ET.fromstring(path.read_bytes()) + assert root.tag == "Batch", path + children = list(root) + assert len(children) == count, path + for i, node in enumerate(children): + assert node.tag == "Sensor" and [c.tag for c in node] == ["Id", "Value"], ( + path + ) + expected = f'sensor-{i} & <é> "quoted"' if escaped else f"sensor-{i}" + assert node[0].text == expected and int(node[1].text) == i, path + checked.append( + {"file": path.name, "sha256": sha(path), "bytes": path.stat().st_size} + ) + assert len(checked) == 33, ( + f"Expected 18 Rust + 15 Python XML outputs, got {len(checked)}" + ) + return checked + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--output", type=Path, required=True) + parser.add_argument("--python", type=Path, default=TARGET / "venv/bin/python") + parser.add_argument("--rounds", type=int, default=6) + parser.add_argument("--samples", type=int, default=5) + parser.add_argument("--millis", type=int, default=150) + args = parser.parse_args() + if min(args.rounds, args.samples, args.millis) < 1: + parser.error("rounds, samples and millis must be positive") + output = args.output.resolve() + output.mkdir(parents=True, exist_ok=False) # preserve previous measurements + source = output / "source" + source.mkdir() + for path in SUITE.glob("*.py"): + shutil.copyfile(path, source / path.name) + shutil.copyfile(SUITE / "rust.rs", source / "rust.rs") + env = dict(os.environ, CARGO_BUILD_JOBS="1", POLYXML_MEMCAP_BACKEND="systemd") + manifest = TARGET / "rust-consumer/Cargo.toml" + binary = TARGET / "rust-consumer/target/release/polyxml-serializer-comparison" + binaries = TARGET / "bin" + binaries.mkdir(exist_ok=True) + metadata = { + "started_utc": datetime.now(timezone.utc).isoformat(), + "revision": capture(["git", "rev-parse", "HEAD"]), + "git_status": capture(["git", "status", "--short"]), + "polyxml_cli": capture([ROOT / "target/debug/polyxml", "--version"]), + "platform": platform.platform(), + "cpu": capture(["lscpu"]), + "memory": Path("/proc/meminfo").read_text(), + "rustc": capture(["rustc", "-Vv"]), + "cargo": capture(["cargo", "-V"]), + "python": capture([args.python, "--version"]), + "python_packages": capture(["uv", "pip", "freeze", "--python", args.python]), + "native": json.loads( + capture( + [ + args.python, + "-c", + "import hashlib,json,polyxml,polyxml._polyxml as n; from pathlib import Path; print(json.dumps(dict(version=polyxml.__version__,path=n.__file__,sha256=hashlib.sha256(Path(n.__file__).read_bytes()).hexdigest())))", + ] + ) + ), + "rounds": args.rounds, + "samples": args.samples, + "millis": args.millis, + "source_sha256": {p.name: sha(p) for p in source.iterdir()}, + "host_note": "WSL host with IDE services; no concurrent local build or benchmark during measured rounds. No CPU affinity or frequency controls.", + } + (output / "metadata.json").write_text(json.dumps(metadata, indent=2) + "\n") + for feature, name in [(False, "timing"), (True, "allocations")]: + build = [ + ROOT / "scripts/memcap.sh", + "cargo", + "build", + "--release", + "--manifest-path", + manifest, + ] + if feature: + build += ["--features", "allocations"] + with (output / f"build-{name}.log").open("w") as log: + command(build, env=env, stdout=log, stderr=subprocess.STDOUT) + shutil.copyfile(binary, binaries / name) + (binaries / name).chmod(0o755) + for path in (TARGET / "rust-consumer/src").iterdir(): + shutil.copyfile( + path, + source / path.name + if path.name != "main.rs" + else source / "consumer-main.rs", + ) + shutil.copyfile(manifest, source / "Cargo.toml") + shutil.copyfile(manifest.parent / "Cargo.lock", source / "rust-consumer.lock") + shutil.copyfile(TARGET / "python-models/batch.py", source / "python-models.py") + shutil.copytree(TARGET / "fixtures", output / "fixtures") + measured_env = dict( + env, + BENCH_SAMPLES=str(args.samples), + BENCH_MILLIS=str(args.millis), + BENCH_EXPORT=str(output / "verified-outputs"), + ) + # Alternate runtime order. Rust and Python are never measured concurrently. + for repeat in range(args.rounds): + measured_env["BENCH_ORDER"] = str(repeat) + lanes = ["rust", "python"] if repeat % 2 == 0 else ["python", "rust"] + for runtime in lanes: + print(f"round {repeat + 1}/{args.rounds}: {runtime}", flush=True) + run = ( + [binaries / "timing", TARGET / "fixtures"] + if runtime == "rust" + else [args.python, SUITE / "python_bench.py", TARGET] + ) + with ( + (output / f"{runtime}-{repeat}.csv").open("w") as raw, + (output / f"{runtime}-{repeat}.log").open("w") as log, + ): + command( + [ROOT / "scripts/memcap.sh", *run], + env=measured_env, + stdout=raw, + stderr=log, + ) + with (output / "rust-allocations.csv").open("w") as raw: + command( + [binaries / "allocations", TARGET / "fixtures"], + env=measured_env, + stdout=raw, + ) + metadata["independent_xml_checks"] = validate_exports(output / "verified-outputs") + metadata["source_sha256"] = {p.name: sha(p) for p in source.iterdir()} + metadata["binary_sha256"] = {p.name: sha(p) for p in binaries.iterdir()} + metadata["fixture_sha256"] = { + p.name: sha(p) for p in (output / "fixtures").iterdir() + } + for runtime, expected in [("rust", 54), ("python", 48)]: + for repeat in range(args.rounds): + with (output / f"{runtime}-{repeat}.csv").open() as stream: + rows = list(csv.DictReader(stream)) + assert len(rows) == expected * args.samples + metadata["finished_utc"] = datetime.now(timezone.utc).isoformat() + (output / "metadata.json").write_text(json.dumps(metadata, indent=2) + "\n") + print(f"Retained samples and verified 33 XML outputs: {output}") + + +if __name__ == "__main__": + main() diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/rust-consumer.lock b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/rust-consumer.lock new file mode 100644 index 00000000..7536ec25 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/rust-consumer.lock @@ -0,0 +1,345 @@ +# 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 = "log" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" + +[[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.8" +dependencies = [ + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf_codegen", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "thiserror", +] + +[[package]] +name = "polyxml-serializer-comparison" +version = "0.0.0" +dependencies = [ + "polyxml", + "quick-xml", + "serde", + "serde-xml-rs", + "serde_json", +] + +[[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-xml-rs" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2215ce3e6a77550b80a1c37251b7d294febaf42e36e21b7b411e0bf54d540d" +dependencies = [ + "log", + "serde", + "thiserror", + "xml", +] + +[[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 = "xml" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f45bb2c13fec6a6cb4c0f76a7e94839e110a14ec803ec2940777a94c347bc52" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/rust.rs b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/rust.rs new file mode 100644 index 00000000..1a667e2c --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/rust.rs @@ -0,0 +1,493 @@ +//! Matched XML/JSON consumers. Timings and allocation diagnostics use separate builds. +use polyxml::{schema::ModelSchema, schema_parser::XsdParser, PolyValue}; +use serde::{Deserialize, Serialize}; +#[cfg(not(feature = "allocations"))] +use std::time::{Duration, Instant}; +use std::{borrow::Cow, hint::black_box, sync::Arc}; +#[path = "borrowed.rs"] +mod borrowed; +#[path = "owned.rs"] +mod owned; + +#[derive(Debug, PartialEq, Serialize, Deserialize)] +#[serde(rename = "Batch")] +struct HandBatch { + #[serde(rename = "Sensor")] + sensor: Vec, +} +#[derive(Debug, PartialEq, Serialize, Deserialize)] +struct HandSensor { + #[serde(rename = "Id")] + id: String, + #[serde(rename = "Value")] + value: i32, +} +#[derive(Debug, PartialEq, Serialize, Deserialize)] +#[serde(rename = "Batch")] +struct BorrowBatch<'a> { + #[serde(rename = "Sensor", borrow)] + sensor: Vec>, +} +#[derive(Debug, PartialEq, Serialize, Deserialize)] +struct BorrowSensor<'a> { + #[serde(rename = "Id", borrow)] + id: Cow<'a, str>, + #[serde(rename = "Value")] + value: i32, +} + +#[cfg(feature = "allocations")] +mod allocation { + use std::alloc::{GlobalAlloc, Layout, System}; + use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering::Relaxed}; + static ENABLED: AtomicBool = AtomicBool::new(false); + static CALLS: AtomicUsize = AtomicUsize::new(0); + static BYTES: AtomicUsize = AtomicUsize::new(0); + pub struct Counter; + unsafe impl GlobalAlloc for Counter { + unsafe fn alloc(&self, l: Layout) -> *mut u8 { + if ENABLED.load(Relaxed) { + CALLS.fetch_add(1, Relaxed); + BYTES.fetch_add(l.size(), Relaxed); + } + System.alloc(l) + } + unsafe fn alloc_zeroed(&self, l: Layout) -> *mut u8 { + if ENABLED.load(Relaxed) { + CALLS.fetch_add(1, Relaxed); + BYTES.fetch_add(l.size(), Relaxed); + } + System.alloc_zeroed(l) + } + unsafe fn realloc(&self, p: *mut u8, l: Layout, n: usize) -> *mut u8 { + if ENABLED.load(Relaxed) { + CALLS.fetch_add(1, Relaxed); + BYTES.fetch_add(n, Relaxed); + } + System.realloc(p, l, n) + } + unsafe fn dealloc(&self, p: *mut u8, l: Layout) { + System.dealloc(p, l) + } + } + pub fn count(mut f: impl FnMut()) -> (usize, usize) { + f(); + CALLS.store(0, Relaxed); + BYTES.store(0, Relaxed); + ENABLED.store(true, Relaxed); + f(); + ENABLED.store(false, Relaxed); + (CALLS.load(Relaxed), BYTES.load(Relaxed)) + } +} +#[cfg(feature = "allocations")] +#[global_allocator] +static ALLOCATOR: allocation::Counter = allocation::Counter; + +fn measure(lane: &str, case: &str, op: &str, input: usize, output: usize, mut f: impl FnMut()) { + #[cfg(feature = "allocations")] + { + let (calls, bytes) = allocation::count(&mut f); + println!("allocation,{lane},{case},{op},0,1,,{calls},{bytes},{input},{output}"); + } + #[cfg(not(feature = "allocations"))] + { + for _ in 0..64 { + f(); + } + let pilot = Instant::now(); + for _ in 0..10 { + f(); + } + let cost = pilot.elapsed().as_nanos() / 10; + let chunk = (10_000_000 / cost.max(1)).clamp(1, 100) as usize; + let samples: usize = std::env::var("BENCH_SAMPLES") + .unwrap_or("9".into()) + .parse() + .unwrap(); + let millis: u64 = std::env::var("BENCH_MILLIS") + .unwrap_or("250".into()) + .parse() + .unwrap(); + for sample in 0..samples { + let start = Instant::now(); + let mut iterations = 0; + while start.elapsed() < Duration::from_millis(millis) { + for _ in 0..chunk { + f(); + } + iterations += chunk; + } + println!( + "sample,{lane},{case},{op},{sample},{iterations},{:.3},,,{input},{output}", + start.elapsed().as_nanos() as f64 / iterations as f64 + ); + } + } +} +fn expected(index: usize, escaped: bool) -> String { + if escaped { + format!("sensor-{index} & <é> \"quoted\"") + } else { + format!("sensor-{index}") + } +} +fn check(values: impl Iterator, i32)>, count: usize, escaped: bool) { + let mut seen = 0; + for (index, (id, value)) in values.enumerate() { + assert_eq!(id.as_ref(), expected(index, escaped)); + assert_eq!(value, index as i32); + seen += 1; + } + assert_eq!(seen, count); +} +fn check_dynamic(value: &PolyValue, count: usize, escaped: bool) { + let Some(PolyValue::List(items)) = value.get("sensor") else { + panic!("missing Sensor list") + }; + check( + items.iter().map(|s| { + ( + s.get("id").unwrap().as_str().unwrap(), + match s.get("value").unwrap() { + PolyValue::Int(i) => *i as i32, + _ => panic!("integer required"), + }, + ) + }), + count, + escaped, + ); +} +fn export(lane: &str, case: &str, bytes: &[u8]) { + if let Ok(directory) = std::env::var("BENCH_EXPORT") { + std::fs::create_dir_all(&directory).unwrap(); + std::fs::write(format!("{directory}/rust-{lane}-{case}.xml"), bytes).unwrap(); + } +} +fn main() { + let directory = std::env::args().nth(1).expect("fixture directory"); + let ir = XsdParser::new() + .parse_str(include_str!("schema.xsd")) + .unwrap(); + let schema = ModelSchema::from_ir(&ir, Some("Batch")).unwrap(); + println!("kind,lane,case,op,sample,iterations,ns_per_op,allocations,requested_bytes,input_bytes,output_bytes"); + let order: usize = std::env::var("BENCH_ORDER") + .unwrap_or("0".into()) + .parse() + .unwrap(); + let cases = [ + ("sensor_1", 1, false), + ("sensor_1000", 1000, false), + ("escaped_1000", 1000, true), + ]; + for offset in 0..cases.len() { + let (case, count, escaped) = cases[(offset + order) % cases.len()]; + let xml = std::fs::read_to_string(format!("{directory}/{case}.xml")).unwrap(); + let own = owned::BatchType::from_xml(&xml).unwrap(); + check(own.sensor.iter().map(|s| (&s.id, s.value)), count, escaped); + let borrow = borrowed::BatchType::from_xml(&xml).unwrap(); + check( + borrow.sensor.iter().map(|s| (&s.id, s.value)), + count, + escaped, + ); + let hand: HandBatch = quick_xml::de::from_str(&xml).unwrap(); + check(hand.sensor.iter().map(|s| (&s.id, s.value)), count, escaped); + let cow: BorrowBatch = quick_xml::de::from_str(&xml).unwrap(); + check(cow.sensor.iter().map(|s| (&s.id, s.value)), count, escaped); + let rs: HandBatch = serde_xml_rs::from_str(&xml).unwrap(); + assert_eq!(rs, hand); + let dynamic = polyxml::deserialize(xml.as_bytes(), Arc::clone(&schema)).unwrap(); + check_dynamic(&dynamic, count, escaped); + if !escaped { + assert!(borrow + .sensor + .iter() + .all(|s| matches!(s.id, Cow::Borrowed(_)))); + assert!(cow.sensor.iter().all(|s| matches!(s.id, Cow::Borrowed(_)))); + } + let json = serde_json::to_string(&hand).unwrap(); + assert_eq!(serde_json::to_string(&own).unwrap(), json); + assert_eq!(serde_json::to_string(&borrow).unwrap(), json); + check( + serde_json::from_str::(&json) + .unwrap() + .sensor + .iter() + .map(|s| (&s.id, s.value)), + count, + escaped, + ); + check( + serde_json::from_str::(&json) + .unwrap() + .sensor + .iter() + .map(|s| (&s.id, s.value)), + count, + escaped, + ); + for position in 0..6 { + let lane = (position + order) % 6; + match lane { + 0 => { + let mut writer = quick_xml::Writer::new(Vec::new()); + own.encode_xml(&mut writer, Some("Batch")).unwrap(); + let out = writer.into_inner(); + assert_eq!( + quick_xml::de::from_reader::<_, HandBatch>(out.as_slice()).unwrap(), + hand + ); + export("polyxml_generated_owned", case, &out); + measure( + "polyxml_generated_owned", + case, + "xml_read", + xml.len(), + 0, + || { + black_box(owned::BatchType::from_xml(black_box(&xml)).unwrap()); + }, + ); + measure( + "polyxml_generated_owned", + case, + "xml_write", + xml.len(), + out.len(), + || { + let mut writer = quick_xml::Writer::new(Vec::new()); + black_box(&own) + .encode_xml(&mut writer, Some("Batch")) + .unwrap(); + black_box(writer.into_inner()); + }, + ); + } + 1 => { + let mut writer = quick_xml::Writer::new(Vec::new()); + borrow.encode_xml(&mut writer, Some("Batch")).unwrap(); + let out = writer.into_inner(); + assert_eq!( + quick_xml::de::from_reader::<_, HandBatch>(out.as_slice()).unwrap(), + hand + ); + export("polyxml_generated_borrowed", case, &out); + measure( + "polyxml_generated_borrowed", + case, + "xml_read", + xml.len(), + 0, + || { + black_box(borrowed::BatchType::from_xml(black_box(&xml)).unwrap()); + }, + ); + measure( + "polyxml_generated_borrowed", + case, + "xml_write", + xml.len(), + out.len(), + || { + let mut writer = quick_xml::Writer::new(Vec::new()); + black_box(&borrow) + .encode_xml(&mut writer, Some("Batch")) + .unwrap(); + black_box(writer.into_inner()); + }, + ); + } + 2 => { + let out = quick_xml::se::to_string(&hand).unwrap(); + assert_eq!(quick_xml::de::from_str::(&out).unwrap(), hand); + export("quick_xml_serde_owned", case, out.as_bytes()); + measure( + "quick_xml_serde_owned", + case, + "xml_read", + xml.len(), + 0, + || { + black_box( + quick_xml::de::from_str::(black_box(&xml)).unwrap(), + ); + }, + ); + measure( + "quick_xml_serde_owned", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + quick_xml::se::to_string(black_box(&hand)) + .unwrap() + .into_bytes(), + ); + }, + ); + } + 3 => { + let out = quick_xml::se::to_string(&cow).unwrap(); + assert_eq!(quick_xml::de::from_str::(&out).unwrap(), hand); + export("quick_xml_serde_borrowed", case, out.as_bytes()); + measure( + "quick_xml_serde_borrowed", + case, + "xml_read", + xml.len(), + 0, + || { + black_box( + quick_xml::de::from_str::(black_box(&xml)).unwrap(), + ); + }, + ); + measure( + "quick_xml_serde_borrowed", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + quick_xml::se::to_string(black_box(&cow)) + .unwrap() + .into_bytes(), + ); + }, + ); + } + 4 => { + let out = serde_xml_rs::to_string(&hand).unwrap(); + assert_eq!(quick_xml::de::from_str::(&out).unwrap(), hand); + export("serde_xml_rs_owned", case, out.as_bytes()); + measure("serde_xml_rs_owned", case, "xml_read", xml.len(), 0, || { + black_box(serde_xml_rs::from_str::(black_box(&xml)).unwrap()); + }); + measure( + "serde_xml_rs_owned", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + serde_xml_rs::to_string(black_box(&hand)) + .unwrap() + .into_bytes(), + ); + }, + ); + } + 5 => { + let out = polyxml::serialize("Batch", &dynamic, &schema, None).unwrap(); + assert_eq!( + quick_xml::de::from_reader::<_, HandBatch>(out.as_slice()).unwrap(), + hand + ); + export("polyxml_dynamic", case, &out); + measure("polyxml_dynamic", case, "xml_read", xml.len(), 0, || { + black_box( + polyxml::deserialize(black_box(xml.as_bytes()), Arc::clone(&schema)) + .unwrap(), + ); + }); + measure( + "polyxml_dynamic", + case, + "xml_write", + xml.len(), + out.len(), + || { + black_box( + polyxml::serialize("Batch", black_box(&dynamic), &schema, None) + .unwrap(), + ); + }, + ); + } + _ => unreachable!(), + } + } + for position in 0..3 { + match (position + order) % 3 { + 0 => { + measure( + "polyxml_generated_owned", + case, + "json_read", + json.len(), + 0, + || { + black_box( + serde_json::from_str::(black_box(&json)).unwrap(), + ); + }, + ); + measure( + "polyxml_generated_owned", + case, + "json_write", + json.len(), + json.len(), + || { + black_box(serde_json::to_vec(black_box(&own)).unwrap()); + }, + ); + } + 1 => { + measure( + "polyxml_generated_borrowed", + case, + "json_read", + json.len(), + 0, + || { + black_box( + serde_json::from_str::(black_box(&json)) + .unwrap(), + ); + }, + ); + measure( + "polyxml_generated_borrowed", + case, + "json_write", + json.len(), + json.len(), + || { + black_box(serde_json::to_vec(black_box(&borrow)).unwrap()); + }, + ); + } + 2 => { + measure( + "serde_json_handwritten", + case, + "json_read", + json.len(), + 0, + || { + black_box(serde_json::from_str::(black_box(&json)).unwrap()); + }, + ); + measure( + "serde_json_handwritten", + case, + "json_write", + json.len(), + json.len(), + || { + black_box(serde_json::to_vec(black_box(&hand)).unwrap()); + }, + ); + } + _ => unreachable!(), + } + } + } +} diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/schema.xsd b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/schema.xsd new file mode 100644 index 00000000..1cc2e721 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/schema.xsd @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/summarize.py b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/summarize.py new file mode 100644 index 00000000..82f9e617 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/summarize.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +"""Summarize retained CSV samples without treating samples as independent runs.""" + +from __future__ import annotations + +import argparse +import csv +import json +import statistics +from collections import defaultdict +from pathlib import Path + + +def summarize(directory): + metadata = json.loads((directory / "metadata.json").read_text()) + samples = defaultdict(lambda: defaultdict(list)) + seen = set() + for runtime in ("rust", "python"): + for repeat in range(metadata["rounds"]): + with (directory / f"{runtime}-{repeat}.csv").open() as stream: + for row in csv.DictReader(stream): + assert row["kind"] == "sample" + key = (runtime, row["case"], row["op"], row["lane"]) + identity = (*key, repeat, int(row["sample"])) + assert identity not in seen, identity + seen.add(identity) + ns = float(row["ns_per_op"]) + assert ns > 0 and int(row["iterations"]) > 0 + samples[key][repeat].append(ns / 1000) + allocations = {} + with (directory / "rust-allocations.csv").open() as stream: + for row in csv.DictReader(stream): + key = ("rust", row["case"], row["op"], row["lane"]) + assert key not in allocations + allocations[key] = { + "allocation_calls": int(row["allocations"]), + "requested_bytes": int(row["requested_bytes"]), + } + results = [] + for key, repeats in sorted(samples.items()): + assert len(repeats) == metadata["rounds"] + assert all(len(values) == metadata["samples"] for values in repeats.values()) + medians = [statistics.median(repeats[i]) for i in range(metadata["rounds"])] + results.append( + dict(zip(("runtime", "case", "op", "lane"), key, strict=True)) + | { + "median_us": statistics.median(medians), + "process_medians_us": medians, + "process_range_us": [min(medians), max(medians)], + } + | allocations.get(key, {}) + ) + (directory / "summary.json").write_text(json.dumps(results, indent=2) + "\n") + lines = [ + "# All retained serializer comparisons", + "", + "Microseconds per operation; median of process medians. Range is the", + "minimum–maximum process median, not a confidence interval. Requested", + "bytes and allocation calls come from a separate Rust diagnostic build.", + "", + "| Runtime | Case | Operation | Lane | Median µs | Process range µs | Alloc calls | Requested B |", + "| :--- | :--- | :--- | :--- | ---: | ---: | ---: | ---: |", + ] + for row in results: + low, high = row["process_range_us"] + lines.append( + f"| {row['runtime']} | {row['case']} | {row['op']} | {row['lane']} | {row['median_us']:.3f} | {low:.3f}–{high:.3f} | {row.get('allocation_calls', '—')} | {row.get('requested_bytes', '—')} |" + ) + (directory / "summary.md").write_text("\n".join(lines) + "\n") + return results + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("directory", type=Path) + args = parser.parse_args() + summarize(args.directory) diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/source/workspace.lock b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/workspace.lock new file mode 100644 index 00000000..8f423c1f --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/source/workspace.lock @@ -0,0 +1,1191 @@ +# 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 = "anstream" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "anstyle-parse" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys", +] + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "bitflags" +version = "2.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" + +[[package]] +name = "bumpalo" +version = "3.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "005ec2760ca554fae18df7a11195552ec576cd665632a881bc011d5bb2fd4d80" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[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", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0797fb7aeb1406c84efac526901f7ec3ead2124f946b494e72879d4b54704d" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9c751b79415d4e559e3d1fcf128e09e720eb673a06d26cf6f392d37d75b66e0" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 3.0.5", +] + +[[package]] +name = "clap_lex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" + +[[package]] +name = "colorchoice" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" + +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + +[[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 = "ctor" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" +dependencies = [ + "quote", + "syn 2.0.119", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "either" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys", +] + +[[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.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d" + +[[package]] +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "libc", + "r-efi", +] + +[[package]] +name = "glob" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" + +[[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 = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "indexmap" +version = "2.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + +[[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.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "libloading" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" +dependencies = [ + "cfg-if", + "windows-link", +] + +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[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 = "napi" +version = "2.16.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55740c4ae1d8696773c78fdafd5d0e5fe9bc9f1b071c7ba493ba5c413a9184f3" +dependencies = [ + "bitflags", + "ctor", + "napi-derive", + "napi-sys", + "once_cell", +] + +[[package]] +name = "napi-build" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0941983559cd62bfa7f04646a16428967a847365adeef27711e4e3927046bbed" + +[[package]] +name = "napi-derive" +version = "2.16.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cbe2585d8ac223f7d34f13701434b9d5f4eb9c332cccce8dee57ea18ab8ab0c" +dependencies = [ + "cfg-if", + "convert_case", + "napi-derive-backend", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "napi-derive-backend" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1639aaa9eeb76e91c6ae66da8ce3e89e921cd3885e99ec85f4abacae72fc91bf" +dependencies = [ + "convert_case", + "once_cell", + "proc-macro2", + "quote", + "regex", + "semver", + "syn 2.0.119", +] + +[[package]] +name = "napi-sys" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3" +dependencies = [ + "libloading", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + +[[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" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "010378780309880b08997fae13be7834dba947d36393bd372f2b1556deb2a2f6" +dependencies = [ + "phf_macros", + "phf_shared", + "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_macros" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fa8d0ca26d424d27630da600c6624696e7dec8bf7b3b492b383c5dc49e5e085" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[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.8" +dependencies = [ + "criterion", + "heck", + "lexical-core", + "memchr", + "minijinja", + "phf", + "phf_codegen", + "pretty_assertions", + "quick-xml", + "regex", + "serde", + "serde_json", + "smallvec", + "tempfile", + "thiserror", +] + +[[package]] +name = "polyxml-c" +version = "0.34.8" +dependencies = [ + "polyxml", +] + +[[package]] +name = "polyxml-cli" +version = "0.34.8" +dependencies = [ + "clap", + "glob", + "heck", + "polyxml", + "serde", + "tempfile", + "thiserror", + "toml", +] + +[[package]] +name = "polyxml-js" +version = "0.34.8" +dependencies = [ + "napi", + "napi-build", + "napi-derive", + "polyxml", +] + +[[package]] +name = "polyxml-python" +version = "0.34.8" +dependencies = [ + "lexical-core", + "polyxml", + "pyo3", + "smallvec", +] + +[[package]] +name = "polyxml-wasm" +version = "0.34.8" +dependencies = [ + "polyxml", + "quick-xml", + "wasm-bindgen", +] + +[[package]] +name = "portable-atomic" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" + +[[package]] +name = "pretty_assertions" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +dependencies = [ + "diff", + "yansi", +] + +[[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 = "pyo3" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4688ddedf473e32662b9b067670129a8afb8c18e351482c70d62ba4a88171e8b" +dependencies = [ + "libc", + "once_cell", + "portable-atomic", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", +] + +[[package]] +name = "pyo3-build-config" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f41027e41b4bd03f6e60f9f417fe24a6341a6bb744edd62b6f709f2a52ea30e9" +dependencies = [ + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e591a95526fead067432c3b3a33fc74770b87b1e04e73671090d9c2055a2b327" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73225868fc1cd84eef2c3c230ddb91273bf1de46aeb8a4248da76d32a0924a1c" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "571575aa3749fa6216757dd47d2a3e7ef360f329a40f0666a9fbd14889024952" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[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 = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[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 = "rustix" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d" +dependencies = [ + "bitflags", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "rustversion" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" + +[[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 = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" + +[[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.5", +] + +[[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 = "serde_spanned" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +dependencies = [ + "serde_core", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" + +[[package]] +name = "smallvec" +version = "1.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-lexicon" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca" + +[[package]] +name = "tempfile" +version = "3.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +dependencies = [ + "fastrand", + "getrandom", + "once_cell", + "rustix", + "windows-sys", +] + +[[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.5", +] + +[[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 = "toml" +version = "1.1.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "920602543f0911ab71da12c50d59701da54c196d1a2bf5cb4b75667f137a406a" +dependencies = [ + "indexmap", + "serde_core", + "serde_spanned", + "toml_datetime", + "toml_parser", + "toml_writer", + "winnow", +] + +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_parser" +version = "1.1.3+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" +dependencies = [ + "winnow", +] + +[[package]] +name = "toml_writer" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2" + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-segmentation" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[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 = "wasm-bindgen" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 3.0.5", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.129" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6" +dependencies = [ + "unicode-ident", +] + +[[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 = "winnow" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" + +[[package]] +name = "yansi" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" + +[[package]] +name = "zerocopy" +version = "0.8.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d35102a9f36d089ccae9e4c6802bc118be4487b80aaffc0ab4e0cf5ce92d2873" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c01f5ab44258da43cf276c74a2763db2ff3969c9c652c3f2de07041d0b2bc" +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/docs/benchmarks/data/2026-10-04/serializer-comparison/summary.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/summary.json new file mode 100644 index 00000000..fcdc8d60 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/summary.json @@ -0,0 +1,2048 @@ +[ + { + "runtime": "python", + "case": "escaped_1000", + "op": "json_read", + "lane": "polyxml_dataclass", + "median_us": 1461.3897700000002, + "process_medians_us": [ + 1467.4646480000001, + 1474.688514, + 1463.9092190000001, + 1455.1698000000001, + 1458.870321, + 1451.2462 + ], + "process_range_us": [ + 1451.2462, + 1474.688514 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "json_read", + "lane": "stdlib_json_typed_adapter", + "median_us": 524.133086, + "process_medians_us": [ + 523.461392, + 524.80478, + 517.206799, + 540.69324, + 528.9201559999999, + 519.3082860000001 + ], + "process_range_us": [ + 517.206799, + 540.69324 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "json_read", + "lane": "xsdata_dataclass", + "median_us": 9751.4478125, + "process_medians_us": [ + 9686.739937999999, + 9892.95525, + 10067.2186, + 9806.844875, + 9696.05075, + 9640.520062000001 + ], + "process_range_us": [ + 9640.520062000001, + 10067.2186 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "json_write", + "lane": "polyxml_dataclass", + "median_us": 793.797724, + "process_medians_us": [ + 803.181866, + 799.806323, + 779.486097, + 779.784263, + 792.342964, + 795.2524840000001 + ], + "process_range_us": [ + 779.486097, + 803.181866 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "json_write", + "lane": "stdlib_json_typed_adapter", + "median_us": 317.18428, + "process_medians_us": [ + 318.602602, + 315.765958, + 311.44861, + 320.802414, + 321.511037, + 304.44011700000004 + ], + "process_range_us": [ + 304.44011700000004, + 321.511037 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "json_write", + "lane": "xsdata_dataclass", + "median_us": 3669.9662260000005, + "process_medians_us": [ + 3699.7755, + 3640.1569520000003, + 3705.93519, + 3718.6386430000002, + 3618.690452, + 3599.4787140000003 + ], + "process_range_us": [ + 3599.4787140000003, + 3718.6386430000002 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_read", + "lane": "lxml_typed_adapter", + "median_us": 3889.2945, + "process_medians_us": [ + 4011.2822370000004, + 4043.288184, + 3869.4326499999997, + 3830.643375, + 3890.092775, + 3888.496225 + ], + "process_range_us": [ + 3830.643375, + 4043.288184 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_read", + "lane": "polyxml_dataclass", + "median_us": 1827.3219355, + "process_medians_us": [ + 1794.2789639999999, + 1830.370212, + 1833.850859, + 1830.416706, + 1824.273659, + 1760.253244 + ], + "process_range_us": [ + 1760.253244, + 1833.850859 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_read", + "lane": "pydantic_xml", + "median_us": 9449.487226500001, + "process_medians_us": [ + 9635.979941, + 9429.540875, + 9407.555187999998, + 9546.790875, + 9456.634765, + 9442.339688 + ], + "process_range_us": [ + 9407.555187999998, + 9635.979941 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_read", + "lane": "stdlib_elementtree_typed_adapter", + "median_us": 1484.4411249999998, + "process_medians_us": [ + 1471.1782409999998, + 1487.869725, + 1463.008914, + 1496.686095, + 1486.428333, + 1482.4539169999998 + ], + "process_range_us": [ + 1463.008914, + 1496.686095 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_read", + "lane": "xsdata_dataclass", + "median_us": 14673.547864, + "process_medians_us": [ + 14759.811455000001, + 14587.284273, + 14761.507545, + 14312.128091, + 15039.5972, + 14359.259636 + ], + "process_range_us": [ + 14312.128091, + 15039.5972 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_write", + "lane": "lxml_typed_adapter", + "median_us": 1723.376111, + "process_medians_us": [ + 1823.628988, + 1724.395189, + 1713.369756, + 1683.607467, + 1736.4728440000001, + 1722.357033 + ], + "process_range_us": [ + 1683.607467, + 1823.628988 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_write", + "lane": "polyxml_dataclass", + "median_us": 841.4811635, + "process_medians_us": [ + 844.464306, + 855.0859320000001, + 830.72738, + 835.792583, + 846.458171, + 838.498021 + ], + "process_range_us": [ + 830.72738, + 855.0859320000001 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_write", + "lane": "pydantic_xml", + "median_us": 7953.0911275, + "process_medians_us": [ + 8187.683316, + 7676.6896, + 7977.207105, + 7986.405895, + 7705.4153, + 7928.97515 + ], + "process_range_us": [ + 7676.6896, + 8187.683316 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_write", + "lane": "stdlib_elementtree_typed_adapter", + "median_us": 3452.7569, + "process_medians_us": [ + 3434.1229780000003, + 3455.5559559999997, + 3449.957844, + 3462.032114, + 3437.136956, + 3502.2049559999996 + ], + "process_range_us": [ + 3434.1229780000003, + 3502.2049559999996 + ] + }, + { + "runtime": "python", + "case": "escaped_1000", + "op": "xml_write", + "lane": "xsdata_dataclass", + "median_us": 14145.1390455, + "process_medians_us": [ + 15159.3879, + 14344.569, + 14086.217364, + 14142.696818, + 14147.581273, + 14064.607182 + ], + "process_range_us": [ + 14064.607182, + 15159.3879 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "json_read", + "lane": "polyxml_dataclass", + "median_us": 3.3966890000000003, + "process_medians_us": [ + 3.472637, + 3.40481, + 3.404893, + 3.327649, + 3.381544, + 3.3885680000000002 + ], + "process_range_us": [ + 3.327649, + 3.472637 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "json_read", + "lane": "stdlib_json_typed_adapter", + "median_us": 1.8170765, + "process_medians_us": [ + 1.808796, + 1.835791, + 1.820614, + 1.813462, + 1.843653, + 1.813539 + ], + "process_range_us": [ + 1.808796, + 1.843653 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "json_read", + "lane": "xsdata_dataclass", + "median_us": 15.6856085, + "process_medians_us": [ + 15.791456, + 15.906270000000001, + 15.579761000000001, + 15.37622, + 16.282784, + 15.413957 + ], + "process_range_us": [ + 15.37622, + 16.282784 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "json_write", + "lane": "polyxml_dataclass", + "median_us": 2.3798519999999996, + "process_medians_us": [ + 2.393526, + 2.453036, + 2.329041, + 2.360967, + 2.424038, + 2.3661779999999997 + ], + "process_range_us": [ + 2.329041, + 2.453036 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "json_write", + "lane": "stdlib_json_typed_adapter", + "median_us": 1.8601655, + "process_medians_us": [ + 1.86152, + 1.858811, + 1.856879, + 1.8569449999999998, + 1.865865, + 1.9328889999999999 + ], + "process_range_us": [ + 1.856879, + 1.9328889999999999 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "json_write", + "lane": "xsdata_dataclass", + "median_us": 10.0498955, + "process_medians_us": [ + 10.381572, + 9.855034, + 9.930308, + 10.305838, + 9.986, + 10.113790999999999 + ], + "process_range_us": [ + 9.855034, + 10.381572 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_read", + "lane": "lxml_typed_adapter", + "median_us": 6.532785499999999, + "process_medians_us": [ + 6.638332999999999, + 6.759981, + 6.4155690000000005, + 6.233140000000001, + 6.792945, + 6.427238 + ], + "process_range_us": [ + 6.233140000000001, + 6.792945 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_read", + "lane": "polyxml_dataclass", + "median_us": 4.0666885, + "process_medians_us": [ + 4.07518, + 3.947954, + 4.094015, + 4.058197, + 4.025437, + 4.1383909999999995 + ], + "process_range_us": [ + 3.947954, + 4.1383909999999995 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_read", + "lane": "pydantic_xml", + "median_us": 13.20829, + "process_medians_us": [ + 13.435737, + 13.159258, + 13.380274, + 13.060504000000002, + 13.118041999999999, + 13.257322 + ], + "process_range_us": [ + 13.060504000000002, + 13.435737 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_read", + "lane": "stdlib_elementtree_typed_adapter", + "median_us": 4.3767045, + "process_medians_us": [ + 4.234319, + 4.3822, + 4.3712089999999995, + 4.386311, + 4.389600000000001, + 4.354256 + ], + "process_range_us": [ + 4.234319, + 4.389600000000001 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_read", + "lane": "xsdata_dataclass", + "median_us": 37.402985, + "process_medians_us": [ + 38.124507, + 37.387171, + 37.418799, + 37.257914, + 37.247326, + 37.423089 + ], + "process_range_us": [ + 37.247326, + 38.124507 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_write", + "lane": "lxml_typed_adapter", + "median_us": 2.978617, + "process_medians_us": [ + 3.2083939999999997, + 2.974174, + 2.98306, + 2.898258, + 3.004127, + 2.9678649999999998 + ], + "process_range_us": [ + 2.898258, + 3.2083939999999997 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_write", + "lane": "polyxml_dataclass", + "median_us": 2.4964370000000002, + "process_medians_us": [ + 2.485148, + 2.474249, + 2.452005, + 2.507726, + 2.514846, + 2.524655 + ], + "process_range_us": [ + 2.452005, + 2.524655 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_write", + "lane": "pydantic_xml", + "median_us": 10.8404795, + "process_medians_us": [ + 11.586632999999999, + 11.237757, + 10.844393, + 10.609876, + 10.836566000000001, + 10.764567999999999 + ], + "process_range_us": [ + 10.609876, + 11.586632999999999 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_write", + "lane": "stdlib_elementtree_typed_adapter", + "median_us": 8.990595500000001, + "process_medians_us": [ + 8.971727999999999, + 8.897461, + 9.269011, + 8.991839, + 9.008307, + 8.989352 + ], + "process_range_us": [ + 8.897461, + 9.269011 + ] + }, + { + "runtime": "python", + "case": "sensor_1", + "op": "xml_write", + "lane": "xsdata_dataclass", + "median_us": 30.178441499999998, + "process_medians_us": [ + 31.347801, + 30.182779, + 30.174104, + 30.087336999999998, + 30.564151000000003, + 29.886112 + ], + "process_range_us": [ + 29.886112, + 31.347801 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "json_read", + "lane": "polyxml_dataclass", + "median_us": 1381.6833615, + "process_medians_us": [ + 1387.1605, + 1373.826786, + 1381.604607, + 1380.4290090000002, + 1381.7621159999999, + 1382.7220619999998 + ], + "process_range_us": [ + 1373.826786, + 1387.1605 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "json_read", + "lane": "stdlib_json_typed_adapter", + "median_us": 408.8314435, + "process_medians_us": [ + 408.909156, + 414.369784, + 408.58279100000004, + 421.53204800000003, + 408.753731, + 406.391211 + ], + "process_range_us": [ + 406.391211, + 421.53204800000003 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "json_read", + "lane": "xsdata_dataclass", + "median_us": 9730.9553125, + "process_medians_us": [ + 9603.126562000001, + 9799.391125, + 9915.52825, + 9662.5195, + 10156.868067, + 9546.546562000001 + ], + "process_range_us": [ + 9546.546562000001, + 10156.868067 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "json_write", + "lane": "polyxml_dataclass", + "median_us": 786.6010595, + "process_medians_us": [ + 809.061062, + 793.891672, + 773.233549, + 788.228109, + 782.484959, + 784.97401 + ], + "process_range_us": [ + 773.233549, + 809.061062 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "json_write", + "lane": "stdlib_json_typed_adapter", + "median_us": 272.62811899999997, + "process_medians_us": [ + 270.76344, + 265.70092200000005, + 273.529363, + 286.503984, + 271.726875, + 273.59555 + ], + "process_range_us": [ + 265.70092200000005, + 286.503984 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "json_write", + "lane": "xsdata_dataclass", + "median_us": 3619.62425, + "process_medians_us": [ + 3612.013048, + 3612.148619, + 3627.099881, + 3632.076286, + 3582.117667, + 3677.733405 + ], + "process_range_us": [ + 3582.117667, + 3677.733405 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_read", + "lane": "lxml_typed_adapter", + "median_us": 3452.172143, + "process_medians_us": [ + 3603.945048, + 3574.916262, + 3451.9274, + 3409.714378, + 3414.252864, + 3452.416886 + ], + "process_range_us": [ + 3409.714378, + 3603.945048 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_read", + "lane": "polyxml_dataclass", + "median_us": 1622.4721715, + "process_medians_us": [ + 1619.423344, + 1614.937635, + 1623.195812, + 1649.4199059999999, + 1621.748531, + 1668.169122 + ], + "process_range_us": [ + 1614.937635, + 1668.169122 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_read", + "lane": "pydantic_xml", + "median_us": 8866.6211765, + "process_medians_us": [ + 9012.350176000002, + 8847.193353, + 8934.487059000001, + 8711.383056, + 8858.714941, + 8874.527412000001 + ], + "process_range_us": [ + 8711.383056, + 9012.350176000002 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_read", + "lane": "stdlib_elementtree_typed_adapter", + "median_us": 1155.199761, + "process_medians_us": [ + 1145.000763, + 1143.05157, + 1159.612259, + 1152.657537, + 1157.741985, + 1165.596126 + ], + "process_range_us": [ + 1143.05157, + 1165.596126 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_read", + "lane": "xsdata_dataclass", + "median_us": 14064.8144545, + "process_medians_us": [ + 14374.568818, + 14010.189273, + 14119.439636, + 14377.351, + 13830.790727, + 13883.775182 + ], + "process_range_us": [ + 13830.790727, + 14377.351 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_write", + "lane": "lxml_typed_adapter", + "median_us": 1615.669375, + "process_medians_us": [ + 1738.689944, + 1610.005604, + 1614.300823, + 1597.0155730000001, + 1636.864552, + 1617.0379269999999 + ], + "process_range_us": [ + 1597.0155730000001, + 1738.689944 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_write", + "lane": "polyxml_dataclass", + "median_us": 767.0982345, + "process_medians_us": [ + 766.432632, + 767.7638370000001, + 758.671603, + 774.740232, + 766.40937, + 775.759373 + ], + "process_range_us": [ + 758.671603, + 775.759373 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_write", + "lane": "pydantic_xml", + "median_us": 7744.326725, + "process_medians_us": [ + 8070.694263, + 7567.6073, + 7966.481105000001, + 7659.15995, + 7562.1265, + 7829.4935 + ], + "process_range_us": [ + 7562.1265, + 8070.694263 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_write", + "lane": "stdlib_elementtree_typed_adapter", + "median_us": 3220.8888645, + "process_medians_us": [ + 3207.012896, + 3277.366125, + 3196.041229, + 3234.764833, + 3236.6649580000003, + 3168.9867919999997 + ], + "process_range_us": [ + 3168.9867919999997, + 3277.366125 + ] + }, + { + "runtime": "python", + "case": "sensor_1000", + "op": "xml_write", + "lane": "xsdata_dataclass", + "median_us": 14211.823045500001, + "process_medians_us": [ + 15053.56, + 13987.150909, + 14562.558636, + 14376.680727, + 14046.965364, + 13963.729455 + ], + "process_range_us": [ + 13963.729455, + 15053.56 + ] + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "json_read", + "lane": "polyxml_generated_borrowed", + "median_us": 81.9841585, + "process_medians_us": [ + 81.748671, + 81.947489, + 82.314911, + 84.431204, + 82.020828, + 81.89019400000001 + ], + "process_range_us": [ + 81.748671, + 84.431204 + ], + "allocation_calls": 1011, + "requested_bytes": 91346 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "json_read", + "lane": "polyxml_generated_owned", + "median_us": 85.288062, + "process_medians_us": [ + 85.68800900000001, + 85.42051, + 85.810833, + 84.917006, + 85.155614, + 84.879639 + ], + "process_range_us": [ + 84.879639, + 85.810833 + ], + "allocation_calls": 1011, + "requested_bytes": 91346 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "json_read", + "lane": "serde_json_handwritten", + "median_us": 82.533866, + "process_medians_us": [ + 82.197408, + 82.517215, + 82.55051700000001, + 82.847672, + 82.098351, + 82.683527 + ], + "process_range_us": [ + 82.098351, + 82.847672 + ], + "allocation_calls": 1011, + "requested_bytes": 91346 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "json_write", + "lane": "polyxml_generated_borrowed", + "median_us": 38.1121705, + "process_medians_us": [ + 37.931180999999995, + 38.079055999999994, + 38.564047, + 38.291025000000005, + 38.145285, + 37.865517 + ], + "process_range_us": [ + 37.865517, + 38.564047 + ], + "allocation_calls": 10, + "requested_bytes": 130944 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "json_write", + "lane": "polyxml_generated_owned", + "median_us": 37.5291215, + "process_medians_us": [ + 37.134651, + 39.353792999999996, + 37.851122000000004, + 37.600909, + 37.457334, + 37.447605 + ], + "process_range_us": [ + 37.134651, + 39.353792999999996 + ], + "allocation_calls": 10, + "requested_bytes": 130944 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "json_write", + "lane": "serde_json_handwritten", + "median_us": 37.8106375, + "process_medians_us": [ + 38.02342, + 37.337077, + 38.616601, + 37.597855, + 36.998956, + 38.546489 + ], + "process_range_us": [ + 36.998956, + 38.616601 + ], + "allocation_calls": 10, + "requested_bytes": 130944 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_read", + "lane": "polyxml_dynamic", + "median_us": 790.577156, + "process_medians_us": [ + 791.1412809999999, + 782.045422, + 794.066161, + 796.202596, + 788.2474840000001, + 790.013031 + ], + "process_range_us": [ + 782.045422, + 796.202596 + ], + "allocation_calls": 3025, + "requested_bytes": 487441 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_read", + "lane": "polyxml_generated_borrowed", + "median_us": 363.816827, + "process_medians_us": [ + 363.957913, + 363.627478, + 362.710368, + 366.301166, + 375.357842, + 363.67574099999996 + ], + "process_range_us": [ + 362.710368, + 375.357842 + ], + "allocation_calls": 3012, + "requested_bytes": 141694 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_read", + "lane": "polyxml_generated_owned", + "median_us": 379.10122049999995, + "process_medians_us": [ + 375.927314, + 377.898311, + 378.50165999999996, + 379.937125, + 380.02063, + 379.700781 + ], + "process_range_us": [ + 375.927314, + 380.02063 + ], + "allocation_calls": 4012, + "requested_bytes": 149694 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_read", + "lane": "quick_xml_serde_borrowed", + "median_us": 646.779821, + "process_medians_us": [ + 645.914525, + 644.802463, + 657.283, + 647.6451169999999, + 652.363784, + 645.018933 + ], + "process_range_us": [ + 644.802463, + 657.283 + ], + "allocation_calls": 4016, + "requested_bytes": 167837 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_read", + "lane": "quick_xml_serde_owned", + "median_us": 649.8958905, + "process_medians_us": [ + 649.810512, + 646.6695, + 656.109213, + 649.0659039999999, + 649.981269, + 656.509571 + ], + "process_range_us": [ + 646.6695, + 656.509571 + ], + "allocation_calls": 4016, + "requested_bytes": 167837 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_read", + "lane": "serde_xml_rs_owned", + "median_us": 2926.9465090000003, + "process_medians_us": [ + 2913.413926, + 2922.747148, + 2931.1458700000003, + 2941.168074, + 2959.931314, + 2920.394796 + ], + "process_range_us": [ + 2913.413926, + 2959.931314 + ], + "allocation_calls": 53041, + "requested_bytes": 7029019 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_write", + "lane": "polyxml_dynamic", + "median_us": 170.513565, + "process_medians_us": [ + 167.870679, + 176.289874, + 176.208032, + 169.932162, + 171.094968, + 163.93801000000002 + ], + "process_range_us": [ + 163.93801000000002, + 176.289874 + ], + "allocation_calls": 2009, + "requested_bytes": 339302 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_write", + "lane": "polyxml_generated_borrowed", + "median_us": 133.7142055, + "process_medians_us": [ + 132.051008, + 134.19147, + 138.869301, + 133.236941, + 151.29344899999998, + 128.663684 + ], + "process_range_us": [ + 128.663684, + 151.29344899999998 + ], + "allocation_calls": 3015, + "requested_bytes": 349806 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_write", + "lane": "polyxml_generated_owned", + "median_us": 133.961928, + "process_medians_us": [ + 131.979155, + 142.035235, + 139.260926, + 133.484299, + 134.439557, + 127.63031699999999 + ], + "process_range_us": [ + 127.63031699999999, + 142.035235 + ], + "allocation_calls": 3015, + "requested_bytes": 349806 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_write", + "lane": "quick_xml_serde_borrowed", + "median_us": 228.3837, + "process_medians_us": [ + 228.101673, + 224.595061, + 234.211402, + 253.01608199999998, + 228.665727, + 220.226852 + ], + "process_range_us": [ + 220.226852, + 253.01608199999998 + ], + "allocation_calls": 4016, + "requested_bytes": 633742 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_write", + "lane": "quick_xml_serde_owned", + "median_us": 247.09390050000002, + "process_medians_us": [ + 256.095448, + 249.83250700000002, + 256.39628, + 225.686818, + 241.03614000000002, + 244.355294 + ], + "process_range_us": [ + 225.686818, + 256.39628 + ], + "allocation_calls": 4016, + "requested_bytes": 633742 + }, + { + "runtime": "rust", + "case": "escaped_1000", + "op": "xml_write", + "lane": "serde_xml_rs_owned", + "median_us": 365.01087199999995, + "process_medians_us": [ + 365.20370199999996, + 361.615888, + 364.818042, + 362.53699800000004, + 368.794748, + 365.931306 + ], + "process_range_us": [ + 361.615888, + 368.794748 + ], + "allocation_calls": 9021, + "requested_bytes": 298209 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "json_read", + "lane": "polyxml_generated_borrowed", + "median_us": 0.0827945, + "process_medians_us": [ + 0.087369, + 0.08401600000000001, + 0.081959, + 0.08259999999999999, + 0.08298900000000001, + 0.082069 + ], + "process_range_us": [ + 0.081959, + 0.087369 + ], + "allocation_calls": 2, + "requested_bytes": 136 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "json_read", + "lane": "polyxml_generated_owned", + "median_us": 0.08385300000000001, + "process_medians_us": [ + 0.083846, + 0.085205, + 0.083885, + 0.08386, + 0.08350199999999999, + 0.083598 + ], + "process_range_us": [ + 0.08350199999999999, + 0.085205 + ], + "allocation_calls": 2, + "requested_bytes": 136 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "json_read", + "lane": "serde_json_handwritten", + "median_us": 0.0842565, + "process_medians_us": [ + 0.084148, + 0.08471200000000001, + 0.08358700000000001, + 0.08385899999999999, + 0.085196, + 0.084365 + ], + "process_range_us": [ + 0.08358700000000001, + 0.085196 + ], + "allocation_calls": 2, + "requested_bytes": 136 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "json_write", + "lane": "polyxml_generated_borrowed", + "median_us": 0.040542999999999996, + "process_medians_us": [ + 0.040729, + 0.040235, + 0.040156, + 0.040795000000000005, + 0.040649, + 0.040437 + ], + "process_range_us": [ + 0.040156, + 0.040795000000000005 + ], + "allocation_calls": 1, + "requested_bytes": 128 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "json_write", + "lane": "polyxml_generated_owned", + "median_us": 0.041222999999999996, + "process_medians_us": [ + 0.041269, + 0.040966999999999996, + 0.041222, + 0.041224, + 0.041052, + 0.041344 + ], + "process_range_us": [ + 0.040966999999999996, + 0.041344 + ], + "allocation_calls": 1, + "requested_bytes": 128 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "json_write", + "lane": "serde_json_handwritten", + "median_us": 0.0399625, + "process_medians_us": [ + 0.03997, + 0.040046, + 0.039955, + 0.039619, + 0.039822, + 0.040284 + ], + "process_range_us": [ + 0.039619, + 0.040284 + ], + "allocation_calls": 1, + "requested_bytes": 128 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_read", + "lane": "polyxml_dynamic", + "median_us": 1.044231, + "process_medians_us": [ + 1.045163, + 1.053171, + 1.043299, + 1.025082, + 1.040931, + 1.0562770000000001 + ], + "process_range_us": [ + 1.025082, + 1.0562770000000001 + ], + "allocation_calls": 17, + "requested_bytes": 11376 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_read", + "lane": "polyxml_generated_borrowed", + "median_us": 0.29862200000000005, + "process_medians_us": [ + 0.300377, + 0.29797, + 0.314907, + 0.298588, + 0.29865600000000003, + 0.29619799999999996 + ], + "process_range_us": [ + 0.29619799999999996, + 0.314907 + ], + "allocation_calls": 4, + "requested_bytes": 184 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_read", + "lane": "polyxml_generated_owned", + "median_us": 0.31886899999999996, + "process_medians_us": [ + 0.317844, + 0.320364, + 0.31881099999999996, + 0.318927, + 0.317193, + 0.325041 + ], + "process_range_us": [ + 0.317193, + 0.325041 + ], + "allocation_calls": 6, + "requested_bytes": 200 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_read", + "lane": "quick_xml_serde_borrowed", + "median_us": 0.7372765, + "process_medians_us": [ + 0.7302390000000001, + 0.736413, + 0.737885, + 0.762383, + 0.747572, + 0.736668 + ], + "process_range_us": [ + 0.7302390000000001, + 0.762383 + ], + "allocation_calls": 8, + "requested_bytes": 437 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_read", + "lane": "quick_xml_serde_owned", + "median_us": 0.7438225, + "process_medians_us": [ + 0.7437590000000001, + 0.735349, + 0.7438859999999999, + 0.746324, + 0.7404980000000001, + 0.7440789999999999 + ], + "process_range_us": [ + 0.735349, + 0.746324 + ], + "allocation_calls": 9, + "requested_bytes": 445 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_read", + "lane": "serde_xml_rs_owned", + "median_us": 3.461106, + "process_medians_us": [ + 3.424815, + 3.475615, + 3.446597, + 3.3642939999999997, + 3.48127, + 3.583527 + ], + "process_range_us": [ + 3.3642939999999997, + 3.583527 + ], + "allocation_calls": 81, + "requested_bytes": 11790 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_write", + "lane": "polyxml_dynamic", + "median_us": 0.1570835, + "process_medians_us": [ + 0.15678, + 0.158058, + 0.157212, + 0.161248, + 0.156955, + 0.156338 + ], + "process_range_us": [ + 0.156338, + 0.161248 + ], + "allocation_calls": 1, + "requested_bytes": 512 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_write", + "lane": "polyxml_generated_borrowed", + "median_us": 0.18671349999999998, + "process_medians_us": [ + 0.16769499999999998, + 0.184727, + 0.19180699999999998, + 0.19196700000000003, + 0.181051, + 0.18869999999999998 + ], + "process_range_us": [ + 0.16769499999999998, + 0.19196700000000003 + ], + "allocation_calls": 6, + "requested_bytes": 258 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_write", + "lane": "polyxml_generated_owned", + "median_us": 0.1879745, + "process_medians_us": [ + 0.188366, + 0.18024199999999999, + 0.187583, + 0.19426, + 0.182725, + 0.190738 + ], + "process_range_us": [ + 0.18024199999999999, + 0.19426 + ], + "allocation_calls": 6, + "requested_bytes": 258 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_write", + "lane": "quick_xml_serde_borrowed", + "median_us": 0.410827, + "process_medians_us": [ + 0.414125, + 0.428288, + 0.409248, + 0.412406, + 0.406493, + 0.396568 + ], + "process_range_us": [ + 0.396568, + 0.428288 + ], + "allocation_calls": 10, + "requested_bytes": 430 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_write", + "lane": "quick_xml_serde_owned", + "median_us": 0.417732, + "process_medians_us": [ + 0.426244, + 0.42594099999999996, + 0.39981599999999995, + 0.435307, + 0.409523, + 0.401531 + ], + "process_range_us": [ + 0.39981599999999995, + 0.435307 + ], + "allocation_calls": 10, + "requested_bytes": 430 + }, + { + "runtime": "rust", + "case": "sensor_1", + "op": "xml_write", + "lane": "serde_xml_rs_owned", + "median_us": 0.7118565, + "process_medians_us": [ + 0.712287, + 0.7514489999999999, + 0.703115, + 0.72089, + 0.710938, + 0.711426 + ], + "process_range_us": [ + 0.703115, + 0.7514489999999999 + ], + "allocation_calls": 20, + "requested_bytes": 741 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "json_read", + "lane": "polyxml_generated_borrowed", + "median_us": 61.685843000000006, + "process_medians_us": [ + 61.921436, + 61.429627, + 61.92342, + 61.697013, + 61.5945, + 61.674673000000006 + ], + "process_range_us": [ + 61.429627, + 61.92342 + ], + "allocation_calls": 1009, + "requested_bytes": 75298 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "json_read", + "lane": "polyxml_generated_owned", + "median_us": 64.02893549999999, + "process_medians_us": [ + 64.96653, + 63.936955999999995, + 63.593342, + 64.120915, + 63.744548, + 64.325958 + ], + "process_range_us": [ + 63.593342, + 64.96653 + ], + "allocation_calls": 1009, + "requested_bytes": 75298 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "json_read", + "lane": "serde_json_handwritten", + "median_us": 62.263468, + "process_medians_us": [ + 62.320186, + 62.209648, + 61.822048, + 61.996241000000005, + 62.826057999999996, + 62.317288 + ], + "process_range_us": [ + 61.822048, + 62.826057999999996 + ], + "allocation_calls": 1009, + "requested_bytes": 75298 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "json_write", + "lane": "polyxml_generated_borrowed", + "median_us": 26.871088999999998, + "process_medians_us": [ + 27.605438999999997, + 26.727444, + 27.154557, + 26.757354, + 26.179655999999998, + 26.984824 + ], + "process_range_us": [ + 26.179655999999998, + 27.605438999999997 + ], + "allocation_calls": 9, + "requested_bytes": 65408 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "json_write", + "lane": "polyxml_generated_owned", + "median_us": 26.9482255, + "process_medians_us": [ + 26.800572, + 27.625467, + 26.341436, + 27.509901000000003, + 26.430266, + 27.095879 + ], + "process_range_us": [ + 26.341436, + 27.625467 + ], + "allocation_calls": 9, + "requested_bytes": 65408 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "json_write", + "lane": "serde_json_handwritten", + "median_us": 27.162756, + "process_medians_us": [ + 26.63318, + 27.353330000000003, + 27.279854, + 27.045658, + 26.609313999999998, + 27.614192 + ], + "process_range_us": [ + 26.609313999999998, + 27.614192 + ], + "allocation_calls": 9, + "requested_bytes": 65408 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_read", + "lane": "polyxml_dynamic", + "median_us": 638.544196, + "process_medians_us": [ + 648.937833, + 634.065555, + 640.2849669999999, + 639.152967, + 637.935425, + 635.75955 + ], + "process_range_us": [ + 634.065555, + 648.937833 + ], + "allocation_calls": 3024, + "requested_bytes": 471402 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_read", + "lane": "polyxml_generated_borrowed", + "median_us": 191.6183285, + "process_medians_us": [ + 190.51768299999998, + 191.845202, + 191.39145499999998, + 192.38405, + 193.059597, + 190.44378 + ], + "process_range_us": [ + 190.44378, + 193.059597 + ], + "allocation_calls": 12, + "requested_bytes": 65464 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_read", + "lane": "polyxml_generated_owned", + "median_us": 232.1281395, + "process_medians_us": [ + 230.34494899999999, + 235.659535, + 231.648391, + 234.73630799999998, + 232.607888, + 231.345215 + ], + "process_range_us": [ + 230.34494899999999, + 235.659535 + ], + "allocation_calls": 2012, + "requested_bytes": 83354 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_read", + "lane": "quick_xml_serde_borrowed", + "median_us": 408.99740049999997, + "process_medians_us": [ + 408.332471, + 417.858787, + 406.636438, + 408.51951299999996, + 409.475288, + 411.345455 + ], + "process_range_us": [ + 406.636438, + 417.858787 + ], + "allocation_calls": 16, + "requested_bytes": 65717 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_read", + "lane": "quick_xml_serde_owned", + "median_us": 436.12325999999996, + "process_medians_us": [ + 434.32118199999996, + 437.383904, + 443.55178, + 437.141139, + 435.10538099999997, + 434.785301 + ], + "process_range_us": [ + 434.32118199999996, + 443.55178 + ], + "allocation_calls": 1016, + "requested_bytes": 75607 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_read", + "lane": "serde_xml_rs_owned", + "median_us": 2407.8482035, + "process_medians_us": [ + 2413.609062, + 2430.9132969999996, + 2408.844719, + 2401.346391, + 2405.987063, + 2406.851688 + ], + "process_range_us": [ + 2401.346391, + 2430.9132969999996 + ], + "allocation_calls": 49040, + "requested_bytes": 6913011 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_write", + "lane": "polyxml_dynamic", + "median_us": 89.68247, + "process_medians_us": [ + 89.821195, + 92.281958, + 89.543745, + 88.711829, + 89.02003500000001, + 90.62857000000001 + ], + "process_range_us": [ + 88.711829, + 92.281958 + ], + "allocation_calls": 8, + "requested_bytes": 130560 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_write", + "lane": "polyxml_generated_borrowed", + "median_us": 54.5077825, + "process_medians_us": [ + 53.489654, + 55.720085, + 55.164704, + 54.621396999999995, + 53.915651, + 54.394168 + ], + "process_range_us": [ + 53.489654, + 55.720085 + ], + "allocation_calls": 1014, + "requested_bytes": 141064 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_write", + "lane": "polyxml_generated_owned", + "median_us": 54.045161, + "process_medians_us": [ + 53.945779, + 54.796451, + 54.144543, + 53.613315, + 53.933704, + 54.777506 + ], + "process_range_us": [ + 53.613315, + 54.796451 + ], + "allocation_calls": 1014, + "requested_bytes": 141064 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_write", + "lane": "quick_xml_serde_borrowed", + "median_us": 198.315777, + "process_medians_us": [ + 197.730609, + 191.723391, + 203.229385, + 198.900945, + 197.33808499999998, + 204.931142 + ], + "process_range_us": [ + 191.723391, + 204.931142 + ], + "allocation_calls": 4016, + "requested_bytes": 449272 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_write", + "lane": "quick_xml_serde_owned", + "median_us": 198.83876600000002, + "process_medians_us": [ + 198.912856, + 187.40577299999998, + 198.764676, + 192.340128, + 202.835378, + 204.047293 + ], + "process_range_us": [ + 187.40577299999998, + 204.047293 + ], + "allocation_calls": 4016, + "requested_bytes": 449272 + }, + { + "runtime": "rust", + "case": "sensor_1000", + "op": "xml_write", + "lane": "serde_xml_rs_owned", + "median_us": 323.458884, + "process_medians_us": [ + 327.73658, + 323.51188, + 333.441583, + 323.405888, + 322.003302, + 323.365138 + ], + "process_range_us": [ + 322.003302, + 333.441583 + ], + "allocation_calls": 9020, + "requested_bytes": 175329 + } +] diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/summary.md b/docs/benchmarks/data/2026-10-04/serializer-comparison/summary.md new file mode 100644 index 00000000..4512fe61 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/summary.md @@ -0,0 +1,110 @@ +# All retained serializer comparisons + +Microseconds per operation; median of process medians. Range is the +minimum–maximum process median, not a confidence interval. Requested +bytes and allocation calls come from a separate Rust diagnostic build. + +| Runtime | Case | Operation | Lane | Median µs | Process range µs | Alloc calls | Requested B | +| :--- | :--- | :--- | :--- | ---: | ---: | ---: | ---: | +| python | escaped_1000 | json_read | polyxml_dataclass | 1461.390 | 1451.246–1474.689 | — | — | +| python | escaped_1000 | json_read | stdlib_json_typed_adapter | 524.133 | 517.207–540.693 | — | — | +| python | escaped_1000 | json_read | xsdata_dataclass | 9751.448 | 9640.520–10067.219 | — | — | +| python | escaped_1000 | json_write | polyxml_dataclass | 793.798 | 779.486–803.182 | — | — | +| python | escaped_1000 | json_write | stdlib_json_typed_adapter | 317.184 | 304.440–321.511 | — | — | +| python | escaped_1000 | json_write | xsdata_dataclass | 3669.966 | 3599.479–3718.639 | — | — | +| python | escaped_1000 | xml_read | lxml_typed_adapter | 3889.294 | 3830.643–4043.288 | — | — | +| python | escaped_1000 | xml_read | polyxml_dataclass | 1827.322 | 1760.253–1833.851 | — | — | +| python | escaped_1000 | xml_read | pydantic_xml | 9449.487 | 9407.555–9635.980 | — | — | +| python | escaped_1000 | xml_read | stdlib_elementtree_typed_adapter | 1484.441 | 1463.009–1496.686 | — | — | +| python | escaped_1000 | xml_read | xsdata_dataclass | 14673.548 | 14312.128–15039.597 | — | — | +| python | escaped_1000 | xml_write | lxml_typed_adapter | 1723.376 | 1683.607–1823.629 | — | — | +| python | escaped_1000 | xml_write | polyxml_dataclass | 841.481 | 830.727–855.086 | — | — | +| python | escaped_1000 | xml_write | pydantic_xml | 7953.091 | 7676.690–8187.683 | — | — | +| python | escaped_1000 | xml_write | stdlib_elementtree_typed_adapter | 3452.757 | 3434.123–3502.205 | — | — | +| python | escaped_1000 | xml_write | xsdata_dataclass | 14145.139 | 14064.607–15159.388 | — | — | +| python | sensor_1 | json_read | polyxml_dataclass | 3.397 | 3.328–3.473 | — | — | +| python | sensor_1 | json_read | stdlib_json_typed_adapter | 1.817 | 1.809–1.844 | — | — | +| python | sensor_1 | json_read | xsdata_dataclass | 15.686 | 15.376–16.283 | — | — | +| python | sensor_1 | json_write | polyxml_dataclass | 2.380 | 2.329–2.453 | — | — | +| python | sensor_1 | json_write | stdlib_json_typed_adapter | 1.860 | 1.857–1.933 | — | — | +| python | sensor_1 | json_write | xsdata_dataclass | 10.050 | 9.855–10.382 | — | — | +| python | sensor_1 | xml_read | lxml_typed_adapter | 6.533 | 6.233–6.793 | — | — | +| python | sensor_1 | xml_read | polyxml_dataclass | 4.067 | 3.948–4.138 | — | — | +| python | sensor_1 | xml_read | pydantic_xml | 13.208 | 13.061–13.436 | — | — | +| python | sensor_1 | xml_read | stdlib_elementtree_typed_adapter | 4.377 | 4.234–4.390 | — | — | +| python | sensor_1 | xml_read | xsdata_dataclass | 37.403 | 37.247–38.125 | — | — | +| python | sensor_1 | xml_write | lxml_typed_adapter | 2.979 | 2.898–3.208 | — | — | +| python | sensor_1 | xml_write | polyxml_dataclass | 2.496 | 2.452–2.525 | — | — | +| python | sensor_1 | xml_write | pydantic_xml | 10.840 | 10.610–11.587 | — | — | +| python | sensor_1 | xml_write | stdlib_elementtree_typed_adapter | 8.991 | 8.897–9.269 | — | — | +| python | sensor_1 | xml_write | xsdata_dataclass | 30.178 | 29.886–31.348 | — | — | +| python | sensor_1000 | json_read | polyxml_dataclass | 1381.683 | 1373.827–1387.160 | — | — | +| python | sensor_1000 | json_read | stdlib_json_typed_adapter | 408.831 | 406.391–421.532 | — | — | +| python | sensor_1000 | json_read | xsdata_dataclass | 9730.955 | 9546.547–10156.868 | — | — | +| python | sensor_1000 | json_write | polyxml_dataclass | 786.601 | 773.234–809.061 | — | — | +| python | sensor_1000 | json_write | stdlib_json_typed_adapter | 272.628 | 265.701–286.504 | — | — | +| python | sensor_1000 | json_write | xsdata_dataclass | 3619.624 | 3582.118–3677.733 | — | — | +| python | sensor_1000 | xml_read | lxml_typed_adapter | 3452.172 | 3409.714–3603.945 | — | — | +| python | sensor_1000 | xml_read | polyxml_dataclass | 1622.472 | 1614.938–1668.169 | — | — | +| python | sensor_1000 | xml_read | pydantic_xml | 8866.621 | 8711.383–9012.350 | — | — | +| python | sensor_1000 | xml_read | stdlib_elementtree_typed_adapter | 1155.200 | 1143.052–1165.596 | — | — | +| python | sensor_1000 | xml_read | xsdata_dataclass | 14064.814 | 13830.791–14377.351 | — | — | +| python | sensor_1000 | xml_write | lxml_typed_adapter | 1615.669 | 1597.016–1738.690 | — | — | +| python | sensor_1000 | xml_write | polyxml_dataclass | 767.098 | 758.672–775.759 | — | — | +| python | sensor_1000 | xml_write | pydantic_xml | 7744.327 | 7562.127–8070.694 | — | — | +| python | sensor_1000 | xml_write | stdlib_elementtree_typed_adapter | 3220.889 | 3168.987–3277.366 | — | — | +| python | sensor_1000 | xml_write | xsdata_dataclass | 14211.823 | 13963.729–15053.560 | — | — | +| rust | escaped_1000 | json_read | polyxml_generated_borrowed | 81.984 | 81.749–84.431 | 1011 | 91346 | +| rust | escaped_1000 | json_read | polyxml_generated_owned | 85.288 | 84.880–85.811 | 1011 | 91346 | +| rust | escaped_1000 | json_read | serde_json_handwritten | 82.534 | 82.098–82.848 | 1011 | 91346 | +| rust | escaped_1000 | json_write | polyxml_generated_borrowed | 38.112 | 37.866–38.564 | 10 | 130944 | +| rust | escaped_1000 | json_write | polyxml_generated_owned | 37.529 | 37.135–39.354 | 10 | 130944 | +| rust | escaped_1000 | json_write | serde_json_handwritten | 37.811 | 36.999–38.617 | 10 | 130944 | +| rust | escaped_1000 | xml_read | polyxml_dynamic | 790.577 | 782.045–796.203 | 3025 | 487441 | +| rust | escaped_1000 | xml_read | polyxml_generated_borrowed | 363.817 | 362.710–375.358 | 3012 | 141694 | +| rust | escaped_1000 | xml_read | polyxml_generated_owned | 379.101 | 375.927–380.021 | 4012 | 149694 | +| rust | escaped_1000 | xml_read | quick_xml_serde_borrowed | 646.780 | 644.802–657.283 | 4016 | 167837 | +| rust | escaped_1000 | xml_read | quick_xml_serde_owned | 649.896 | 646.669–656.510 | 4016 | 167837 | +| rust | escaped_1000 | xml_read | serde_xml_rs_owned | 2926.947 | 2913.414–2959.931 | 53041 | 7029019 | +| rust | escaped_1000 | xml_write | polyxml_dynamic | 170.514 | 163.938–176.290 | 2009 | 339302 | +| rust | escaped_1000 | xml_write | polyxml_generated_borrowed | 133.714 | 128.664–151.293 | 3015 | 349806 | +| rust | escaped_1000 | xml_write | polyxml_generated_owned | 133.962 | 127.630–142.035 | 3015 | 349806 | +| rust | escaped_1000 | xml_write | quick_xml_serde_borrowed | 228.384 | 220.227–253.016 | 4016 | 633742 | +| rust | escaped_1000 | xml_write | quick_xml_serde_owned | 247.094 | 225.687–256.396 | 4016 | 633742 | +| rust | escaped_1000 | xml_write | serde_xml_rs_owned | 365.011 | 361.616–368.795 | 9021 | 298209 | +| rust | sensor_1 | json_read | polyxml_generated_borrowed | 0.083 | 0.082–0.087 | 2 | 136 | +| rust | sensor_1 | json_read | polyxml_generated_owned | 0.084 | 0.084–0.085 | 2 | 136 | +| rust | sensor_1 | json_read | serde_json_handwritten | 0.084 | 0.084–0.085 | 2 | 136 | +| rust | sensor_1 | json_write | polyxml_generated_borrowed | 0.041 | 0.040–0.041 | 1 | 128 | +| rust | sensor_1 | json_write | polyxml_generated_owned | 0.041 | 0.041–0.041 | 1 | 128 | +| rust | sensor_1 | json_write | serde_json_handwritten | 0.040 | 0.040–0.040 | 1 | 128 | +| rust | sensor_1 | xml_read | polyxml_dynamic | 1.044 | 1.025–1.056 | 17 | 11376 | +| rust | sensor_1 | xml_read | polyxml_generated_borrowed | 0.299 | 0.296–0.315 | 4 | 184 | +| rust | sensor_1 | xml_read | polyxml_generated_owned | 0.319 | 0.317–0.325 | 6 | 200 | +| rust | sensor_1 | xml_read | quick_xml_serde_borrowed | 0.737 | 0.730–0.762 | 8 | 437 | +| rust | sensor_1 | xml_read | quick_xml_serde_owned | 0.744 | 0.735–0.746 | 9 | 445 | +| rust | sensor_1 | xml_read | serde_xml_rs_owned | 3.461 | 3.364–3.584 | 81 | 11790 | +| rust | sensor_1 | xml_write | polyxml_dynamic | 0.157 | 0.156–0.161 | 1 | 512 | +| rust | sensor_1 | xml_write | polyxml_generated_borrowed | 0.187 | 0.168–0.192 | 6 | 258 | +| rust | sensor_1 | xml_write | polyxml_generated_owned | 0.188 | 0.180–0.194 | 6 | 258 | +| rust | sensor_1 | xml_write | quick_xml_serde_borrowed | 0.411 | 0.397–0.428 | 10 | 430 | +| rust | sensor_1 | xml_write | quick_xml_serde_owned | 0.418 | 0.400–0.435 | 10 | 430 | +| rust | sensor_1 | xml_write | serde_xml_rs_owned | 0.712 | 0.703–0.751 | 20 | 741 | +| rust | sensor_1000 | json_read | polyxml_generated_borrowed | 61.686 | 61.430–61.923 | 1009 | 75298 | +| rust | sensor_1000 | json_read | polyxml_generated_owned | 64.029 | 63.593–64.967 | 1009 | 75298 | +| rust | sensor_1000 | json_read | serde_json_handwritten | 62.263 | 61.822–62.826 | 1009 | 75298 | +| rust | sensor_1000 | json_write | polyxml_generated_borrowed | 26.871 | 26.180–27.605 | 9 | 65408 | +| rust | sensor_1000 | json_write | polyxml_generated_owned | 26.948 | 26.341–27.625 | 9 | 65408 | +| rust | sensor_1000 | json_write | serde_json_handwritten | 27.163 | 26.609–27.614 | 9 | 65408 | +| rust | sensor_1000 | xml_read | polyxml_dynamic | 638.544 | 634.066–648.938 | 3024 | 471402 | +| rust | sensor_1000 | xml_read | polyxml_generated_borrowed | 191.618 | 190.444–193.060 | 12 | 65464 | +| rust | sensor_1000 | xml_read | polyxml_generated_owned | 232.128 | 230.345–235.660 | 2012 | 83354 | +| rust | sensor_1000 | xml_read | quick_xml_serde_borrowed | 408.997 | 406.636–417.859 | 16 | 65717 | +| rust | sensor_1000 | xml_read | quick_xml_serde_owned | 436.123 | 434.321–443.552 | 1016 | 75607 | +| rust | sensor_1000 | xml_read | serde_xml_rs_owned | 2407.848 | 2401.346–2430.913 | 49040 | 6913011 | +| rust | sensor_1000 | xml_write | polyxml_dynamic | 89.682 | 88.712–92.282 | 8 | 130560 | +| rust | sensor_1000 | xml_write | polyxml_generated_borrowed | 54.508 | 53.490–55.720 | 1014 | 141064 | +| rust | sensor_1000 | xml_write | polyxml_generated_owned | 54.045 | 53.613–54.796 | 1014 | 141064 | +| rust | sensor_1000 | xml_write | quick_xml_serde_borrowed | 198.316 | 191.723–204.931 | 4016 | 449272 | +| rust | sensor_1000 | xml_write | quick_xml_serde_owned | 198.839 | 187.406–204.047 | 4016 | 449272 | +| rust | sensor_1000 | xml_write | serde_xml_rs_owned | 323.459 | 322.003–333.442 | 9020 | 175329 | diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-lxml_typed_adapter-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-lxml_typed_adapter-escaped_1000.xml new file mode 100644 index 00000000..acf0192a --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-lxml_typed_adapter-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-lxml_typed_adapter-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-lxml_typed_adapter-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-lxml_typed_adapter-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-lxml_typed_adapter-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-lxml_typed_adapter-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-lxml_typed_adapter-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-escaped_1000.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-escaped_1000.json new file mode 100644 index 00000000..8b227642 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-escaped_1000.json @@ -0,0 +1 @@ +{"Sensor":[{"Id":"sensor-0 & <é> \"quoted\"","Value":0},{"Id":"sensor-1 & <é> \"quoted\"","Value":1},{"Id":"sensor-2 & <é> \"quoted\"","Value":2},{"Id":"sensor-3 & <é> \"quoted\"","Value":3},{"Id":"sensor-4 & <é> \"quoted\"","Value":4},{"Id":"sensor-5 & <é> \"quoted\"","Value":5},{"Id":"sensor-6 & <é> \"quoted\"","Value":6},{"Id":"sensor-7 & <é> \"quoted\"","Value":7},{"Id":"sensor-8 & <é> \"quoted\"","Value":8},{"Id":"sensor-9 & <é> \"quoted\"","Value":9},{"Id":"sensor-10 & <é> \"quoted\"","Value":10},{"Id":"sensor-11 & <é> \"quoted\"","Value":11},{"Id":"sensor-12 & <é> \"quoted\"","Value":12},{"Id":"sensor-13 & <é> \"quoted\"","Value":13},{"Id":"sensor-14 & <é> \"quoted\"","Value":14},{"Id":"sensor-15 & <é> \"quoted\"","Value":15},{"Id":"sensor-16 & <é> \"quoted\"","Value":16},{"Id":"sensor-17 & <é> \"quoted\"","Value":17},{"Id":"sensor-18 & <é> \"quoted\"","Value":18},{"Id":"sensor-19 & <é> \"quoted\"","Value":19},{"Id":"sensor-20 & <é> \"quoted\"","Value":20},{"Id":"sensor-21 & <é> \"quoted\"","Value":21},{"Id":"sensor-22 & <é> \"quoted\"","Value":22},{"Id":"sensor-23 & <é> \"quoted\"","Value":23},{"Id":"sensor-24 & <é> \"quoted\"","Value":24},{"Id":"sensor-25 & <é> \"quoted\"","Value":25},{"Id":"sensor-26 & <é> \"quoted\"","Value":26},{"Id":"sensor-27 & <é> \"quoted\"","Value":27},{"Id":"sensor-28 & <é> \"quoted\"","Value":28},{"Id":"sensor-29 & <é> \"quoted\"","Value":29},{"Id":"sensor-30 & <é> \"quoted\"","Value":30},{"Id":"sensor-31 & <é> \"quoted\"","Value":31},{"Id":"sensor-32 & <é> \"quoted\"","Value":32},{"Id":"sensor-33 & <é> \"quoted\"","Value":33},{"Id":"sensor-34 & <é> \"quoted\"","Value":34},{"Id":"sensor-35 & <é> \"quoted\"","Value":35},{"Id":"sensor-36 & <é> \"quoted\"","Value":36},{"Id":"sensor-37 & <é> \"quoted\"","Value":37},{"Id":"sensor-38 & <é> \"quoted\"","Value":38},{"Id":"sensor-39 & <é> \"quoted\"","Value":39},{"Id":"sensor-40 & <é> \"quoted\"","Value":40},{"Id":"sensor-41 & <é> \"quoted\"","Value":41},{"Id":"sensor-42 & <é> \"quoted\"","Value":42},{"Id":"sensor-43 & <é> \"quoted\"","Value":43},{"Id":"sensor-44 & <é> \"quoted\"","Value":44},{"Id":"sensor-45 & <é> \"quoted\"","Value":45},{"Id":"sensor-46 & <é> \"quoted\"","Value":46},{"Id":"sensor-47 & <é> \"quoted\"","Value":47},{"Id":"sensor-48 & <é> \"quoted\"","Value":48},{"Id":"sensor-49 & <é> \"quoted\"","Value":49},{"Id":"sensor-50 & <é> \"quoted\"","Value":50},{"Id":"sensor-51 & <é> \"quoted\"","Value":51},{"Id":"sensor-52 & <é> \"quoted\"","Value":52},{"Id":"sensor-53 & <é> \"quoted\"","Value":53},{"Id":"sensor-54 & <é> \"quoted\"","Value":54},{"Id":"sensor-55 & <é> \"quoted\"","Value":55},{"Id":"sensor-56 & <é> \"quoted\"","Value":56},{"Id":"sensor-57 & <é> \"quoted\"","Value":57},{"Id":"sensor-58 & <é> \"quoted\"","Value":58},{"Id":"sensor-59 & <é> \"quoted\"","Value":59},{"Id":"sensor-60 & <é> \"quoted\"","Value":60},{"Id":"sensor-61 & <é> \"quoted\"","Value":61},{"Id":"sensor-62 & <é> \"quoted\"","Value":62},{"Id":"sensor-63 & <é> \"quoted\"","Value":63},{"Id":"sensor-64 & <é> \"quoted\"","Value":64},{"Id":"sensor-65 & <é> \"quoted\"","Value":65},{"Id":"sensor-66 & <é> \"quoted\"","Value":66},{"Id":"sensor-67 & <é> \"quoted\"","Value":67},{"Id":"sensor-68 & <é> \"quoted\"","Value":68},{"Id":"sensor-69 & <é> \"quoted\"","Value":69},{"Id":"sensor-70 & <é> \"quoted\"","Value":70},{"Id":"sensor-71 & <é> \"quoted\"","Value":71},{"Id":"sensor-72 & <é> \"quoted\"","Value":72},{"Id":"sensor-73 & <é> \"quoted\"","Value":73},{"Id":"sensor-74 & <é> \"quoted\"","Value":74},{"Id":"sensor-75 & <é> \"quoted\"","Value":75},{"Id":"sensor-76 & <é> \"quoted\"","Value":76},{"Id":"sensor-77 & <é> \"quoted\"","Value":77},{"Id":"sensor-78 & <é> \"quoted\"","Value":78},{"Id":"sensor-79 & <é> \"quoted\"","Value":79},{"Id":"sensor-80 & <é> \"quoted\"","Value":80},{"Id":"sensor-81 & <é> \"quoted\"","Value":81},{"Id":"sensor-82 & <é> \"quoted\"","Value":82},{"Id":"sensor-83 & <é> \"quoted\"","Value":83},{"Id":"sensor-84 & <é> \"quoted\"","Value":84},{"Id":"sensor-85 & <é> \"quoted\"","Value":85},{"Id":"sensor-86 & <é> \"quoted\"","Value":86},{"Id":"sensor-87 & <é> \"quoted\"","Value":87},{"Id":"sensor-88 & <é> \"quoted\"","Value":88},{"Id":"sensor-89 & <é> \"quoted\"","Value":89},{"Id":"sensor-90 & <é> \"quoted\"","Value":90},{"Id":"sensor-91 & <é> \"quoted\"","Value":91},{"Id":"sensor-92 & <é> \"quoted\"","Value":92},{"Id":"sensor-93 & <é> \"quoted\"","Value":93},{"Id":"sensor-94 & <é> \"quoted\"","Value":94},{"Id":"sensor-95 & <é> \"quoted\"","Value":95},{"Id":"sensor-96 & <é> \"quoted\"","Value":96},{"Id":"sensor-97 & <é> \"quoted\"","Value":97},{"Id":"sensor-98 & <é> \"quoted\"","Value":98},{"Id":"sensor-99 & <é> \"quoted\"","Value":99},{"Id":"sensor-100 & <é> \"quoted\"","Value":100},{"Id":"sensor-101 & <é> \"quoted\"","Value":101},{"Id":"sensor-102 & <é> \"quoted\"","Value":102},{"Id":"sensor-103 & <é> \"quoted\"","Value":103},{"Id":"sensor-104 & <é> \"quoted\"","Value":104},{"Id":"sensor-105 & <é> \"quoted\"","Value":105},{"Id":"sensor-106 & <é> \"quoted\"","Value":106},{"Id":"sensor-107 & <é> \"quoted\"","Value":107},{"Id":"sensor-108 & <é> \"quoted\"","Value":108},{"Id":"sensor-109 & <é> \"quoted\"","Value":109},{"Id":"sensor-110 & <é> \"quoted\"","Value":110},{"Id":"sensor-111 & <é> \"quoted\"","Value":111},{"Id":"sensor-112 & <é> \"quoted\"","Value":112},{"Id":"sensor-113 & <é> \"quoted\"","Value":113},{"Id":"sensor-114 & <é> \"quoted\"","Value":114},{"Id":"sensor-115 & <é> \"quoted\"","Value":115},{"Id":"sensor-116 & <é> \"quoted\"","Value":116},{"Id":"sensor-117 & <é> \"quoted\"","Value":117},{"Id":"sensor-118 & <é> \"quoted\"","Value":118},{"Id":"sensor-119 & <é> \"quoted\"","Value":119},{"Id":"sensor-120 & <é> \"quoted\"","Value":120},{"Id":"sensor-121 & <é> \"quoted\"","Value":121},{"Id":"sensor-122 & <é> \"quoted\"","Value":122},{"Id":"sensor-123 & <é> \"quoted\"","Value":123},{"Id":"sensor-124 & <é> \"quoted\"","Value":124},{"Id":"sensor-125 & <é> \"quoted\"","Value":125},{"Id":"sensor-126 & <é> \"quoted\"","Value":126},{"Id":"sensor-127 & <é> \"quoted\"","Value":127},{"Id":"sensor-128 & <é> \"quoted\"","Value":128},{"Id":"sensor-129 & <é> \"quoted\"","Value":129},{"Id":"sensor-130 & <é> \"quoted\"","Value":130},{"Id":"sensor-131 & <é> \"quoted\"","Value":131},{"Id":"sensor-132 & <é> \"quoted\"","Value":132},{"Id":"sensor-133 & <é> \"quoted\"","Value":133},{"Id":"sensor-134 & <é> \"quoted\"","Value":134},{"Id":"sensor-135 & <é> \"quoted\"","Value":135},{"Id":"sensor-136 & <é> \"quoted\"","Value":136},{"Id":"sensor-137 & <é> \"quoted\"","Value":137},{"Id":"sensor-138 & <é> \"quoted\"","Value":138},{"Id":"sensor-139 & <é> \"quoted\"","Value":139},{"Id":"sensor-140 & <é> \"quoted\"","Value":140},{"Id":"sensor-141 & <é> \"quoted\"","Value":141},{"Id":"sensor-142 & <é> \"quoted\"","Value":142},{"Id":"sensor-143 & <é> \"quoted\"","Value":143},{"Id":"sensor-144 & <é> \"quoted\"","Value":144},{"Id":"sensor-145 & <é> \"quoted\"","Value":145},{"Id":"sensor-146 & <é> \"quoted\"","Value":146},{"Id":"sensor-147 & <é> \"quoted\"","Value":147},{"Id":"sensor-148 & <é> \"quoted\"","Value":148},{"Id":"sensor-149 & <é> \"quoted\"","Value":149},{"Id":"sensor-150 & <é> \"quoted\"","Value":150},{"Id":"sensor-151 & <é> \"quoted\"","Value":151},{"Id":"sensor-152 & <é> \"quoted\"","Value":152},{"Id":"sensor-153 & <é> \"quoted\"","Value":153},{"Id":"sensor-154 & <é> \"quoted\"","Value":154},{"Id":"sensor-155 & <é> \"quoted\"","Value":155},{"Id":"sensor-156 & <é> \"quoted\"","Value":156},{"Id":"sensor-157 & <é> \"quoted\"","Value":157},{"Id":"sensor-158 & <é> \"quoted\"","Value":158},{"Id":"sensor-159 & <é> \"quoted\"","Value":159},{"Id":"sensor-160 & <é> \"quoted\"","Value":160},{"Id":"sensor-161 & <é> \"quoted\"","Value":161},{"Id":"sensor-162 & <é> \"quoted\"","Value":162},{"Id":"sensor-163 & <é> \"quoted\"","Value":163},{"Id":"sensor-164 & <é> \"quoted\"","Value":164},{"Id":"sensor-165 & <é> \"quoted\"","Value":165},{"Id":"sensor-166 & <é> \"quoted\"","Value":166},{"Id":"sensor-167 & <é> \"quoted\"","Value":167},{"Id":"sensor-168 & <é> \"quoted\"","Value":168},{"Id":"sensor-169 & <é> \"quoted\"","Value":169},{"Id":"sensor-170 & <é> \"quoted\"","Value":170},{"Id":"sensor-171 & <é> \"quoted\"","Value":171},{"Id":"sensor-172 & <é> \"quoted\"","Value":172},{"Id":"sensor-173 & <é> \"quoted\"","Value":173},{"Id":"sensor-174 & <é> \"quoted\"","Value":174},{"Id":"sensor-175 & <é> \"quoted\"","Value":175},{"Id":"sensor-176 & <é> \"quoted\"","Value":176},{"Id":"sensor-177 & <é> \"quoted\"","Value":177},{"Id":"sensor-178 & <é> \"quoted\"","Value":178},{"Id":"sensor-179 & <é> \"quoted\"","Value":179},{"Id":"sensor-180 & <é> \"quoted\"","Value":180},{"Id":"sensor-181 & <é> \"quoted\"","Value":181},{"Id":"sensor-182 & <é> \"quoted\"","Value":182},{"Id":"sensor-183 & <é> \"quoted\"","Value":183},{"Id":"sensor-184 & <é> \"quoted\"","Value":184},{"Id":"sensor-185 & <é> \"quoted\"","Value":185},{"Id":"sensor-186 & <é> \"quoted\"","Value":186},{"Id":"sensor-187 & <é> \"quoted\"","Value":187},{"Id":"sensor-188 & <é> \"quoted\"","Value":188},{"Id":"sensor-189 & <é> \"quoted\"","Value":189},{"Id":"sensor-190 & <é> \"quoted\"","Value":190},{"Id":"sensor-191 & <é> \"quoted\"","Value":191},{"Id":"sensor-192 & <é> \"quoted\"","Value":192},{"Id":"sensor-193 & <é> \"quoted\"","Value":193},{"Id":"sensor-194 & <é> \"quoted\"","Value":194},{"Id":"sensor-195 & <é> \"quoted\"","Value":195},{"Id":"sensor-196 & <é> \"quoted\"","Value":196},{"Id":"sensor-197 & <é> \"quoted\"","Value":197},{"Id":"sensor-198 & <é> \"quoted\"","Value":198},{"Id":"sensor-199 & <é> \"quoted\"","Value":199},{"Id":"sensor-200 & <é> \"quoted\"","Value":200},{"Id":"sensor-201 & <é> \"quoted\"","Value":201},{"Id":"sensor-202 & <é> \"quoted\"","Value":202},{"Id":"sensor-203 & <é> \"quoted\"","Value":203},{"Id":"sensor-204 & <é> \"quoted\"","Value":204},{"Id":"sensor-205 & <é> \"quoted\"","Value":205},{"Id":"sensor-206 & <é> \"quoted\"","Value":206},{"Id":"sensor-207 & <é> \"quoted\"","Value":207},{"Id":"sensor-208 & <é> \"quoted\"","Value":208},{"Id":"sensor-209 & <é> \"quoted\"","Value":209},{"Id":"sensor-210 & <é> \"quoted\"","Value":210},{"Id":"sensor-211 & <é> \"quoted\"","Value":211},{"Id":"sensor-212 & <é> \"quoted\"","Value":212},{"Id":"sensor-213 & <é> \"quoted\"","Value":213},{"Id":"sensor-214 & <é> \"quoted\"","Value":214},{"Id":"sensor-215 & <é> \"quoted\"","Value":215},{"Id":"sensor-216 & <é> \"quoted\"","Value":216},{"Id":"sensor-217 & <é> \"quoted\"","Value":217},{"Id":"sensor-218 & <é> \"quoted\"","Value":218},{"Id":"sensor-219 & <é> \"quoted\"","Value":219},{"Id":"sensor-220 & <é> \"quoted\"","Value":220},{"Id":"sensor-221 & <é> \"quoted\"","Value":221},{"Id":"sensor-222 & <é> \"quoted\"","Value":222},{"Id":"sensor-223 & <é> \"quoted\"","Value":223},{"Id":"sensor-224 & <é> \"quoted\"","Value":224},{"Id":"sensor-225 & <é> \"quoted\"","Value":225},{"Id":"sensor-226 & <é> \"quoted\"","Value":226},{"Id":"sensor-227 & <é> \"quoted\"","Value":227},{"Id":"sensor-228 & <é> \"quoted\"","Value":228},{"Id":"sensor-229 & <é> \"quoted\"","Value":229},{"Id":"sensor-230 & <é> \"quoted\"","Value":230},{"Id":"sensor-231 & <é> \"quoted\"","Value":231},{"Id":"sensor-232 & <é> \"quoted\"","Value":232},{"Id":"sensor-233 & <é> \"quoted\"","Value":233},{"Id":"sensor-234 & <é> \"quoted\"","Value":234},{"Id":"sensor-235 & <é> \"quoted\"","Value":235},{"Id":"sensor-236 & <é> \"quoted\"","Value":236},{"Id":"sensor-237 & <é> \"quoted\"","Value":237},{"Id":"sensor-238 & <é> \"quoted\"","Value":238},{"Id":"sensor-239 & <é> \"quoted\"","Value":239},{"Id":"sensor-240 & <é> \"quoted\"","Value":240},{"Id":"sensor-241 & <é> \"quoted\"","Value":241},{"Id":"sensor-242 & <é> \"quoted\"","Value":242},{"Id":"sensor-243 & <é> \"quoted\"","Value":243},{"Id":"sensor-244 & <é> \"quoted\"","Value":244},{"Id":"sensor-245 & <é> \"quoted\"","Value":245},{"Id":"sensor-246 & <é> \"quoted\"","Value":246},{"Id":"sensor-247 & <é> \"quoted\"","Value":247},{"Id":"sensor-248 & <é> \"quoted\"","Value":248},{"Id":"sensor-249 & <é> \"quoted\"","Value":249},{"Id":"sensor-250 & <é> \"quoted\"","Value":250},{"Id":"sensor-251 & <é> \"quoted\"","Value":251},{"Id":"sensor-252 & <é> \"quoted\"","Value":252},{"Id":"sensor-253 & <é> \"quoted\"","Value":253},{"Id":"sensor-254 & <é> \"quoted\"","Value":254},{"Id":"sensor-255 & <é> \"quoted\"","Value":255},{"Id":"sensor-256 & <é> \"quoted\"","Value":256},{"Id":"sensor-257 & <é> \"quoted\"","Value":257},{"Id":"sensor-258 & <é> \"quoted\"","Value":258},{"Id":"sensor-259 & <é> \"quoted\"","Value":259},{"Id":"sensor-260 & <é> \"quoted\"","Value":260},{"Id":"sensor-261 & <é> \"quoted\"","Value":261},{"Id":"sensor-262 & <é> \"quoted\"","Value":262},{"Id":"sensor-263 & <é> \"quoted\"","Value":263},{"Id":"sensor-264 & <é> \"quoted\"","Value":264},{"Id":"sensor-265 & <é> \"quoted\"","Value":265},{"Id":"sensor-266 & <é> \"quoted\"","Value":266},{"Id":"sensor-267 & <é> \"quoted\"","Value":267},{"Id":"sensor-268 & <é> \"quoted\"","Value":268},{"Id":"sensor-269 & <é> \"quoted\"","Value":269},{"Id":"sensor-270 & <é> \"quoted\"","Value":270},{"Id":"sensor-271 & <é> \"quoted\"","Value":271},{"Id":"sensor-272 & <é> \"quoted\"","Value":272},{"Id":"sensor-273 & <é> \"quoted\"","Value":273},{"Id":"sensor-274 & <é> \"quoted\"","Value":274},{"Id":"sensor-275 & <é> \"quoted\"","Value":275},{"Id":"sensor-276 & <é> \"quoted\"","Value":276},{"Id":"sensor-277 & <é> \"quoted\"","Value":277},{"Id":"sensor-278 & <é> \"quoted\"","Value":278},{"Id":"sensor-279 & <é> \"quoted\"","Value":279},{"Id":"sensor-280 & <é> \"quoted\"","Value":280},{"Id":"sensor-281 & <é> \"quoted\"","Value":281},{"Id":"sensor-282 & <é> \"quoted\"","Value":282},{"Id":"sensor-283 & <é> \"quoted\"","Value":283},{"Id":"sensor-284 & <é> \"quoted\"","Value":284},{"Id":"sensor-285 & <é> \"quoted\"","Value":285},{"Id":"sensor-286 & <é> \"quoted\"","Value":286},{"Id":"sensor-287 & <é> \"quoted\"","Value":287},{"Id":"sensor-288 & <é> \"quoted\"","Value":288},{"Id":"sensor-289 & <é> \"quoted\"","Value":289},{"Id":"sensor-290 & <é> \"quoted\"","Value":290},{"Id":"sensor-291 & <é> \"quoted\"","Value":291},{"Id":"sensor-292 & <é> \"quoted\"","Value":292},{"Id":"sensor-293 & <é> \"quoted\"","Value":293},{"Id":"sensor-294 & <é> \"quoted\"","Value":294},{"Id":"sensor-295 & <é> \"quoted\"","Value":295},{"Id":"sensor-296 & <é> \"quoted\"","Value":296},{"Id":"sensor-297 & <é> \"quoted\"","Value":297},{"Id":"sensor-298 & <é> \"quoted\"","Value":298},{"Id":"sensor-299 & <é> \"quoted\"","Value":299},{"Id":"sensor-300 & <é> \"quoted\"","Value":300},{"Id":"sensor-301 & <é> \"quoted\"","Value":301},{"Id":"sensor-302 & <é> \"quoted\"","Value":302},{"Id":"sensor-303 & <é> \"quoted\"","Value":303},{"Id":"sensor-304 & <é> \"quoted\"","Value":304},{"Id":"sensor-305 & <é> \"quoted\"","Value":305},{"Id":"sensor-306 & <é> \"quoted\"","Value":306},{"Id":"sensor-307 & <é> \"quoted\"","Value":307},{"Id":"sensor-308 & <é> \"quoted\"","Value":308},{"Id":"sensor-309 & <é> \"quoted\"","Value":309},{"Id":"sensor-310 & <é> \"quoted\"","Value":310},{"Id":"sensor-311 & <é> \"quoted\"","Value":311},{"Id":"sensor-312 & <é> \"quoted\"","Value":312},{"Id":"sensor-313 & <é> \"quoted\"","Value":313},{"Id":"sensor-314 & <é> \"quoted\"","Value":314},{"Id":"sensor-315 & <é> \"quoted\"","Value":315},{"Id":"sensor-316 & <é> \"quoted\"","Value":316},{"Id":"sensor-317 & <é> \"quoted\"","Value":317},{"Id":"sensor-318 & <é> \"quoted\"","Value":318},{"Id":"sensor-319 & <é> \"quoted\"","Value":319},{"Id":"sensor-320 & <é> \"quoted\"","Value":320},{"Id":"sensor-321 & <é> \"quoted\"","Value":321},{"Id":"sensor-322 & <é> \"quoted\"","Value":322},{"Id":"sensor-323 & <é> \"quoted\"","Value":323},{"Id":"sensor-324 & <é> \"quoted\"","Value":324},{"Id":"sensor-325 & <é> \"quoted\"","Value":325},{"Id":"sensor-326 & <é> \"quoted\"","Value":326},{"Id":"sensor-327 & <é> \"quoted\"","Value":327},{"Id":"sensor-328 & <é> \"quoted\"","Value":328},{"Id":"sensor-329 & <é> \"quoted\"","Value":329},{"Id":"sensor-330 & <é> \"quoted\"","Value":330},{"Id":"sensor-331 & <é> \"quoted\"","Value":331},{"Id":"sensor-332 & <é> \"quoted\"","Value":332},{"Id":"sensor-333 & <é> \"quoted\"","Value":333},{"Id":"sensor-334 & <é> \"quoted\"","Value":334},{"Id":"sensor-335 & <é> \"quoted\"","Value":335},{"Id":"sensor-336 & <é> \"quoted\"","Value":336},{"Id":"sensor-337 & <é> \"quoted\"","Value":337},{"Id":"sensor-338 & <é> \"quoted\"","Value":338},{"Id":"sensor-339 & <é> \"quoted\"","Value":339},{"Id":"sensor-340 & <é> \"quoted\"","Value":340},{"Id":"sensor-341 & <é> \"quoted\"","Value":341},{"Id":"sensor-342 & <é> \"quoted\"","Value":342},{"Id":"sensor-343 & <é> \"quoted\"","Value":343},{"Id":"sensor-344 & <é> \"quoted\"","Value":344},{"Id":"sensor-345 & <é> \"quoted\"","Value":345},{"Id":"sensor-346 & <é> \"quoted\"","Value":346},{"Id":"sensor-347 & <é> \"quoted\"","Value":347},{"Id":"sensor-348 & <é> \"quoted\"","Value":348},{"Id":"sensor-349 & <é> \"quoted\"","Value":349},{"Id":"sensor-350 & <é> \"quoted\"","Value":350},{"Id":"sensor-351 & <é> \"quoted\"","Value":351},{"Id":"sensor-352 & <é> \"quoted\"","Value":352},{"Id":"sensor-353 & <é> \"quoted\"","Value":353},{"Id":"sensor-354 & <é> \"quoted\"","Value":354},{"Id":"sensor-355 & <é> \"quoted\"","Value":355},{"Id":"sensor-356 & <é> \"quoted\"","Value":356},{"Id":"sensor-357 & <é> \"quoted\"","Value":357},{"Id":"sensor-358 & <é> \"quoted\"","Value":358},{"Id":"sensor-359 & <é> \"quoted\"","Value":359},{"Id":"sensor-360 & <é> \"quoted\"","Value":360},{"Id":"sensor-361 & <é> \"quoted\"","Value":361},{"Id":"sensor-362 & <é> \"quoted\"","Value":362},{"Id":"sensor-363 & <é> \"quoted\"","Value":363},{"Id":"sensor-364 & <é> \"quoted\"","Value":364},{"Id":"sensor-365 & <é> \"quoted\"","Value":365},{"Id":"sensor-366 & <é> \"quoted\"","Value":366},{"Id":"sensor-367 & <é> \"quoted\"","Value":367},{"Id":"sensor-368 & <é> \"quoted\"","Value":368},{"Id":"sensor-369 & <é> \"quoted\"","Value":369},{"Id":"sensor-370 & <é> \"quoted\"","Value":370},{"Id":"sensor-371 & <é> \"quoted\"","Value":371},{"Id":"sensor-372 & <é> \"quoted\"","Value":372},{"Id":"sensor-373 & <é> \"quoted\"","Value":373},{"Id":"sensor-374 & <é> \"quoted\"","Value":374},{"Id":"sensor-375 & <é> \"quoted\"","Value":375},{"Id":"sensor-376 & <é> \"quoted\"","Value":376},{"Id":"sensor-377 & <é> \"quoted\"","Value":377},{"Id":"sensor-378 & <é> \"quoted\"","Value":378},{"Id":"sensor-379 & <é> \"quoted\"","Value":379},{"Id":"sensor-380 & <é> \"quoted\"","Value":380},{"Id":"sensor-381 & <é> \"quoted\"","Value":381},{"Id":"sensor-382 & <é> \"quoted\"","Value":382},{"Id":"sensor-383 & <é> \"quoted\"","Value":383},{"Id":"sensor-384 & <é> \"quoted\"","Value":384},{"Id":"sensor-385 & <é> \"quoted\"","Value":385},{"Id":"sensor-386 & <é> \"quoted\"","Value":386},{"Id":"sensor-387 & <é> \"quoted\"","Value":387},{"Id":"sensor-388 & <é> \"quoted\"","Value":388},{"Id":"sensor-389 & <é> \"quoted\"","Value":389},{"Id":"sensor-390 & <é> \"quoted\"","Value":390},{"Id":"sensor-391 & <é> \"quoted\"","Value":391},{"Id":"sensor-392 & <é> \"quoted\"","Value":392},{"Id":"sensor-393 & <é> \"quoted\"","Value":393},{"Id":"sensor-394 & <é> \"quoted\"","Value":394},{"Id":"sensor-395 & <é> \"quoted\"","Value":395},{"Id":"sensor-396 & <é> \"quoted\"","Value":396},{"Id":"sensor-397 & <é> \"quoted\"","Value":397},{"Id":"sensor-398 & <é> \"quoted\"","Value":398},{"Id":"sensor-399 & <é> \"quoted\"","Value":399},{"Id":"sensor-400 & <é> \"quoted\"","Value":400},{"Id":"sensor-401 & <é> \"quoted\"","Value":401},{"Id":"sensor-402 & <é> \"quoted\"","Value":402},{"Id":"sensor-403 & <é> \"quoted\"","Value":403},{"Id":"sensor-404 & <é> \"quoted\"","Value":404},{"Id":"sensor-405 & <é> \"quoted\"","Value":405},{"Id":"sensor-406 & <é> \"quoted\"","Value":406},{"Id":"sensor-407 & <é> \"quoted\"","Value":407},{"Id":"sensor-408 & <é> \"quoted\"","Value":408},{"Id":"sensor-409 & <é> \"quoted\"","Value":409},{"Id":"sensor-410 & <é> \"quoted\"","Value":410},{"Id":"sensor-411 & <é> \"quoted\"","Value":411},{"Id":"sensor-412 & <é> \"quoted\"","Value":412},{"Id":"sensor-413 & <é> \"quoted\"","Value":413},{"Id":"sensor-414 & <é> \"quoted\"","Value":414},{"Id":"sensor-415 & <é> \"quoted\"","Value":415},{"Id":"sensor-416 & <é> \"quoted\"","Value":416},{"Id":"sensor-417 & <é> \"quoted\"","Value":417},{"Id":"sensor-418 & <é> \"quoted\"","Value":418},{"Id":"sensor-419 & <é> \"quoted\"","Value":419},{"Id":"sensor-420 & <é> \"quoted\"","Value":420},{"Id":"sensor-421 & <é> \"quoted\"","Value":421},{"Id":"sensor-422 & <é> \"quoted\"","Value":422},{"Id":"sensor-423 & <é> \"quoted\"","Value":423},{"Id":"sensor-424 & <é> \"quoted\"","Value":424},{"Id":"sensor-425 & <é> \"quoted\"","Value":425},{"Id":"sensor-426 & <é> \"quoted\"","Value":426},{"Id":"sensor-427 & <é> \"quoted\"","Value":427},{"Id":"sensor-428 & <é> \"quoted\"","Value":428},{"Id":"sensor-429 & <é> \"quoted\"","Value":429},{"Id":"sensor-430 & <é> \"quoted\"","Value":430},{"Id":"sensor-431 & <é> \"quoted\"","Value":431},{"Id":"sensor-432 & <é> \"quoted\"","Value":432},{"Id":"sensor-433 & <é> \"quoted\"","Value":433},{"Id":"sensor-434 & <é> \"quoted\"","Value":434},{"Id":"sensor-435 & <é> \"quoted\"","Value":435},{"Id":"sensor-436 & <é> \"quoted\"","Value":436},{"Id":"sensor-437 & <é> \"quoted\"","Value":437},{"Id":"sensor-438 & <é> \"quoted\"","Value":438},{"Id":"sensor-439 & <é> \"quoted\"","Value":439},{"Id":"sensor-440 & <é> \"quoted\"","Value":440},{"Id":"sensor-441 & <é> \"quoted\"","Value":441},{"Id":"sensor-442 & <é> \"quoted\"","Value":442},{"Id":"sensor-443 & <é> \"quoted\"","Value":443},{"Id":"sensor-444 & <é> \"quoted\"","Value":444},{"Id":"sensor-445 & <é> \"quoted\"","Value":445},{"Id":"sensor-446 & <é> \"quoted\"","Value":446},{"Id":"sensor-447 & <é> \"quoted\"","Value":447},{"Id":"sensor-448 & <é> \"quoted\"","Value":448},{"Id":"sensor-449 & <é> \"quoted\"","Value":449},{"Id":"sensor-450 & <é> \"quoted\"","Value":450},{"Id":"sensor-451 & <é> \"quoted\"","Value":451},{"Id":"sensor-452 & <é> \"quoted\"","Value":452},{"Id":"sensor-453 & <é> \"quoted\"","Value":453},{"Id":"sensor-454 & <é> \"quoted\"","Value":454},{"Id":"sensor-455 & <é> \"quoted\"","Value":455},{"Id":"sensor-456 & <é> \"quoted\"","Value":456},{"Id":"sensor-457 & <é> \"quoted\"","Value":457},{"Id":"sensor-458 & <é> \"quoted\"","Value":458},{"Id":"sensor-459 & <é> \"quoted\"","Value":459},{"Id":"sensor-460 & <é> \"quoted\"","Value":460},{"Id":"sensor-461 & <é> \"quoted\"","Value":461},{"Id":"sensor-462 & <é> \"quoted\"","Value":462},{"Id":"sensor-463 & <é> \"quoted\"","Value":463},{"Id":"sensor-464 & <é> \"quoted\"","Value":464},{"Id":"sensor-465 & <é> \"quoted\"","Value":465},{"Id":"sensor-466 & <é> \"quoted\"","Value":466},{"Id":"sensor-467 & <é> \"quoted\"","Value":467},{"Id":"sensor-468 & <é> \"quoted\"","Value":468},{"Id":"sensor-469 & <é> \"quoted\"","Value":469},{"Id":"sensor-470 & <é> \"quoted\"","Value":470},{"Id":"sensor-471 & <é> \"quoted\"","Value":471},{"Id":"sensor-472 & <é> \"quoted\"","Value":472},{"Id":"sensor-473 & <é> \"quoted\"","Value":473},{"Id":"sensor-474 & <é> \"quoted\"","Value":474},{"Id":"sensor-475 & <é> \"quoted\"","Value":475},{"Id":"sensor-476 & <é> \"quoted\"","Value":476},{"Id":"sensor-477 & <é> \"quoted\"","Value":477},{"Id":"sensor-478 & <é> \"quoted\"","Value":478},{"Id":"sensor-479 & <é> \"quoted\"","Value":479},{"Id":"sensor-480 & <é> \"quoted\"","Value":480},{"Id":"sensor-481 & <é> \"quoted\"","Value":481},{"Id":"sensor-482 & <é> \"quoted\"","Value":482},{"Id":"sensor-483 & <é> \"quoted\"","Value":483},{"Id":"sensor-484 & <é> \"quoted\"","Value":484},{"Id":"sensor-485 & <é> \"quoted\"","Value":485},{"Id":"sensor-486 & <é> \"quoted\"","Value":486},{"Id":"sensor-487 & <é> \"quoted\"","Value":487},{"Id":"sensor-488 & <é> \"quoted\"","Value":488},{"Id":"sensor-489 & <é> \"quoted\"","Value":489},{"Id":"sensor-490 & <é> \"quoted\"","Value":490},{"Id":"sensor-491 & <é> \"quoted\"","Value":491},{"Id":"sensor-492 & <é> \"quoted\"","Value":492},{"Id":"sensor-493 & <é> \"quoted\"","Value":493},{"Id":"sensor-494 & <é> \"quoted\"","Value":494},{"Id":"sensor-495 & <é> \"quoted\"","Value":495},{"Id":"sensor-496 & <é> \"quoted\"","Value":496},{"Id":"sensor-497 & <é> \"quoted\"","Value":497},{"Id":"sensor-498 & <é> \"quoted\"","Value":498},{"Id":"sensor-499 & <é> \"quoted\"","Value":499},{"Id":"sensor-500 & <é> \"quoted\"","Value":500},{"Id":"sensor-501 & <é> \"quoted\"","Value":501},{"Id":"sensor-502 & <é> \"quoted\"","Value":502},{"Id":"sensor-503 & <é> \"quoted\"","Value":503},{"Id":"sensor-504 & <é> \"quoted\"","Value":504},{"Id":"sensor-505 & <é> \"quoted\"","Value":505},{"Id":"sensor-506 & <é> \"quoted\"","Value":506},{"Id":"sensor-507 & <é> \"quoted\"","Value":507},{"Id":"sensor-508 & <é> \"quoted\"","Value":508},{"Id":"sensor-509 & <é> \"quoted\"","Value":509},{"Id":"sensor-510 & <é> \"quoted\"","Value":510},{"Id":"sensor-511 & <é> \"quoted\"","Value":511},{"Id":"sensor-512 & <é> \"quoted\"","Value":512},{"Id":"sensor-513 & <é> \"quoted\"","Value":513},{"Id":"sensor-514 & <é> \"quoted\"","Value":514},{"Id":"sensor-515 & <é> \"quoted\"","Value":515},{"Id":"sensor-516 & <é> \"quoted\"","Value":516},{"Id":"sensor-517 & <é> \"quoted\"","Value":517},{"Id":"sensor-518 & <é> \"quoted\"","Value":518},{"Id":"sensor-519 & <é> \"quoted\"","Value":519},{"Id":"sensor-520 & <é> \"quoted\"","Value":520},{"Id":"sensor-521 & <é> \"quoted\"","Value":521},{"Id":"sensor-522 & <é> \"quoted\"","Value":522},{"Id":"sensor-523 & <é> \"quoted\"","Value":523},{"Id":"sensor-524 & <é> \"quoted\"","Value":524},{"Id":"sensor-525 & <é> \"quoted\"","Value":525},{"Id":"sensor-526 & <é> \"quoted\"","Value":526},{"Id":"sensor-527 & <é> \"quoted\"","Value":527},{"Id":"sensor-528 & <é> \"quoted\"","Value":528},{"Id":"sensor-529 & <é> \"quoted\"","Value":529},{"Id":"sensor-530 & <é> \"quoted\"","Value":530},{"Id":"sensor-531 & <é> \"quoted\"","Value":531},{"Id":"sensor-532 & <é> \"quoted\"","Value":532},{"Id":"sensor-533 & <é> \"quoted\"","Value":533},{"Id":"sensor-534 & <é> \"quoted\"","Value":534},{"Id":"sensor-535 & <é> \"quoted\"","Value":535},{"Id":"sensor-536 & <é> \"quoted\"","Value":536},{"Id":"sensor-537 & <é> \"quoted\"","Value":537},{"Id":"sensor-538 & <é> \"quoted\"","Value":538},{"Id":"sensor-539 & <é> \"quoted\"","Value":539},{"Id":"sensor-540 & <é> \"quoted\"","Value":540},{"Id":"sensor-541 & <é> \"quoted\"","Value":541},{"Id":"sensor-542 & <é> \"quoted\"","Value":542},{"Id":"sensor-543 & <é> \"quoted\"","Value":543},{"Id":"sensor-544 & <é> \"quoted\"","Value":544},{"Id":"sensor-545 & <é> \"quoted\"","Value":545},{"Id":"sensor-546 & <é> \"quoted\"","Value":546},{"Id":"sensor-547 & <é> \"quoted\"","Value":547},{"Id":"sensor-548 & <é> \"quoted\"","Value":548},{"Id":"sensor-549 & <é> \"quoted\"","Value":549},{"Id":"sensor-550 & <é> \"quoted\"","Value":550},{"Id":"sensor-551 & <é> \"quoted\"","Value":551},{"Id":"sensor-552 & <é> \"quoted\"","Value":552},{"Id":"sensor-553 & <é> \"quoted\"","Value":553},{"Id":"sensor-554 & <é> \"quoted\"","Value":554},{"Id":"sensor-555 & <é> \"quoted\"","Value":555},{"Id":"sensor-556 & <é> \"quoted\"","Value":556},{"Id":"sensor-557 & <é> \"quoted\"","Value":557},{"Id":"sensor-558 & <é> \"quoted\"","Value":558},{"Id":"sensor-559 & <é> \"quoted\"","Value":559},{"Id":"sensor-560 & <é> \"quoted\"","Value":560},{"Id":"sensor-561 & <é> \"quoted\"","Value":561},{"Id":"sensor-562 & <é> \"quoted\"","Value":562},{"Id":"sensor-563 & <é> \"quoted\"","Value":563},{"Id":"sensor-564 & <é> \"quoted\"","Value":564},{"Id":"sensor-565 & <é> \"quoted\"","Value":565},{"Id":"sensor-566 & <é> \"quoted\"","Value":566},{"Id":"sensor-567 & <é> \"quoted\"","Value":567},{"Id":"sensor-568 & <é> \"quoted\"","Value":568},{"Id":"sensor-569 & <é> \"quoted\"","Value":569},{"Id":"sensor-570 & <é> \"quoted\"","Value":570},{"Id":"sensor-571 & <é> \"quoted\"","Value":571},{"Id":"sensor-572 & <é> \"quoted\"","Value":572},{"Id":"sensor-573 & <é> \"quoted\"","Value":573},{"Id":"sensor-574 & <é> \"quoted\"","Value":574},{"Id":"sensor-575 & <é> \"quoted\"","Value":575},{"Id":"sensor-576 & <é> \"quoted\"","Value":576},{"Id":"sensor-577 & <é> \"quoted\"","Value":577},{"Id":"sensor-578 & <é> \"quoted\"","Value":578},{"Id":"sensor-579 & <é> \"quoted\"","Value":579},{"Id":"sensor-580 & <é> \"quoted\"","Value":580},{"Id":"sensor-581 & <é> \"quoted\"","Value":581},{"Id":"sensor-582 & <é> \"quoted\"","Value":582},{"Id":"sensor-583 & <é> \"quoted\"","Value":583},{"Id":"sensor-584 & <é> \"quoted\"","Value":584},{"Id":"sensor-585 & <é> \"quoted\"","Value":585},{"Id":"sensor-586 & <é> \"quoted\"","Value":586},{"Id":"sensor-587 & <é> \"quoted\"","Value":587},{"Id":"sensor-588 & <é> \"quoted\"","Value":588},{"Id":"sensor-589 & <é> \"quoted\"","Value":589},{"Id":"sensor-590 & <é> \"quoted\"","Value":590},{"Id":"sensor-591 & <é> \"quoted\"","Value":591},{"Id":"sensor-592 & <é> \"quoted\"","Value":592},{"Id":"sensor-593 & <é> \"quoted\"","Value":593},{"Id":"sensor-594 & <é> \"quoted\"","Value":594},{"Id":"sensor-595 & <é> \"quoted\"","Value":595},{"Id":"sensor-596 & <é> \"quoted\"","Value":596},{"Id":"sensor-597 & <é> \"quoted\"","Value":597},{"Id":"sensor-598 & <é> \"quoted\"","Value":598},{"Id":"sensor-599 & <é> \"quoted\"","Value":599},{"Id":"sensor-600 & <é> \"quoted\"","Value":600},{"Id":"sensor-601 & <é> \"quoted\"","Value":601},{"Id":"sensor-602 & <é> \"quoted\"","Value":602},{"Id":"sensor-603 & <é> \"quoted\"","Value":603},{"Id":"sensor-604 & <é> \"quoted\"","Value":604},{"Id":"sensor-605 & <é> \"quoted\"","Value":605},{"Id":"sensor-606 & <é> \"quoted\"","Value":606},{"Id":"sensor-607 & <é> \"quoted\"","Value":607},{"Id":"sensor-608 & <é> \"quoted\"","Value":608},{"Id":"sensor-609 & <é> \"quoted\"","Value":609},{"Id":"sensor-610 & <é> \"quoted\"","Value":610},{"Id":"sensor-611 & <é> \"quoted\"","Value":611},{"Id":"sensor-612 & <é> \"quoted\"","Value":612},{"Id":"sensor-613 & <é> \"quoted\"","Value":613},{"Id":"sensor-614 & <é> \"quoted\"","Value":614},{"Id":"sensor-615 & <é> \"quoted\"","Value":615},{"Id":"sensor-616 & <é> \"quoted\"","Value":616},{"Id":"sensor-617 & <é> \"quoted\"","Value":617},{"Id":"sensor-618 & <é> \"quoted\"","Value":618},{"Id":"sensor-619 & <é> \"quoted\"","Value":619},{"Id":"sensor-620 & <é> \"quoted\"","Value":620},{"Id":"sensor-621 & <é> \"quoted\"","Value":621},{"Id":"sensor-622 & <é> \"quoted\"","Value":622},{"Id":"sensor-623 & <é> \"quoted\"","Value":623},{"Id":"sensor-624 & <é> \"quoted\"","Value":624},{"Id":"sensor-625 & <é> \"quoted\"","Value":625},{"Id":"sensor-626 & <é> \"quoted\"","Value":626},{"Id":"sensor-627 & <é> \"quoted\"","Value":627},{"Id":"sensor-628 & <é> \"quoted\"","Value":628},{"Id":"sensor-629 & <é> \"quoted\"","Value":629},{"Id":"sensor-630 & <é> \"quoted\"","Value":630},{"Id":"sensor-631 & <é> \"quoted\"","Value":631},{"Id":"sensor-632 & <é> \"quoted\"","Value":632},{"Id":"sensor-633 & <é> \"quoted\"","Value":633},{"Id":"sensor-634 & <é> \"quoted\"","Value":634},{"Id":"sensor-635 & <é> \"quoted\"","Value":635},{"Id":"sensor-636 & <é> \"quoted\"","Value":636},{"Id":"sensor-637 & <é> \"quoted\"","Value":637},{"Id":"sensor-638 & <é> \"quoted\"","Value":638},{"Id":"sensor-639 & <é> \"quoted\"","Value":639},{"Id":"sensor-640 & <é> \"quoted\"","Value":640},{"Id":"sensor-641 & <é> \"quoted\"","Value":641},{"Id":"sensor-642 & <é> \"quoted\"","Value":642},{"Id":"sensor-643 & <é> \"quoted\"","Value":643},{"Id":"sensor-644 & <é> \"quoted\"","Value":644},{"Id":"sensor-645 & <é> \"quoted\"","Value":645},{"Id":"sensor-646 & <é> \"quoted\"","Value":646},{"Id":"sensor-647 & <é> \"quoted\"","Value":647},{"Id":"sensor-648 & <é> \"quoted\"","Value":648},{"Id":"sensor-649 & <é> \"quoted\"","Value":649},{"Id":"sensor-650 & <é> \"quoted\"","Value":650},{"Id":"sensor-651 & <é> \"quoted\"","Value":651},{"Id":"sensor-652 & <é> \"quoted\"","Value":652},{"Id":"sensor-653 & <é> \"quoted\"","Value":653},{"Id":"sensor-654 & <é> \"quoted\"","Value":654},{"Id":"sensor-655 & <é> \"quoted\"","Value":655},{"Id":"sensor-656 & <é> \"quoted\"","Value":656},{"Id":"sensor-657 & <é> \"quoted\"","Value":657},{"Id":"sensor-658 & <é> \"quoted\"","Value":658},{"Id":"sensor-659 & <é> \"quoted\"","Value":659},{"Id":"sensor-660 & <é> \"quoted\"","Value":660},{"Id":"sensor-661 & <é> \"quoted\"","Value":661},{"Id":"sensor-662 & <é> \"quoted\"","Value":662},{"Id":"sensor-663 & <é> \"quoted\"","Value":663},{"Id":"sensor-664 & <é> \"quoted\"","Value":664},{"Id":"sensor-665 & <é> \"quoted\"","Value":665},{"Id":"sensor-666 & <é> \"quoted\"","Value":666},{"Id":"sensor-667 & <é> \"quoted\"","Value":667},{"Id":"sensor-668 & <é> \"quoted\"","Value":668},{"Id":"sensor-669 & <é> \"quoted\"","Value":669},{"Id":"sensor-670 & <é> \"quoted\"","Value":670},{"Id":"sensor-671 & <é> \"quoted\"","Value":671},{"Id":"sensor-672 & <é> \"quoted\"","Value":672},{"Id":"sensor-673 & <é> \"quoted\"","Value":673},{"Id":"sensor-674 & <é> \"quoted\"","Value":674},{"Id":"sensor-675 & <é> \"quoted\"","Value":675},{"Id":"sensor-676 & <é> \"quoted\"","Value":676},{"Id":"sensor-677 & <é> \"quoted\"","Value":677},{"Id":"sensor-678 & <é> \"quoted\"","Value":678},{"Id":"sensor-679 & <é> \"quoted\"","Value":679},{"Id":"sensor-680 & <é> \"quoted\"","Value":680},{"Id":"sensor-681 & <é> \"quoted\"","Value":681},{"Id":"sensor-682 & <é> \"quoted\"","Value":682},{"Id":"sensor-683 & <é> \"quoted\"","Value":683},{"Id":"sensor-684 & <é> \"quoted\"","Value":684},{"Id":"sensor-685 & <é> \"quoted\"","Value":685},{"Id":"sensor-686 & <é> \"quoted\"","Value":686},{"Id":"sensor-687 & <é> \"quoted\"","Value":687},{"Id":"sensor-688 & <é> \"quoted\"","Value":688},{"Id":"sensor-689 & <é> \"quoted\"","Value":689},{"Id":"sensor-690 & <é> \"quoted\"","Value":690},{"Id":"sensor-691 & <é> \"quoted\"","Value":691},{"Id":"sensor-692 & <é> \"quoted\"","Value":692},{"Id":"sensor-693 & <é> \"quoted\"","Value":693},{"Id":"sensor-694 & <é> \"quoted\"","Value":694},{"Id":"sensor-695 & <é> \"quoted\"","Value":695},{"Id":"sensor-696 & <é> \"quoted\"","Value":696},{"Id":"sensor-697 & <é> \"quoted\"","Value":697},{"Id":"sensor-698 & <é> \"quoted\"","Value":698},{"Id":"sensor-699 & <é> \"quoted\"","Value":699},{"Id":"sensor-700 & <é> \"quoted\"","Value":700},{"Id":"sensor-701 & <é> \"quoted\"","Value":701},{"Id":"sensor-702 & <é> \"quoted\"","Value":702},{"Id":"sensor-703 & <é> \"quoted\"","Value":703},{"Id":"sensor-704 & <é> \"quoted\"","Value":704},{"Id":"sensor-705 & <é> \"quoted\"","Value":705},{"Id":"sensor-706 & <é> \"quoted\"","Value":706},{"Id":"sensor-707 & <é> \"quoted\"","Value":707},{"Id":"sensor-708 & <é> \"quoted\"","Value":708},{"Id":"sensor-709 & <é> \"quoted\"","Value":709},{"Id":"sensor-710 & <é> \"quoted\"","Value":710},{"Id":"sensor-711 & <é> \"quoted\"","Value":711},{"Id":"sensor-712 & <é> \"quoted\"","Value":712},{"Id":"sensor-713 & <é> \"quoted\"","Value":713},{"Id":"sensor-714 & <é> \"quoted\"","Value":714},{"Id":"sensor-715 & <é> \"quoted\"","Value":715},{"Id":"sensor-716 & <é> \"quoted\"","Value":716},{"Id":"sensor-717 & <é> \"quoted\"","Value":717},{"Id":"sensor-718 & <é> \"quoted\"","Value":718},{"Id":"sensor-719 & <é> \"quoted\"","Value":719},{"Id":"sensor-720 & <é> \"quoted\"","Value":720},{"Id":"sensor-721 & <é> \"quoted\"","Value":721},{"Id":"sensor-722 & <é> \"quoted\"","Value":722},{"Id":"sensor-723 & <é> \"quoted\"","Value":723},{"Id":"sensor-724 & <é> \"quoted\"","Value":724},{"Id":"sensor-725 & <é> \"quoted\"","Value":725},{"Id":"sensor-726 & <é> \"quoted\"","Value":726},{"Id":"sensor-727 & <é> \"quoted\"","Value":727},{"Id":"sensor-728 & <é> \"quoted\"","Value":728},{"Id":"sensor-729 & <é> \"quoted\"","Value":729},{"Id":"sensor-730 & <é> \"quoted\"","Value":730},{"Id":"sensor-731 & <é> \"quoted\"","Value":731},{"Id":"sensor-732 & <é> \"quoted\"","Value":732},{"Id":"sensor-733 & <é> \"quoted\"","Value":733},{"Id":"sensor-734 & <é> \"quoted\"","Value":734},{"Id":"sensor-735 & <é> \"quoted\"","Value":735},{"Id":"sensor-736 & <é> \"quoted\"","Value":736},{"Id":"sensor-737 & <é> \"quoted\"","Value":737},{"Id":"sensor-738 & <é> \"quoted\"","Value":738},{"Id":"sensor-739 & <é> \"quoted\"","Value":739},{"Id":"sensor-740 & <é> \"quoted\"","Value":740},{"Id":"sensor-741 & <é> \"quoted\"","Value":741},{"Id":"sensor-742 & <é> \"quoted\"","Value":742},{"Id":"sensor-743 & <é> \"quoted\"","Value":743},{"Id":"sensor-744 & <é> \"quoted\"","Value":744},{"Id":"sensor-745 & <é> \"quoted\"","Value":745},{"Id":"sensor-746 & <é> \"quoted\"","Value":746},{"Id":"sensor-747 & <é> \"quoted\"","Value":747},{"Id":"sensor-748 & <é> \"quoted\"","Value":748},{"Id":"sensor-749 & <é> \"quoted\"","Value":749},{"Id":"sensor-750 & <é> \"quoted\"","Value":750},{"Id":"sensor-751 & <é> \"quoted\"","Value":751},{"Id":"sensor-752 & <é> \"quoted\"","Value":752},{"Id":"sensor-753 & <é> \"quoted\"","Value":753},{"Id":"sensor-754 & <é> \"quoted\"","Value":754},{"Id":"sensor-755 & <é> \"quoted\"","Value":755},{"Id":"sensor-756 & <é> \"quoted\"","Value":756},{"Id":"sensor-757 & <é> \"quoted\"","Value":757},{"Id":"sensor-758 & <é> \"quoted\"","Value":758},{"Id":"sensor-759 & <é> \"quoted\"","Value":759},{"Id":"sensor-760 & <é> \"quoted\"","Value":760},{"Id":"sensor-761 & <é> \"quoted\"","Value":761},{"Id":"sensor-762 & <é> \"quoted\"","Value":762},{"Id":"sensor-763 & <é> \"quoted\"","Value":763},{"Id":"sensor-764 & <é> \"quoted\"","Value":764},{"Id":"sensor-765 & <é> \"quoted\"","Value":765},{"Id":"sensor-766 & <é> \"quoted\"","Value":766},{"Id":"sensor-767 & <é> \"quoted\"","Value":767},{"Id":"sensor-768 & <é> \"quoted\"","Value":768},{"Id":"sensor-769 & <é> \"quoted\"","Value":769},{"Id":"sensor-770 & <é> \"quoted\"","Value":770},{"Id":"sensor-771 & <é> \"quoted\"","Value":771},{"Id":"sensor-772 & <é> \"quoted\"","Value":772},{"Id":"sensor-773 & <é> \"quoted\"","Value":773},{"Id":"sensor-774 & <é> \"quoted\"","Value":774},{"Id":"sensor-775 & <é> \"quoted\"","Value":775},{"Id":"sensor-776 & <é> \"quoted\"","Value":776},{"Id":"sensor-777 & <é> \"quoted\"","Value":777},{"Id":"sensor-778 & <é> \"quoted\"","Value":778},{"Id":"sensor-779 & <é> \"quoted\"","Value":779},{"Id":"sensor-780 & <é> \"quoted\"","Value":780},{"Id":"sensor-781 & <é> \"quoted\"","Value":781},{"Id":"sensor-782 & <é> \"quoted\"","Value":782},{"Id":"sensor-783 & <é> \"quoted\"","Value":783},{"Id":"sensor-784 & <é> \"quoted\"","Value":784},{"Id":"sensor-785 & <é> \"quoted\"","Value":785},{"Id":"sensor-786 & <é> \"quoted\"","Value":786},{"Id":"sensor-787 & <é> \"quoted\"","Value":787},{"Id":"sensor-788 & <é> \"quoted\"","Value":788},{"Id":"sensor-789 & <é> \"quoted\"","Value":789},{"Id":"sensor-790 & <é> \"quoted\"","Value":790},{"Id":"sensor-791 & <é> \"quoted\"","Value":791},{"Id":"sensor-792 & <é> \"quoted\"","Value":792},{"Id":"sensor-793 & <é> \"quoted\"","Value":793},{"Id":"sensor-794 & <é> \"quoted\"","Value":794},{"Id":"sensor-795 & <é> \"quoted\"","Value":795},{"Id":"sensor-796 & <é> \"quoted\"","Value":796},{"Id":"sensor-797 & <é> \"quoted\"","Value":797},{"Id":"sensor-798 & <é> \"quoted\"","Value":798},{"Id":"sensor-799 & <é> \"quoted\"","Value":799},{"Id":"sensor-800 & <é> \"quoted\"","Value":800},{"Id":"sensor-801 & <é> \"quoted\"","Value":801},{"Id":"sensor-802 & <é> \"quoted\"","Value":802},{"Id":"sensor-803 & <é> \"quoted\"","Value":803},{"Id":"sensor-804 & <é> \"quoted\"","Value":804},{"Id":"sensor-805 & <é> \"quoted\"","Value":805},{"Id":"sensor-806 & <é> \"quoted\"","Value":806},{"Id":"sensor-807 & <é> \"quoted\"","Value":807},{"Id":"sensor-808 & <é> \"quoted\"","Value":808},{"Id":"sensor-809 & <é> \"quoted\"","Value":809},{"Id":"sensor-810 & <é> \"quoted\"","Value":810},{"Id":"sensor-811 & <é> \"quoted\"","Value":811},{"Id":"sensor-812 & <é> \"quoted\"","Value":812},{"Id":"sensor-813 & <é> \"quoted\"","Value":813},{"Id":"sensor-814 & <é> \"quoted\"","Value":814},{"Id":"sensor-815 & <é> \"quoted\"","Value":815},{"Id":"sensor-816 & <é> \"quoted\"","Value":816},{"Id":"sensor-817 & <é> \"quoted\"","Value":817},{"Id":"sensor-818 & <é> \"quoted\"","Value":818},{"Id":"sensor-819 & <é> \"quoted\"","Value":819},{"Id":"sensor-820 & <é> \"quoted\"","Value":820},{"Id":"sensor-821 & <é> \"quoted\"","Value":821},{"Id":"sensor-822 & <é> \"quoted\"","Value":822},{"Id":"sensor-823 & <é> \"quoted\"","Value":823},{"Id":"sensor-824 & <é> \"quoted\"","Value":824},{"Id":"sensor-825 & <é> \"quoted\"","Value":825},{"Id":"sensor-826 & <é> \"quoted\"","Value":826},{"Id":"sensor-827 & <é> \"quoted\"","Value":827},{"Id":"sensor-828 & <é> \"quoted\"","Value":828},{"Id":"sensor-829 & <é> \"quoted\"","Value":829},{"Id":"sensor-830 & <é> \"quoted\"","Value":830},{"Id":"sensor-831 & <é> \"quoted\"","Value":831},{"Id":"sensor-832 & <é> \"quoted\"","Value":832},{"Id":"sensor-833 & <é> \"quoted\"","Value":833},{"Id":"sensor-834 & <é> \"quoted\"","Value":834},{"Id":"sensor-835 & <é> \"quoted\"","Value":835},{"Id":"sensor-836 & <é> \"quoted\"","Value":836},{"Id":"sensor-837 & <é> \"quoted\"","Value":837},{"Id":"sensor-838 & <é> \"quoted\"","Value":838},{"Id":"sensor-839 & <é> \"quoted\"","Value":839},{"Id":"sensor-840 & <é> \"quoted\"","Value":840},{"Id":"sensor-841 & <é> \"quoted\"","Value":841},{"Id":"sensor-842 & <é> \"quoted\"","Value":842},{"Id":"sensor-843 & <é> \"quoted\"","Value":843},{"Id":"sensor-844 & <é> \"quoted\"","Value":844},{"Id":"sensor-845 & <é> \"quoted\"","Value":845},{"Id":"sensor-846 & <é> \"quoted\"","Value":846},{"Id":"sensor-847 & <é> \"quoted\"","Value":847},{"Id":"sensor-848 & <é> \"quoted\"","Value":848},{"Id":"sensor-849 & <é> \"quoted\"","Value":849},{"Id":"sensor-850 & <é> \"quoted\"","Value":850},{"Id":"sensor-851 & <é> \"quoted\"","Value":851},{"Id":"sensor-852 & <é> \"quoted\"","Value":852},{"Id":"sensor-853 & <é> \"quoted\"","Value":853},{"Id":"sensor-854 & <é> \"quoted\"","Value":854},{"Id":"sensor-855 & <é> \"quoted\"","Value":855},{"Id":"sensor-856 & <é> \"quoted\"","Value":856},{"Id":"sensor-857 & <é> \"quoted\"","Value":857},{"Id":"sensor-858 & <é> \"quoted\"","Value":858},{"Id":"sensor-859 & <é> \"quoted\"","Value":859},{"Id":"sensor-860 & <é> \"quoted\"","Value":860},{"Id":"sensor-861 & <é> \"quoted\"","Value":861},{"Id":"sensor-862 & <é> \"quoted\"","Value":862},{"Id":"sensor-863 & <é> \"quoted\"","Value":863},{"Id":"sensor-864 & <é> \"quoted\"","Value":864},{"Id":"sensor-865 & <é> \"quoted\"","Value":865},{"Id":"sensor-866 & <é> \"quoted\"","Value":866},{"Id":"sensor-867 & <é> \"quoted\"","Value":867},{"Id":"sensor-868 & <é> \"quoted\"","Value":868},{"Id":"sensor-869 & <é> \"quoted\"","Value":869},{"Id":"sensor-870 & <é> \"quoted\"","Value":870},{"Id":"sensor-871 & <é> \"quoted\"","Value":871},{"Id":"sensor-872 & <é> \"quoted\"","Value":872},{"Id":"sensor-873 & <é> \"quoted\"","Value":873},{"Id":"sensor-874 & <é> \"quoted\"","Value":874},{"Id":"sensor-875 & <é> \"quoted\"","Value":875},{"Id":"sensor-876 & <é> \"quoted\"","Value":876},{"Id":"sensor-877 & <é> \"quoted\"","Value":877},{"Id":"sensor-878 & <é> \"quoted\"","Value":878},{"Id":"sensor-879 & <é> \"quoted\"","Value":879},{"Id":"sensor-880 & <é> \"quoted\"","Value":880},{"Id":"sensor-881 & <é> \"quoted\"","Value":881},{"Id":"sensor-882 & <é> \"quoted\"","Value":882},{"Id":"sensor-883 & <é> \"quoted\"","Value":883},{"Id":"sensor-884 & <é> \"quoted\"","Value":884},{"Id":"sensor-885 & <é> \"quoted\"","Value":885},{"Id":"sensor-886 & <é> \"quoted\"","Value":886},{"Id":"sensor-887 & <é> \"quoted\"","Value":887},{"Id":"sensor-888 & <é> \"quoted\"","Value":888},{"Id":"sensor-889 & <é> \"quoted\"","Value":889},{"Id":"sensor-890 & <é> \"quoted\"","Value":890},{"Id":"sensor-891 & <é> \"quoted\"","Value":891},{"Id":"sensor-892 & <é> \"quoted\"","Value":892},{"Id":"sensor-893 & <é> \"quoted\"","Value":893},{"Id":"sensor-894 & <é> \"quoted\"","Value":894},{"Id":"sensor-895 & <é> \"quoted\"","Value":895},{"Id":"sensor-896 & <é> \"quoted\"","Value":896},{"Id":"sensor-897 & <é> \"quoted\"","Value":897},{"Id":"sensor-898 & <é> \"quoted\"","Value":898},{"Id":"sensor-899 & <é> \"quoted\"","Value":899},{"Id":"sensor-900 & <é> \"quoted\"","Value":900},{"Id":"sensor-901 & <é> \"quoted\"","Value":901},{"Id":"sensor-902 & <é> \"quoted\"","Value":902},{"Id":"sensor-903 & <é> \"quoted\"","Value":903},{"Id":"sensor-904 & <é> \"quoted\"","Value":904},{"Id":"sensor-905 & <é> \"quoted\"","Value":905},{"Id":"sensor-906 & <é> \"quoted\"","Value":906},{"Id":"sensor-907 & <é> \"quoted\"","Value":907},{"Id":"sensor-908 & <é> \"quoted\"","Value":908},{"Id":"sensor-909 & <é> \"quoted\"","Value":909},{"Id":"sensor-910 & <é> \"quoted\"","Value":910},{"Id":"sensor-911 & <é> \"quoted\"","Value":911},{"Id":"sensor-912 & <é> \"quoted\"","Value":912},{"Id":"sensor-913 & <é> \"quoted\"","Value":913},{"Id":"sensor-914 & <é> \"quoted\"","Value":914},{"Id":"sensor-915 & <é> \"quoted\"","Value":915},{"Id":"sensor-916 & <é> \"quoted\"","Value":916},{"Id":"sensor-917 & <é> \"quoted\"","Value":917},{"Id":"sensor-918 & <é> \"quoted\"","Value":918},{"Id":"sensor-919 & <é> \"quoted\"","Value":919},{"Id":"sensor-920 & <é> \"quoted\"","Value":920},{"Id":"sensor-921 & <é> \"quoted\"","Value":921},{"Id":"sensor-922 & <é> \"quoted\"","Value":922},{"Id":"sensor-923 & <é> \"quoted\"","Value":923},{"Id":"sensor-924 & <é> \"quoted\"","Value":924},{"Id":"sensor-925 & <é> \"quoted\"","Value":925},{"Id":"sensor-926 & <é> \"quoted\"","Value":926},{"Id":"sensor-927 & <é> \"quoted\"","Value":927},{"Id":"sensor-928 & <é> \"quoted\"","Value":928},{"Id":"sensor-929 & <é> \"quoted\"","Value":929},{"Id":"sensor-930 & <é> \"quoted\"","Value":930},{"Id":"sensor-931 & <é> \"quoted\"","Value":931},{"Id":"sensor-932 & <é> \"quoted\"","Value":932},{"Id":"sensor-933 & <é> \"quoted\"","Value":933},{"Id":"sensor-934 & <é> \"quoted\"","Value":934},{"Id":"sensor-935 & <é> \"quoted\"","Value":935},{"Id":"sensor-936 & <é> \"quoted\"","Value":936},{"Id":"sensor-937 & <é> \"quoted\"","Value":937},{"Id":"sensor-938 & <é> \"quoted\"","Value":938},{"Id":"sensor-939 & <é> \"quoted\"","Value":939},{"Id":"sensor-940 & <é> \"quoted\"","Value":940},{"Id":"sensor-941 & <é> \"quoted\"","Value":941},{"Id":"sensor-942 & <é> \"quoted\"","Value":942},{"Id":"sensor-943 & <é> \"quoted\"","Value":943},{"Id":"sensor-944 & <é> \"quoted\"","Value":944},{"Id":"sensor-945 & <é> \"quoted\"","Value":945},{"Id":"sensor-946 & <é> \"quoted\"","Value":946},{"Id":"sensor-947 & <é> \"quoted\"","Value":947},{"Id":"sensor-948 & <é> \"quoted\"","Value":948},{"Id":"sensor-949 & <é> \"quoted\"","Value":949},{"Id":"sensor-950 & <é> \"quoted\"","Value":950},{"Id":"sensor-951 & <é> \"quoted\"","Value":951},{"Id":"sensor-952 & <é> \"quoted\"","Value":952},{"Id":"sensor-953 & <é> \"quoted\"","Value":953},{"Id":"sensor-954 & <é> \"quoted\"","Value":954},{"Id":"sensor-955 & <é> \"quoted\"","Value":955},{"Id":"sensor-956 & <é> \"quoted\"","Value":956},{"Id":"sensor-957 & <é> \"quoted\"","Value":957},{"Id":"sensor-958 & <é> \"quoted\"","Value":958},{"Id":"sensor-959 & <é> \"quoted\"","Value":959},{"Id":"sensor-960 & <é> \"quoted\"","Value":960},{"Id":"sensor-961 & <é> \"quoted\"","Value":961},{"Id":"sensor-962 & <é> \"quoted\"","Value":962},{"Id":"sensor-963 & <é> \"quoted\"","Value":963},{"Id":"sensor-964 & <é> \"quoted\"","Value":964},{"Id":"sensor-965 & <é> \"quoted\"","Value":965},{"Id":"sensor-966 & <é> \"quoted\"","Value":966},{"Id":"sensor-967 & <é> \"quoted\"","Value":967},{"Id":"sensor-968 & <é> \"quoted\"","Value":968},{"Id":"sensor-969 & <é> \"quoted\"","Value":969},{"Id":"sensor-970 & <é> \"quoted\"","Value":970},{"Id":"sensor-971 & <é> \"quoted\"","Value":971},{"Id":"sensor-972 & <é> \"quoted\"","Value":972},{"Id":"sensor-973 & <é> \"quoted\"","Value":973},{"Id":"sensor-974 & <é> \"quoted\"","Value":974},{"Id":"sensor-975 & <é> \"quoted\"","Value":975},{"Id":"sensor-976 & <é> \"quoted\"","Value":976},{"Id":"sensor-977 & <é> \"quoted\"","Value":977},{"Id":"sensor-978 & <é> \"quoted\"","Value":978},{"Id":"sensor-979 & <é> \"quoted\"","Value":979},{"Id":"sensor-980 & <é> \"quoted\"","Value":980},{"Id":"sensor-981 & <é> \"quoted\"","Value":981},{"Id":"sensor-982 & <é> \"quoted\"","Value":982},{"Id":"sensor-983 & <é> \"quoted\"","Value":983},{"Id":"sensor-984 & <é> \"quoted\"","Value":984},{"Id":"sensor-985 & <é> \"quoted\"","Value":985},{"Id":"sensor-986 & <é> \"quoted\"","Value":986},{"Id":"sensor-987 & <é> \"quoted\"","Value":987},{"Id":"sensor-988 & <é> \"quoted\"","Value":988},{"Id":"sensor-989 & <é> \"quoted\"","Value":989},{"Id":"sensor-990 & <é> \"quoted\"","Value":990},{"Id":"sensor-991 & <é> \"quoted\"","Value":991},{"Id":"sensor-992 & <é> \"quoted\"","Value":992},{"Id":"sensor-993 & <é> \"quoted\"","Value":993},{"Id":"sensor-994 & <é> \"quoted\"","Value":994},{"Id":"sensor-995 & <é> \"quoted\"","Value":995},{"Id":"sensor-996 & <é> \"quoted\"","Value":996},{"Id":"sensor-997 & <é> \"quoted\"","Value":997},{"Id":"sensor-998 & <é> \"quoted\"","Value":998},{"Id":"sensor-999 & <é> \"quoted\"","Value":999}]} \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-escaped_1000.xml new file mode 100644 index 00000000..f20a8f24 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1.json new file mode 100644 index 00000000..b1aceacc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1.json @@ -0,0 +1 @@ +{"Sensor":[{"Id":"sensor-0","Value":0}]} \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1000.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1000.json new file mode 100644 index 00000000..a9c840e6 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1000.json @@ -0,0 +1 @@ +{"Sensor":[{"Id":"sensor-0","Value":0},{"Id":"sensor-1","Value":1},{"Id":"sensor-2","Value":2},{"Id":"sensor-3","Value":3},{"Id":"sensor-4","Value":4},{"Id":"sensor-5","Value":5},{"Id":"sensor-6","Value":6},{"Id":"sensor-7","Value":7},{"Id":"sensor-8","Value":8},{"Id":"sensor-9","Value":9},{"Id":"sensor-10","Value":10},{"Id":"sensor-11","Value":11},{"Id":"sensor-12","Value":12},{"Id":"sensor-13","Value":13},{"Id":"sensor-14","Value":14},{"Id":"sensor-15","Value":15},{"Id":"sensor-16","Value":16},{"Id":"sensor-17","Value":17},{"Id":"sensor-18","Value":18},{"Id":"sensor-19","Value":19},{"Id":"sensor-20","Value":20},{"Id":"sensor-21","Value":21},{"Id":"sensor-22","Value":22},{"Id":"sensor-23","Value":23},{"Id":"sensor-24","Value":24},{"Id":"sensor-25","Value":25},{"Id":"sensor-26","Value":26},{"Id":"sensor-27","Value":27},{"Id":"sensor-28","Value":28},{"Id":"sensor-29","Value":29},{"Id":"sensor-30","Value":30},{"Id":"sensor-31","Value":31},{"Id":"sensor-32","Value":32},{"Id":"sensor-33","Value":33},{"Id":"sensor-34","Value":34},{"Id":"sensor-35","Value":35},{"Id":"sensor-36","Value":36},{"Id":"sensor-37","Value":37},{"Id":"sensor-38","Value":38},{"Id":"sensor-39","Value":39},{"Id":"sensor-40","Value":40},{"Id":"sensor-41","Value":41},{"Id":"sensor-42","Value":42},{"Id":"sensor-43","Value":43},{"Id":"sensor-44","Value":44},{"Id":"sensor-45","Value":45},{"Id":"sensor-46","Value":46},{"Id":"sensor-47","Value":47},{"Id":"sensor-48","Value":48},{"Id":"sensor-49","Value":49},{"Id":"sensor-50","Value":50},{"Id":"sensor-51","Value":51},{"Id":"sensor-52","Value":52},{"Id":"sensor-53","Value":53},{"Id":"sensor-54","Value":54},{"Id":"sensor-55","Value":55},{"Id":"sensor-56","Value":56},{"Id":"sensor-57","Value":57},{"Id":"sensor-58","Value":58},{"Id":"sensor-59","Value":59},{"Id":"sensor-60","Value":60},{"Id":"sensor-61","Value":61},{"Id":"sensor-62","Value":62},{"Id":"sensor-63","Value":63},{"Id":"sensor-64","Value":64},{"Id":"sensor-65","Value":65},{"Id":"sensor-66","Value":66},{"Id":"sensor-67","Value":67},{"Id":"sensor-68","Value":68},{"Id":"sensor-69","Value":69},{"Id":"sensor-70","Value":70},{"Id":"sensor-71","Value":71},{"Id":"sensor-72","Value":72},{"Id":"sensor-73","Value":73},{"Id":"sensor-74","Value":74},{"Id":"sensor-75","Value":75},{"Id":"sensor-76","Value":76},{"Id":"sensor-77","Value":77},{"Id":"sensor-78","Value":78},{"Id":"sensor-79","Value":79},{"Id":"sensor-80","Value":80},{"Id":"sensor-81","Value":81},{"Id":"sensor-82","Value":82},{"Id":"sensor-83","Value":83},{"Id":"sensor-84","Value":84},{"Id":"sensor-85","Value":85},{"Id":"sensor-86","Value":86},{"Id":"sensor-87","Value":87},{"Id":"sensor-88","Value":88},{"Id":"sensor-89","Value":89},{"Id":"sensor-90","Value":90},{"Id":"sensor-91","Value":91},{"Id":"sensor-92","Value":92},{"Id":"sensor-93","Value":93},{"Id":"sensor-94","Value":94},{"Id":"sensor-95","Value":95},{"Id":"sensor-96","Value":96},{"Id":"sensor-97","Value":97},{"Id":"sensor-98","Value":98},{"Id":"sensor-99","Value":99},{"Id":"sensor-100","Value":100},{"Id":"sensor-101","Value":101},{"Id":"sensor-102","Value":102},{"Id":"sensor-103","Value":103},{"Id":"sensor-104","Value":104},{"Id":"sensor-105","Value":105},{"Id":"sensor-106","Value":106},{"Id":"sensor-107","Value":107},{"Id":"sensor-108","Value":108},{"Id":"sensor-109","Value":109},{"Id":"sensor-110","Value":110},{"Id":"sensor-111","Value":111},{"Id":"sensor-112","Value":112},{"Id":"sensor-113","Value":113},{"Id":"sensor-114","Value":114},{"Id":"sensor-115","Value":115},{"Id":"sensor-116","Value":116},{"Id":"sensor-117","Value":117},{"Id":"sensor-118","Value":118},{"Id":"sensor-119","Value":119},{"Id":"sensor-120","Value":120},{"Id":"sensor-121","Value":121},{"Id":"sensor-122","Value":122},{"Id":"sensor-123","Value":123},{"Id":"sensor-124","Value":124},{"Id":"sensor-125","Value":125},{"Id":"sensor-126","Value":126},{"Id":"sensor-127","Value":127},{"Id":"sensor-128","Value":128},{"Id":"sensor-129","Value":129},{"Id":"sensor-130","Value":130},{"Id":"sensor-131","Value":131},{"Id":"sensor-132","Value":132},{"Id":"sensor-133","Value":133},{"Id":"sensor-134","Value":134},{"Id":"sensor-135","Value":135},{"Id":"sensor-136","Value":136},{"Id":"sensor-137","Value":137},{"Id":"sensor-138","Value":138},{"Id":"sensor-139","Value":139},{"Id":"sensor-140","Value":140},{"Id":"sensor-141","Value":141},{"Id":"sensor-142","Value":142},{"Id":"sensor-143","Value":143},{"Id":"sensor-144","Value":144},{"Id":"sensor-145","Value":145},{"Id":"sensor-146","Value":146},{"Id":"sensor-147","Value":147},{"Id":"sensor-148","Value":148},{"Id":"sensor-149","Value":149},{"Id":"sensor-150","Value":150},{"Id":"sensor-151","Value":151},{"Id":"sensor-152","Value":152},{"Id":"sensor-153","Value":153},{"Id":"sensor-154","Value":154},{"Id":"sensor-155","Value":155},{"Id":"sensor-156","Value":156},{"Id":"sensor-157","Value":157},{"Id":"sensor-158","Value":158},{"Id":"sensor-159","Value":159},{"Id":"sensor-160","Value":160},{"Id":"sensor-161","Value":161},{"Id":"sensor-162","Value":162},{"Id":"sensor-163","Value":163},{"Id":"sensor-164","Value":164},{"Id":"sensor-165","Value":165},{"Id":"sensor-166","Value":166},{"Id":"sensor-167","Value":167},{"Id":"sensor-168","Value":168},{"Id":"sensor-169","Value":169},{"Id":"sensor-170","Value":170},{"Id":"sensor-171","Value":171},{"Id":"sensor-172","Value":172},{"Id":"sensor-173","Value":173},{"Id":"sensor-174","Value":174},{"Id":"sensor-175","Value":175},{"Id":"sensor-176","Value":176},{"Id":"sensor-177","Value":177},{"Id":"sensor-178","Value":178},{"Id":"sensor-179","Value":179},{"Id":"sensor-180","Value":180},{"Id":"sensor-181","Value":181},{"Id":"sensor-182","Value":182},{"Id":"sensor-183","Value":183},{"Id":"sensor-184","Value":184},{"Id":"sensor-185","Value":185},{"Id":"sensor-186","Value":186},{"Id":"sensor-187","Value":187},{"Id":"sensor-188","Value":188},{"Id":"sensor-189","Value":189},{"Id":"sensor-190","Value":190},{"Id":"sensor-191","Value":191},{"Id":"sensor-192","Value":192},{"Id":"sensor-193","Value":193},{"Id":"sensor-194","Value":194},{"Id":"sensor-195","Value":195},{"Id":"sensor-196","Value":196},{"Id":"sensor-197","Value":197},{"Id":"sensor-198","Value":198},{"Id":"sensor-199","Value":199},{"Id":"sensor-200","Value":200},{"Id":"sensor-201","Value":201},{"Id":"sensor-202","Value":202},{"Id":"sensor-203","Value":203},{"Id":"sensor-204","Value":204},{"Id":"sensor-205","Value":205},{"Id":"sensor-206","Value":206},{"Id":"sensor-207","Value":207},{"Id":"sensor-208","Value":208},{"Id":"sensor-209","Value":209},{"Id":"sensor-210","Value":210},{"Id":"sensor-211","Value":211},{"Id":"sensor-212","Value":212},{"Id":"sensor-213","Value":213},{"Id":"sensor-214","Value":214},{"Id":"sensor-215","Value":215},{"Id":"sensor-216","Value":216},{"Id":"sensor-217","Value":217},{"Id":"sensor-218","Value":218},{"Id":"sensor-219","Value":219},{"Id":"sensor-220","Value":220},{"Id":"sensor-221","Value":221},{"Id":"sensor-222","Value":222},{"Id":"sensor-223","Value":223},{"Id":"sensor-224","Value":224},{"Id":"sensor-225","Value":225},{"Id":"sensor-226","Value":226},{"Id":"sensor-227","Value":227},{"Id":"sensor-228","Value":228},{"Id":"sensor-229","Value":229},{"Id":"sensor-230","Value":230},{"Id":"sensor-231","Value":231},{"Id":"sensor-232","Value":232},{"Id":"sensor-233","Value":233},{"Id":"sensor-234","Value":234},{"Id":"sensor-235","Value":235},{"Id":"sensor-236","Value":236},{"Id":"sensor-237","Value":237},{"Id":"sensor-238","Value":238},{"Id":"sensor-239","Value":239},{"Id":"sensor-240","Value":240},{"Id":"sensor-241","Value":241},{"Id":"sensor-242","Value":242},{"Id":"sensor-243","Value":243},{"Id":"sensor-244","Value":244},{"Id":"sensor-245","Value":245},{"Id":"sensor-246","Value":246},{"Id":"sensor-247","Value":247},{"Id":"sensor-248","Value":248},{"Id":"sensor-249","Value":249},{"Id":"sensor-250","Value":250},{"Id":"sensor-251","Value":251},{"Id":"sensor-252","Value":252},{"Id":"sensor-253","Value":253},{"Id":"sensor-254","Value":254},{"Id":"sensor-255","Value":255},{"Id":"sensor-256","Value":256},{"Id":"sensor-257","Value":257},{"Id":"sensor-258","Value":258},{"Id":"sensor-259","Value":259},{"Id":"sensor-260","Value":260},{"Id":"sensor-261","Value":261},{"Id":"sensor-262","Value":262},{"Id":"sensor-263","Value":263},{"Id":"sensor-264","Value":264},{"Id":"sensor-265","Value":265},{"Id":"sensor-266","Value":266},{"Id":"sensor-267","Value":267},{"Id":"sensor-268","Value":268},{"Id":"sensor-269","Value":269},{"Id":"sensor-270","Value":270},{"Id":"sensor-271","Value":271},{"Id":"sensor-272","Value":272},{"Id":"sensor-273","Value":273},{"Id":"sensor-274","Value":274},{"Id":"sensor-275","Value":275},{"Id":"sensor-276","Value":276},{"Id":"sensor-277","Value":277},{"Id":"sensor-278","Value":278},{"Id":"sensor-279","Value":279},{"Id":"sensor-280","Value":280},{"Id":"sensor-281","Value":281},{"Id":"sensor-282","Value":282},{"Id":"sensor-283","Value":283},{"Id":"sensor-284","Value":284},{"Id":"sensor-285","Value":285},{"Id":"sensor-286","Value":286},{"Id":"sensor-287","Value":287},{"Id":"sensor-288","Value":288},{"Id":"sensor-289","Value":289},{"Id":"sensor-290","Value":290},{"Id":"sensor-291","Value":291},{"Id":"sensor-292","Value":292},{"Id":"sensor-293","Value":293},{"Id":"sensor-294","Value":294},{"Id":"sensor-295","Value":295},{"Id":"sensor-296","Value":296},{"Id":"sensor-297","Value":297},{"Id":"sensor-298","Value":298},{"Id":"sensor-299","Value":299},{"Id":"sensor-300","Value":300},{"Id":"sensor-301","Value":301},{"Id":"sensor-302","Value":302},{"Id":"sensor-303","Value":303},{"Id":"sensor-304","Value":304},{"Id":"sensor-305","Value":305},{"Id":"sensor-306","Value":306},{"Id":"sensor-307","Value":307},{"Id":"sensor-308","Value":308},{"Id":"sensor-309","Value":309},{"Id":"sensor-310","Value":310},{"Id":"sensor-311","Value":311},{"Id":"sensor-312","Value":312},{"Id":"sensor-313","Value":313},{"Id":"sensor-314","Value":314},{"Id":"sensor-315","Value":315},{"Id":"sensor-316","Value":316},{"Id":"sensor-317","Value":317},{"Id":"sensor-318","Value":318},{"Id":"sensor-319","Value":319},{"Id":"sensor-320","Value":320},{"Id":"sensor-321","Value":321},{"Id":"sensor-322","Value":322},{"Id":"sensor-323","Value":323},{"Id":"sensor-324","Value":324},{"Id":"sensor-325","Value":325},{"Id":"sensor-326","Value":326},{"Id":"sensor-327","Value":327},{"Id":"sensor-328","Value":328},{"Id":"sensor-329","Value":329},{"Id":"sensor-330","Value":330},{"Id":"sensor-331","Value":331},{"Id":"sensor-332","Value":332},{"Id":"sensor-333","Value":333},{"Id":"sensor-334","Value":334},{"Id":"sensor-335","Value":335},{"Id":"sensor-336","Value":336},{"Id":"sensor-337","Value":337},{"Id":"sensor-338","Value":338},{"Id":"sensor-339","Value":339},{"Id":"sensor-340","Value":340},{"Id":"sensor-341","Value":341},{"Id":"sensor-342","Value":342},{"Id":"sensor-343","Value":343},{"Id":"sensor-344","Value":344},{"Id":"sensor-345","Value":345},{"Id":"sensor-346","Value":346},{"Id":"sensor-347","Value":347},{"Id":"sensor-348","Value":348},{"Id":"sensor-349","Value":349},{"Id":"sensor-350","Value":350},{"Id":"sensor-351","Value":351},{"Id":"sensor-352","Value":352},{"Id":"sensor-353","Value":353},{"Id":"sensor-354","Value":354},{"Id":"sensor-355","Value":355},{"Id":"sensor-356","Value":356},{"Id":"sensor-357","Value":357},{"Id":"sensor-358","Value":358},{"Id":"sensor-359","Value":359},{"Id":"sensor-360","Value":360},{"Id":"sensor-361","Value":361},{"Id":"sensor-362","Value":362},{"Id":"sensor-363","Value":363},{"Id":"sensor-364","Value":364},{"Id":"sensor-365","Value":365},{"Id":"sensor-366","Value":366},{"Id":"sensor-367","Value":367},{"Id":"sensor-368","Value":368},{"Id":"sensor-369","Value":369},{"Id":"sensor-370","Value":370},{"Id":"sensor-371","Value":371},{"Id":"sensor-372","Value":372},{"Id":"sensor-373","Value":373},{"Id":"sensor-374","Value":374},{"Id":"sensor-375","Value":375},{"Id":"sensor-376","Value":376},{"Id":"sensor-377","Value":377},{"Id":"sensor-378","Value":378},{"Id":"sensor-379","Value":379},{"Id":"sensor-380","Value":380},{"Id":"sensor-381","Value":381},{"Id":"sensor-382","Value":382},{"Id":"sensor-383","Value":383},{"Id":"sensor-384","Value":384},{"Id":"sensor-385","Value":385},{"Id":"sensor-386","Value":386},{"Id":"sensor-387","Value":387},{"Id":"sensor-388","Value":388},{"Id":"sensor-389","Value":389},{"Id":"sensor-390","Value":390},{"Id":"sensor-391","Value":391},{"Id":"sensor-392","Value":392},{"Id":"sensor-393","Value":393},{"Id":"sensor-394","Value":394},{"Id":"sensor-395","Value":395},{"Id":"sensor-396","Value":396},{"Id":"sensor-397","Value":397},{"Id":"sensor-398","Value":398},{"Id":"sensor-399","Value":399},{"Id":"sensor-400","Value":400},{"Id":"sensor-401","Value":401},{"Id":"sensor-402","Value":402},{"Id":"sensor-403","Value":403},{"Id":"sensor-404","Value":404},{"Id":"sensor-405","Value":405},{"Id":"sensor-406","Value":406},{"Id":"sensor-407","Value":407},{"Id":"sensor-408","Value":408},{"Id":"sensor-409","Value":409},{"Id":"sensor-410","Value":410},{"Id":"sensor-411","Value":411},{"Id":"sensor-412","Value":412},{"Id":"sensor-413","Value":413},{"Id":"sensor-414","Value":414},{"Id":"sensor-415","Value":415},{"Id":"sensor-416","Value":416},{"Id":"sensor-417","Value":417},{"Id":"sensor-418","Value":418},{"Id":"sensor-419","Value":419},{"Id":"sensor-420","Value":420},{"Id":"sensor-421","Value":421},{"Id":"sensor-422","Value":422},{"Id":"sensor-423","Value":423},{"Id":"sensor-424","Value":424},{"Id":"sensor-425","Value":425},{"Id":"sensor-426","Value":426},{"Id":"sensor-427","Value":427},{"Id":"sensor-428","Value":428},{"Id":"sensor-429","Value":429},{"Id":"sensor-430","Value":430},{"Id":"sensor-431","Value":431},{"Id":"sensor-432","Value":432},{"Id":"sensor-433","Value":433},{"Id":"sensor-434","Value":434},{"Id":"sensor-435","Value":435},{"Id":"sensor-436","Value":436},{"Id":"sensor-437","Value":437},{"Id":"sensor-438","Value":438},{"Id":"sensor-439","Value":439},{"Id":"sensor-440","Value":440},{"Id":"sensor-441","Value":441},{"Id":"sensor-442","Value":442},{"Id":"sensor-443","Value":443},{"Id":"sensor-444","Value":444},{"Id":"sensor-445","Value":445},{"Id":"sensor-446","Value":446},{"Id":"sensor-447","Value":447},{"Id":"sensor-448","Value":448},{"Id":"sensor-449","Value":449},{"Id":"sensor-450","Value":450},{"Id":"sensor-451","Value":451},{"Id":"sensor-452","Value":452},{"Id":"sensor-453","Value":453},{"Id":"sensor-454","Value":454},{"Id":"sensor-455","Value":455},{"Id":"sensor-456","Value":456},{"Id":"sensor-457","Value":457},{"Id":"sensor-458","Value":458},{"Id":"sensor-459","Value":459},{"Id":"sensor-460","Value":460},{"Id":"sensor-461","Value":461},{"Id":"sensor-462","Value":462},{"Id":"sensor-463","Value":463},{"Id":"sensor-464","Value":464},{"Id":"sensor-465","Value":465},{"Id":"sensor-466","Value":466},{"Id":"sensor-467","Value":467},{"Id":"sensor-468","Value":468},{"Id":"sensor-469","Value":469},{"Id":"sensor-470","Value":470},{"Id":"sensor-471","Value":471},{"Id":"sensor-472","Value":472},{"Id":"sensor-473","Value":473},{"Id":"sensor-474","Value":474},{"Id":"sensor-475","Value":475},{"Id":"sensor-476","Value":476},{"Id":"sensor-477","Value":477},{"Id":"sensor-478","Value":478},{"Id":"sensor-479","Value":479},{"Id":"sensor-480","Value":480},{"Id":"sensor-481","Value":481},{"Id":"sensor-482","Value":482},{"Id":"sensor-483","Value":483},{"Id":"sensor-484","Value":484},{"Id":"sensor-485","Value":485},{"Id":"sensor-486","Value":486},{"Id":"sensor-487","Value":487},{"Id":"sensor-488","Value":488},{"Id":"sensor-489","Value":489},{"Id":"sensor-490","Value":490},{"Id":"sensor-491","Value":491},{"Id":"sensor-492","Value":492},{"Id":"sensor-493","Value":493},{"Id":"sensor-494","Value":494},{"Id":"sensor-495","Value":495},{"Id":"sensor-496","Value":496},{"Id":"sensor-497","Value":497},{"Id":"sensor-498","Value":498},{"Id":"sensor-499","Value":499},{"Id":"sensor-500","Value":500},{"Id":"sensor-501","Value":501},{"Id":"sensor-502","Value":502},{"Id":"sensor-503","Value":503},{"Id":"sensor-504","Value":504},{"Id":"sensor-505","Value":505},{"Id":"sensor-506","Value":506},{"Id":"sensor-507","Value":507},{"Id":"sensor-508","Value":508},{"Id":"sensor-509","Value":509},{"Id":"sensor-510","Value":510},{"Id":"sensor-511","Value":511},{"Id":"sensor-512","Value":512},{"Id":"sensor-513","Value":513},{"Id":"sensor-514","Value":514},{"Id":"sensor-515","Value":515},{"Id":"sensor-516","Value":516},{"Id":"sensor-517","Value":517},{"Id":"sensor-518","Value":518},{"Id":"sensor-519","Value":519},{"Id":"sensor-520","Value":520},{"Id":"sensor-521","Value":521},{"Id":"sensor-522","Value":522},{"Id":"sensor-523","Value":523},{"Id":"sensor-524","Value":524},{"Id":"sensor-525","Value":525},{"Id":"sensor-526","Value":526},{"Id":"sensor-527","Value":527},{"Id":"sensor-528","Value":528},{"Id":"sensor-529","Value":529},{"Id":"sensor-530","Value":530},{"Id":"sensor-531","Value":531},{"Id":"sensor-532","Value":532},{"Id":"sensor-533","Value":533},{"Id":"sensor-534","Value":534},{"Id":"sensor-535","Value":535},{"Id":"sensor-536","Value":536},{"Id":"sensor-537","Value":537},{"Id":"sensor-538","Value":538},{"Id":"sensor-539","Value":539},{"Id":"sensor-540","Value":540},{"Id":"sensor-541","Value":541},{"Id":"sensor-542","Value":542},{"Id":"sensor-543","Value":543},{"Id":"sensor-544","Value":544},{"Id":"sensor-545","Value":545},{"Id":"sensor-546","Value":546},{"Id":"sensor-547","Value":547},{"Id":"sensor-548","Value":548},{"Id":"sensor-549","Value":549},{"Id":"sensor-550","Value":550},{"Id":"sensor-551","Value":551},{"Id":"sensor-552","Value":552},{"Id":"sensor-553","Value":553},{"Id":"sensor-554","Value":554},{"Id":"sensor-555","Value":555},{"Id":"sensor-556","Value":556},{"Id":"sensor-557","Value":557},{"Id":"sensor-558","Value":558},{"Id":"sensor-559","Value":559},{"Id":"sensor-560","Value":560},{"Id":"sensor-561","Value":561},{"Id":"sensor-562","Value":562},{"Id":"sensor-563","Value":563},{"Id":"sensor-564","Value":564},{"Id":"sensor-565","Value":565},{"Id":"sensor-566","Value":566},{"Id":"sensor-567","Value":567},{"Id":"sensor-568","Value":568},{"Id":"sensor-569","Value":569},{"Id":"sensor-570","Value":570},{"Id":"sensor-571","Value":571},{"Id":"sensor-572","Value":572},{"Id":"sensor-573","Value":573},{"Id":"sensor-574","Value":574},{"Id":"sensor-575","Value":575},{"Id":"sensor-576","Value":576},{"Id":"sensor-577","Value":577},{"Id":"sensor-578","Value":578},{"Id":"sensor-579","Value":579},{"Id":"sensor-580","Value":580},{"Id":"sensor-581","Value":581},{"Id":"sensor-582","Value":582},{"Id":"sensor-583","Value":583},{"Id":"sensor-584","Value":584},{"Id":"sensor-585","Value":585},{"Id":"sensor-586","Value":586},{"Id":"sensor-587","Value":587},{"Id":"sensor-588","Value":588},{"Id":"sensor-589","Value":589},{"Id":"sensor-590","Value":590},{"Id":"sensor-591","Value":591},{"Id":"sensor-592","Value":592},{"Id":"sensor-593","Value":593},{"Id":"sensor-594","Value":594},{"Id":"sensor-595","Value":595},{"Id":"sensor-596","Value":596},{"Id":"sensor-597","Value":597},{"Id":"sensor-598","Value":598},{"Id":"sensor-599","Value":599},{"Id":"sensor-600","Value":600},{"Id":"sensor-601","Value":601},{"Id":"sensor-602","Value":602},{"Id":"sensor-603","Value":603},{"Id":"sensor-604","Value":604},{"Id":"sensor-605","Value":605},{"Id":"sensor-606","Value":606},{"Id":"sensor-607","Value":607},{"Id":"sensor-608","Value":608},{"Id":"sensor-609","Value":609},{"Id":"sensor-610","Value":610},{"Id":"sensor-611","Value":611},{"Id":"sensor-612","Value":612},{"Id":"sensor-613","Value":613},{"Id":"sensor-614","Value":614},{"Id":"sensor-615","Value":615},{"Id":"sensor-616","Value":616},{"Id":"sensor-617","Value":617},{"Id":"sensor-618","Value":618},{"Id":"sensor-619","Value":619},{"Id":"sensor-620","Value":620},{"Id":"sensor-621","Value":621},{"Id":"sensor-622","Value":622},{"Id":"sensor-623","Value":623},{"Id":"sensor-624","Value":624},{"Id":"sensor-625","Value":625},{"Id":"sensor-626","Value":626},{"Id":"sensor-627","Value":627},{"Id":"sensor-628","Value":628},{"Id":"sensor-629","Value":629},{"Id":"sensor-630","Value":630},{"Id":"sensor-631","Value":631},{"Id":"sensor-632","Value":632},{"Id":"sensor-633","Value":633},{"Id":"sensor-634","Value":634},{"Id":"sensor-635","Value":635},{"Id":"sensor-636","Value":636},{"Id":"sensor-637","Value":637},{"Id":"sensor-638","Value":638},{"Id":"sensor-639","Value":639},{"Id":"sensor-640","Value":640},{"Id":"sensor-641","Value":641},{"Id":"sensor-642","Value":642},{"Id":"sensor-643","Value":643},{"Id":"sensor-644","Value":644},{"Id":"sensor-645","Value":645},{"Id":"sensor-646","Value":646},{"Id":"sensor-647","Value":647},{"Id":"sensor-648","Value":648},{"Id":"sensor-649","Value":649},{"Id":"sensor-650","Value":650},{"Id":"sensor-651","Value":651},{"Id":"sensor-652","Value":652},{"Id":"sensor-653","Value":653},{"Id":"sensor-654","Value":654},{"Id":"sensor-655","Value":655},{"Id":"sensor-656","Value":656},{"Id":"sensor-657","Value":657},{"Id":"sensor-658","Value":658},{"Id":"sensor-659","Value":659},{"Id":"sensor-660","Value":660},{"Id":"sensor-661","Value":661},{"Id":"sensor-662","Value":662},{"Id":"sensor-663","Value":663},{"Id":"sensor-664","Value":664},{"Id":"sensor-665","Value":665},{"Id":"sensor-666","Value":666},{"Id":"sensor-667","Value":667},{"Id":"sensor-668","Value":668},{"Id":"sensor-669","Value":669},{"Id":"sensor-670","Value":670},{"Id":"sensor-671","Value":671},{"Id":"sensor-672","Value":672},{"Id":"sensor-673","Value":673},{"Id":"sensor-674","Value":674},{"Id":"sensor-675","Value":675},{"Id":"sensor-676","Value":676},{"Id":"sensor-677","Value":677},{"Id":"sensor-678","Value":678},{"Id":"sensor-679","Value":679},{"Id":"sensor-680","Value":680},{"Id":"sensor-681","Value":681},{"Id":"sensor-682","Value":682},{"Id":"sensor-683","Value":683},{"Id":"sensor-684","Value":684},{"Id":"sensor-685","Value":685},{"Id":"sensor-686","Value":686},{"Id":"sensor-687","Value":687},{"Id":"sensor-688","Value":688},{"Id":"sensor-689","Value":689},{"Id":"sensor-690","Value":690},{"Id":"sensor-691","Value":691},{"Id":"sensor-692","Value":692},{"Id":"sensor-693","Value":693},{"Id":"sensor-694","Value":694},{"Id":"sensor-695","Value":695},{"Id":"sensor-696","Value":696},{"Id":"sensor-697","Value":697},{"Id":"sensor-698","Value":698},{"Id":"sensor-699","Value":699},{"Id":"sensor-700","Value":700},{"Id":"sensor-701","Value":701},{"Id":"sensor-702","Value":702},{"Id":"sensor-703","Value":703},{"Id":"sensor-704","Value":704},{"Id":"sensor-705","Value":705},{"Id":"sensor-706","Value":706},{"Id":"sensor-707","Value":707},{"Id":"sensor-708","Value":708},{"Id":"sensor-709","Value":709},{"Id":"sensor-710","Value":710},{"Id":"sensor-711","Value":711},{"Id":"sensor-712","Value":712},{"Id":"sensor-713","Value":713},{"Id":"sensor-714","Value":714},{"Id":"sensor-715","Value":715},{"Id":"sensor-716","Value":716},{"Id":"sensor-717","Value":717},{"Id":"sensor-718","Value":718},{"Id":"sensor-719","Value":719},{"Id":"sensor-720","Value":720},{"Id":"sensor-721","Value":721},{"Id":"sensor-722","Value":722},{"Id":"sensor-723","Value":723},{"Id":"sensor-724","Value":724},{"Id":"sensor-725","Value":725},{"Id":"sensor-726","Value":726},{"Id":"sensor-727","Value":727},{"Id":"sensor-728","Value":728},{"Id":"sensor-729","Value":729},{"Id":"sensor-730","Value":730},{"Id":"sensor-731","Value":731},{"Id":"sensor-732","Value":732},{"Id":"sensor-733","Value":733},{"Id":"sensor-734","Value":734},{"Id":"sensor-735","Value":735},{"Id":"sensor-736","Value":736},{"Id":"sensor-737","Value":737},{"Id":"sensor-738","Value":738},{"Id":"sensor-739","Value":739},{"Id":"sensor-740","Value":740},{"Id":"sensor-741","Value":741},{"Id":"sensor-742","Value":742},{"Id":"sensor-743","Value":743},{"Id":"sensor-744","Value":744},{"Id":"sensor-745","Value":745},{"Id":"sensor-746","Value":746},{"Id":"sensor-747","Value":747},{"Id":"sensor-748","Value":748},{"Id":"sensor-749","Value":749},{"Id":"sensor-750","Value":750},{"Id":"sensor-751","Value":751},{"Id":"sensor-752","Value":752},{"Id":"sensor-753","Value":753},{"Id":"sensor-754","Value":754},{"Id":"sensor-755","Value":755},{"Id":"sensor-756","Value":756},{"Id":"sensor-757","Value":757},{"Id":"sensor-758","Value":758},{"Id":"sensor-759","Value":759},{"Id":"sensor-760","Value":760},{"Id":"sensor-761","Value":761},{"Id":"sensor-762","Value":762},{"Id":"sensor-763","Value":763},{"Id":"sensor-764","Value":764},{"Id":"sensor-765","Value":765},{"Id":"sensor-766","Value":766},{"Id":"sensor-767","Value":767},{"Id":"sensor-768","Value":768},{"Id":"sensor-769","Value":769},{"Id":"sensor-770","Value":770},{"Id":"sensor-771","Value":771},{"Id":"sensor-772","Value":772},{"Id":"sensor-773","Value":773},{"Id":"sensor-774","Value":774},{"Id":"sensor-775","Value":775},{"Id":"sensor-776","Value":776},{"Id":"sensor-777","Value":777},{"Id":"sensor-778","Value":778},{"Id":"sensor-779","Value":779},{"Id":"sensor-780","Value":780},{"Id":"sensor-781","Value":781},{"Id":"sensor-782","Value":782},{"Id":"sensor-783","Value":783},{"Id":"sensor-784","Value":784},{"Id":"sensor-785","Value":785},{"Id":"sensor-786","Value":786},{"Id":"sensor-787","Value":787},{"Id":"sensor-788","Value":788},{"Id":"sensor-789","Value":789},{"Id":"sensor-790","Value":790},{"Id":"sensor-791","Value":791},{"Id":"sensor-792","Value":792},{"Id":"sensor-793","Value":793},{"Id":"sensor-794","Value":794},{"Id":"sensor-795","Value":795},{"Id":"sensor-796","Value":796},{"Id":"sensor-797","Value":797},{"Id":"sensor-798","Value":798},{"Id":"sensor-799","Value":799},{"Id":"sensor-800","Value":800},{"Id":"sensor-801","Value":801},{"Id":"sensor-802","Value":802},{"Id":"sensor-803","Value":803},{"Id":"sensor-804","Value":804},{"Id":"sensor-805","Value":805},{"Id":"sensor-806","Value":806},{"Id":"sensor-807","Value":807},{"Id":"sensor-808","Value":808},{"Id":"sensor-809","Value":809},{"Id":"sensor-810","Value":810},{"Id":"sensor-811","Value":811},{"Id":"sensor-812","Value":812},{"Id":"sensor-813","Value":813},{"Id":"sensor-814","Value":814},{"Id":"sensor-815","Value":815},{"Id":"sensor-816","Value":816},{"Id":"sensor-817","Value":817},{"Id":"sensor-818","Value":818},{"Id":"sensor-819","Value":819},{"Id":"sensor-820","Value":820},{"Id":"sensor-821","Value":821},{"Id":"sensor-822","Value":822},{"Id":"sensor-823","Value":823},{"Id":"sensor-824","Value":824},{"Id":"sensor-825","Value":825},{"Id":"sensor-826","Value":826},{"Id":"sensor-827","Value":827},{"Id":"sensor-828","Value":828},{"Id":"sensor-829","Value":829},{"Id":"sensor-830","Value":830},{"Id":"sensor-831","Value":831},{"Id":"sensor-832","Value":832},{"Id":"sensor-833","Value":833},{"Id":"sensor-834","Value":834},{"Id":"sensor-835","Value":835},{"Id":"sensor-836","Value":836},{"Id":"sensor-837","Value":837},{"Id":"sensor-838","Value":838},{"Id":"sensor-839","Value":839},{"Id":"sensor-840","Value":840},{"Id":"sensor-841","Value":841},{"Id":"sensor-842","Value":842},{"Id":"sensor-843","Value":843},{"Id":"sensor-844","Value":844},{"Id":"sensor-845","Value":845},{"Id":"sensor-846","Value":846},{"Id":"sensor-847","Value":847},{"Id":"sensor-848","Value":848},{"Id":"sensor-849","Value":849},{"Id":"sensor-850","Value":850},{"Id":"sensor-851","Value":851},{"Id":"sensor-852","Value":852},{"Id":"sensor-853","Value":853},{"Id":"sensor-854","Value":854},{"Id":"sensor-855","Value":855},{"Id":"sensor-856","Value":856},{"Id":"sensor-857","Value":857},{"Id":"sensor-858","Value":858},{"Id":"sensor-859","Value":859},{"Id":"sensor-860","Value":860},{"Id":"sensor-861","Value":861},{"Id":"sensor-862","Value":862},{"Id":"sensor-863","Value":863},{"Id":"sensor-864","Value":864},{"Id":"sensor-865","Value":865},{"Id":"sensor-866","Value":866},{"Id":"sensor-867","Value":867},{"Id":"sensor-868","Value":868},{"Id":"sensor-869","Value":869},{"Id":"sensor-870","Value":870},{"Id":"sensor-871","Value":871},{"Id":"sensor-872","Value":872},{"Id":"sensor-873","Value":873},{"Id":"sensor-874","Value":874},{"Id":"sensor-875","Value":875},{"Id":"sensor-876","Value":876},{"Id":"sensor-877","Value":877},{"Id":"sensor-878","Value":878},{"Id":"sensor-879","Value":879},{"Id":"sensor-880","Value":880},{"Id":"sensor-881","Value":881},{"Id":"sensor-882","Value":882},{"Id":"sensor-883","Value":883},{"Id":"sensor-884","Value":884},{"Id":"sensor-885","Value":885},{"Id":"sensor-886","Value":886},{"Id":"sensor-887","Value":887},{"Id":"sensor-888","Value":888},{"Id":"sensor-889","Value":889},{"Id":"sensor-890","Value":890},{"Id":"sensor-891","Value":891},{"Id":"sensor-892","Value":892},{"Id":"sensor-893","Value":893},{"Id":"sensor-894","Value":894},{"Id":"sensor-895","Value":895},{"Id":"sensor-896","Value":896},{"Id":"sensor-897","Value":897},{"Id":"sensor-898","Value":898},{"Id":"sensor-899","Value":899},{"Id":"sensor-900","Value":900},{"Id":"sensor-901","Value":901},{"Id":"sensor-902","Value":902},{"Id":"sensor-903","Value":903},{"Id":"sensor-904","Value":904},{"Id":"sensor-905","Value":905},{"Id":"sensor-906","Value":906},{"Id":"sensor-907","Value":907},{"Id":"sensor-908","Value":908},{"Id":"sensor-909","Value":909},{"Id":"sensor-910","Value":910},{"Id":"sensor-911","Value":911},{"Id":"sensor-912","Value":912},{"Id":"sensor-913","Value":913},{"Id":"sensor-914","Value":914},{"Id":"sensor-915","Value":915},{"Id":"sensor-916","Value":916},{"Id":"sensor-917","Value":917},{"Id":"sensor-918","Value":918},{"Id":"sensor-919","Value":919},{"Id":"sensor-920","Value":920},{"Id":"sensor-921","Value":921},{"Id":"sensor-922","Value":922},{"Id":"sensor-923","Value":923},{"Id":"sensor-924","Value":924},{"Id":"sensor-925","Value":925},{"Id":"sensor-926","Value":926},{"Id":"sensor-927","Value":927},{"Id":"sensor-928","Value":928},{"Id":"sensor-929","Value":929},{"Id":"sensor-930","Value":930},{"Id":"sensor-931","Value":931},{"Id":"sensor-932","Value":932},{"Id":"sensor-933","Value":933},{"Id":"sensor-934","Value":934},{"Id":"sensor-935","Value":935},{"Id":"sensor-936","Value":936},{"Id":"sensor-937","Value":937},{"Id":"sensor-938","Value":938},{"Id":"sensor-939","Value":939},{"Id":"sensor-940","Value":940},{"Id":"sensor-941","Value":941},{"Id":"sensor-942","Value":942},{"Id":"sensor-943","Value":943},{"Id":"sensor-944","Value":944},{"Id":"sensor-945","Value":945},{"Id":"sensor-946","Value":946},{"Id":"sensor-947","Value":947},{"Id":"sensor-948","Value":948},{"Id":"sensor-949","Value":949},{"Id":"sensor-950","Value":950},{"Id":"sensor-951","Value":951},{"Id":"sensor-952","Value":952},{"Id":"sensor-953","Value":953},{"Id":"sensor-954","Value":954},{"Id":"sensor-955","Value":955},{"Id":"sensor-956","Value":956},{"Id":"sensor-957","Value":957},{"Id":"sensor-958","Value":958},{"Id":"sensor-959","Value":959},{"Id":"sensor-960","Value":960},{"Id":"sensor-961","Value":961},{"Id":"sensor-962","Value":962},{"Id":"sensor-963","Value":963},{"Id":"sensor-964","Value":964},{"Id":"sensor-965","Value":965},{"Id":"sensor-966","Value":966},{"Id":"sensor-967","Value":967},{"Id":"sensor-968","Value":968},{"Id":"sensor-969","Value":969},{"Id":"sensor-970","Value":970},{"Id":"sensor-971","Value":971},{"Id":"sensor-972","Value":972},{"Id":"sensor-973","Value":973},{"Id":"sensor-974","Value":974},{"Id":"sensor-975","Value":975},{"Id":"sensor-976","Value":976},{"Id":"sensor-977","Value":977},{"Id":"sensor-978","Value":978},{"Id":"sensor-979","Value":979},{"Id":"sensor-980","Value":980},{"Id":"sensor-981","Value":981},{"Id":"sensor-982","Value":982},{"Id":"sensor-983","Value":983},{"Id":"sensor-984","Value":984},{"Id":"sensor-985","Value":985},{"Id":"sensor-986","Value":986},{"Id":"sensor-987","Value":987},{"Id":"sensor-988","Value":988},{"Id":"sensor-989","Value":989},{"Id":"sensor-990","Value":990},{"Id":"sensor-991","Value":991},{"Id":"sensor-992","Value":992},{"Id":"sensor-993","Value":993},{"Id":"sensor-994","Value":994},{"Id":"sensor-995","Value":995},{"Id":"sensor-996","Value":996},{"Id":"sensor-997","Value":997},{"Id":"sensor-998","Value":998},{"Id":"sensor-999","Value":999}]} \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-polyxml_dataclass-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-pydantic_xml-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-pydantic_xml-escaped_1000.xml new file mode 100644 index 00000000..acf0192a --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-pydantic_xml-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-pydantic_xml-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-pydantic_xml-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-pydantic_xml-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-pydantic_xml-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-pydantic_xml-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-pydantic_xml-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_elementtree_typed_adapter-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_elementtree_typed_adapter-escaped_1000.xml new file mode 100644 index 00000000..acf0192a --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_elementtree_typed_adapter-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_elementtree_typed_adapter-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_elementtree_typed_adapter-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_elementtree_typed_adapter-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_elementtree_typed_adapter-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_elementtree_typed_adapter-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_elementtree_typed_adapter-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_json_typed_adapter-escaped_1000.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_json_typed_adapter-escaped_1000.json new file mode 100644 index 00000000..8b227642 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_json_typed_adapter-escaped_1000.json @@ -0,0 +1 @@ +{"Sensor":[{"Id":"sensor-0 & <é> \"quoted\"","Value":0},{"Id":"sensor-1 & <é> \"quoted\"","Value":1},{"Id":"sensor-2 & <é> \"quoted\"","Value":2},{"Id":"sensor-3 & <é> \"quoted\"","Value":3},{"Id":"sensor-4 & <é> \"quoted\"","Value":4},{"Id":"sensor-5 & <é> \"quoted\"","Value":5},{"Id":"sensor-6 & <é> \"quoted\"","Value":6},{"Id":"sensor-7 & <é> \"quoted\"","Value":7},{"Id":"sensor-8 & <é> \"quoted\"","Value":8},{"Id":"sensor-9 & <é> \"quoted\"","Value":9},{"Id":"sensor-10 & <é> \"quoted\"","Value":10},{"Id":"sensor-11 & <é> \"quoted\"","Value":11},{"Id":"sensor-12 & <é> \"quoted\"","Value":12},{"Id":"sensor-13 & <é> \"quoted\"","Value":13},{"Id":"sensor-14 & <é> \"quoted\"","Value":14},{"Id":"sensor-15 & <é> \"quoted\"","Value":15},{"Id":"sensor-16 & <é> \"quoted\"","Value":16},{"Id":"sensor-17 & <é> \"quoted\"","Value":17},{"Id":"sensor-18 & <é> \"quoted\"","Value":18},{"Id":"sensor-19 & <é> \"quoted\"","Value":19},{"Id":"sensor-20 & <é> \"quoted\"","Value":20},{"Id":"sensor-21 & <é> \"quoted\"","Value":21},{"Id":"sensor-22 & <é> \"quoted\"","Value":22},{"Id":"sensor-23 & <é> \"quoted\"","Value":23},{"Id":"sensor-24 & <é> \"quoted\"","Value":24},{"Id":"sensor-25 & <é> \"quoted\"","Value":25},{"Id":"sensor-26 & <é> \"quoted\"","Value":26},{"Id":"sensor-27 & <é> \"quoted\"","Value":27},{"Id":"sensor-28 & <é> \"quoted\"","Value":28},{"Id":"sensor-29 & <é> \"quoted\"","Value":29},{"Id":"sensor-30 & <é> \"quoted\"","Value":30},{"Id":"sensor-31 & <é> \"quoted\"","Value":31},{"Id":"sensor-32 & <é> \"quoted\"","Value":32},{"Id":"sensor-33 & <é> \"quoted\"","Value":33},{"Id":"sensor-34 & <é> \"quoted\"","Value":34},{"Id":"sensor-35 & <é> \"quoted\"","Value":35},{"Id":"sensor-36 & <é> \"quoted\"","Value":36},{"Id":"sensor-37 & <é> \"quoted\"","Value":37},{"Id":"sensor-38 & <é> \"quoted\"","Value":38},{"Id":"sensor-39 & <é> \"quoted\"","Value":39},{"Id":"sensor-40 & <é> \"quoted\"","Value":40},{"Id":"sensor-41 & <é> \"quoted\"","Value":41},{"Id":"sensor-42 & <é> \"quoted\"","Value":42},{"Id":"sensor-43 & <é> \"quoted\"","Value":43},{"Id":"sensor-44 & <é> \"quoted\"","Value":44},{"Id":"sensor-45 & <é> \"quoted\"","Value":45},{"Id":"sensor-46 & <é> \"quoted\"","Value":46},{"Id":"sensor-47 & <é> \"quoted\"","Value":47},{"Id":"sensor-48 & <é> \"quoted\"","Value":48},{"Id":"sensor-49 & <é> \"quoted\"","Value":49},{"Id":"sensor-50 & <é> \"quoted\"","Value":50},{"Id":"sensor-51 & <é> \"quoted\"","Value":51},{"Id":"sensor-52 & <é> \"quoted\"","Value":52},{"Id":"sensor-53 & <é> \"quoted\"","Value":53},{"Id":"sensor-54 & <é> \"quoted\"","Value":54},{"Id":"sensor-55 & <é> \"quoted\"","Value":55},{"Id":"sensor-56 & <é> \"quoted\"","Value":56},{"Id":"sensor-57 & <é> \"quoted\"","Value":57},{"Id":"sensor-58 & <é> \"quoted\"","Value":58},{"Id":"sensor-59 & <é> \"quoted\"","Value":59},{"Id":"sensor-60 & <é> \"quoted\"","Value":60},{"Id":"sensor-61 & <é> \"quoted\"","Value":61},{"Id":"sensor-62 & <é> \"quoted\"","Value":62},{"Id":"sensor-63 & <é> \"quoted\"","Value":63},{"Id":"sensor-64 & <é> \"quoted\"","Value":64},{"Id":"sensor-65 & <é> \"quoted\"","Value":65},{"Id":"sensor-66 & <é> \"quoted\"","Value":66},{"Id":"sensor-67 & <é> \"quoted\"","Value":67},{"Id":"sensor-68 & <é> \"quoted\"","Value":68},{"Id":"sensor-69 & <é> \"quoted\"","Value":69},{"Id":"sensor-70 & <é> \"quoted\"","Value":70},{"Id":"sensor-71 & <é> \"quoted\"","Value":71},{"Id":"sensor-72 & <é> \"quoted\"","Value":72},{"Id":"sensor-73 & <é> \"quoted\"","Value":73},{"Id":"sensor-74 & <é> \"quoted\"","Value":74},{"Id":"sensor-75 & <é> \"quoted\"","Value":75},{"Id":"sensor-76 & <é> \"quoted\"","Value":76},{"Id":"sensor-77 & <é> \"quoted\"","Value":77},{"Id":"sensor-78 & <é> \"quoted\"","Value":78},{"Id":"sensor-79 & <é> \"quoted\"","Value":79},{"Id":"sensor-80 & <é> \"quoted\"","Value":80},{"Id":"sensor-81 & <é> \"quoted\"","Value":81},{"Id":"sensor-82 & <é> \"quoted\"","Value":82},{"Id":"sensor-83 & <é> \"quoted\"","Value":83},{"Id":"sensor-84 & <é> \"quoted\"","Value":84},{"Id":"sensor-85 & <é> \"quoted\"","Value":85},{"Id":"sensor-86 & <é> \"quoted\"","Value":86},{"Id":"sensor-87 & <é> \"quoted\"","Value":87},{"Id":"sensor-88 & <é> \"quoted\"","Value":88},{"Id":"sensor-89 & <é> \"quoted\"","Value":89},{"Id":"sensor-90 & <é> \"quoted\"","Value":90},{"Id":"sensor-91 & <é> \"quoted\"","Value":91},{"Id":"sensor-92 & <é> \"quoted\"","Value":92},{"Id":"sensor-93 & <é> \"quoted\"","Value":93},{"Id":"sensor-94 & <é> \"quoted\"","Value":94},{"Id":"sensor-95 & <é> \"quoted\"","Value":95},{"Id":"sensor-96 & <é> \"quoted\"","Value":96},{"Id":"sensor-97 & <é> \"quoted\"","Value":97},{"Id":"sensor-98 & <é> \"quoted\"","Value":98},{"Id":"sensor-99 & <é> \"quoted\"","Value":99},{"Id":"sensor-100 & <é> \"quoted\"","Value":100},{"Id":"sensor-101 & <é> \"quoted\"","Value":101},{"Id":"sensor-102 & <é> \"quoted\"","Value":102},{"Id":"sensor-103 & <é> \"quoted\"","Value":103},{"Id":"sensor-104 & <é> \"quoted\"","Value":104},{"Id":"sensor-105 & <é> \"quoted\"","Value":105},{"Id":"sensor-106 & <é> \"quoted\"","Value":106},{"Id":"sensor-107 & <é> \"quoted\"","Value":107},{"Id":"sensor-108 & <é> \"quoted\"","Value":108},{"Id":"sensor-109 & <é> \"quoted\"","Value":109},{"Id":"sensor-110 & <é> \"quoted\"","Value":110},{"Id":"sensor-111 & <é> \"quoted\"","Value":111},{"Id":"sensor-112 & <é> \"quoted\"","Value":112},{"Id":"sensor-113 & <é> \"quoted\"","Value":113},{"Id":"sensor-114 & <é> \"quoted\"","Value":114},{"Id":"sensor-115 & <é> \"quoted\"","Value":115},{"Id":"sensor-116 & <é> \"quoted\"","Value":116},{"Id":"sensor-117 & <é> \"quoted\"","Value":117},{"Id":"sensor-118 & <é> \"quoted\"","Value":118},{"Id":"sensor-119 & <é> \"quoted\"","Value":119},{"Id":"sensor-120 & <é> \"quoted\"","Value":120},{"Id":"sensor-121 & <é> \"quoted\"","Value":121},{"Id":"sensor-122 & <é> \"quoted\"","Value":122},{"Id":"sensor-123 & <é> \"quoted\"","Value":123},{"Id":"sensor-124 & <é> \"quoted\"","Value":124},{"Id":"sensor-125 & <é> \"quoted\"","Value":125},{"Id":"sensor-126 & <é> \"quoted\"","Value":126},{"Id":"sensor-127 & <é> \"quoted\"","Value":127},{"Id":"sensor-128 & <é> \"quoted\"","Value":128},{"Id":"sensor-129 & <é> \"quoted\"","Value":129},{"Id":"sensor-130 & <é> \"quoted\"","Value":130},{"Id":"sensor-131 & <é> \"quoted\"","Value":131},{"Id":"sensor-132 & <é> \"quoted\"","Value":132},{"Id":"sensor-133 & <é> \"quoted\"","Value":133},{"Id":"sensor-134 & <é> \"quoted\"","Value":134},{"Id":"sensor-135 & <é> \"quoted\"","Value":135},{"Id":"sensor-136 & <é> \"quoted\"","Value":136},{"Id":"sensor-137 & <é> \"quoted\"","Value":137},{"Id":"sensor-138 & <é> \"quoted\"","Value":138},{"Id":"sensor-139 & <é> \"quoted\"","Value":139},{"Id":"sensor-140 & <é> \"quoted\"","Value":140},{"Id":"sensor-141 & <é> \"quoted\"","Value":141},{"Id":"sensor-142 & <é> \"quoted\"","Value":142},{"Id":"sensor-143 & <é> \"quoted\"","Value":143},{"Id":"sensor-144 & <é> \"quoted\"","Value":144},{"Id":"sensor-145 & <é> \"quoted\"","Value":145},{"Id":"sensor-146 & <é> \"quoted\"","Value":146},{"Id":"sensor-147 & <é> \"quoted\"","Value":147},{"Id":"sensor-148 & <é> \"quoted\"","Value":148},{"Id":"sensor-149 & <é> \"quoted\"","Value":149},{"Id":"sensor-150 & <é> \"quoted\"","Value":150},{"Id":"sensor-151 & <é> \"quoted\"","Value":151},{"Id":"sensor-152 & <é> \"quoted\"","Value":152},{"Id":"sensor-153 & <é> \"quoted\"","Value":153},{"Id":"sensor-154 & <é> \"quoted\"","Value":154},{"Id":"sensor-155 & <é> \"quoted\"","Value":155},{"Id":"sensor-156 & <é> \"quoted\"","Value":156},{"Id":"sensor-157 & <é> \"quoted\"","Value":157},{"Id":"sensor-158 & <é> \"quoted\"","Value":158},{"Id":"sensor-159 & <é> \"quoted\"","Value":159},{"Id":"sensor-160 & <é> \"quoted\"","Value":160},{"Id":"sensor-161 & <é> \"quoted\"","Value":161},{"Id":"sensor-162 & <é> \"quoted\"","Value":162},{"Id":"sensor-163 & <é> \"quoted\"","Value":163},{"Id":"sensor-164 & <é> \"quoted\"","Value":164},{"Id":"sensor-165 & <é> \"quoted\"","Value":165},{"Id":"sensor-166 & <é> \"quoted\"","Value":166},{"Id":"sensor-167 & <é> \"quoted\"","Value":167},{"Id":"sensor-168 & <é> \"quoted\"","Value":168},{"Id":"sensor-169 & <é> \"quoted\"","Value":169},{"Id":"sensor-170 & <é> \"quoted\"","Value":170},{"Id":"sensor-171 & <é> \"quoted\"","Value":171},{"Id":"sensor-172 & <é> \"quoted\"","Value":172},{"Id":"sensor-173 & <é> \"quoted\"","Value":173},{"Id":"sensor-174 & <é> \"quoted\"","Value":174},{"Id":"sensor-175 & <é> \"quoted\"","Value":175},{"Id":"sensor-176 & <é> \"quoted\"","Value":176},{"Id":"sensor-177 & <é> \"quoted\"","Value":177},{"Id":"sensor-178 & <é> \"quoted\"","Value":178},{"Id":"sensor-179 & <é> \"quoted\"","Value":179},{"Id":"sensor-180 & <é> \"quoted\"","Value":180},{"Id":"sensor-181 & <é> \"quoted\"","Value":181},{"Id":"sensor-182 & <é> \"quoted\"","Value":182},{"Id":"sensor-183 & <é> \"quoted\"","Value":183},{"Id":"sensor-184 & <é> \"quoted\"","Value":184},{"Id":"sensor-185 & <é> \"quoted\"","Value":185},{"Id":"sensor-186 & <é> \"quoted\"","Value":186},{"Id":"sensor-187 & <é> \"quoted\"","Value":187},{"Id":"sensor-188 & <é> \"quoted\"","Value":188},{"Id":"sensor-189 & <é> \"quoted\"","Value":189},{"Id":"sensor-190 & <é> \"quoted\"","Value":190},{"Id":"sensor-191 & <é> \"quoted\"","Value":191},{"Id":"sensor-192 & <é> \"quoted\"","Value":192},{"Id":"sensor-193 & <é> \"quoted\"","Value":193},{"Id":"sensor-194 & <é> \"quoted\"","Value":194},{"Id":"sensor-195 & <é> \"quoted\"","Value":195},{"Id":"sensor-196 & <é> \"quoted\"","Value":196},{"Id":"sensor-197 & <é> \"quoted\"","Value":197},{"Id":"sensor-198 & <é> \"quoted\"","Value":198},{"Id":"sensor-199 & <é> \"quoted\"","Value":199},{"Id":"sensor-200 & <é> \"quoted\"","Value":200},{"Id":"sensor-201 & <é> \"quoted\"","Value":201},{"Id":"sensor-202 & <é> \"quoted\"","Value":202},{"Id":"sensor-203 & <é> \"quoted\"","Value":203},{"Id":"sensor-204 & <é> \"quoted\"","Value":204},{"Id":"sensor-205 & <é> \"quoted\"","Value":205},{"Id":"sensor-206 & <é> \"quoted\"","Value":206},{"Id":"sensor-207 & <é> \"quoted\"","Value":207},{"Id":"sensor-208 & <é> \"quoted\"","Value":208},{"Id":"sensor-209 & <é> \"quoted\"","Value":209},{"Id":"sensor-210 & <é> \"quoted\"","Value":210},{"Id":"sensor-211 & <é> \"quoted\"","Value":211},{"Id":"sensor-212 & <é> \"quoted\"","Value":212},{"Id":"sensor-213 & <é> \"quoted\"","Value":213},{"Id":"sensor-214 & <é> \"quoted\"","Value":214},{"Id":"sensor-215 & <é> \"quoted\"","Value":215},{"Id":"sensor-216 & <é> \"quoted\"","Value":216},{"Id":"sensor-217 & <é> \"quoted\"","Value":217},{"Id":"sensor-218 & <é> \"quoted\"","Value":218},{"Id":"sensor-219 & <é> \"quoted\"","Value":219},{"Id":"sensor-220 & <é> \"quoted\"","Value":220},{"Id":"sensor-221 & <é> \"quoted\"","Value":221},{"Id":"sensor-222 & <é> \"quoted\"","Value":222},{"Id":"sensor-223 & <é> \"quoted\"","Value":223},{"Id":"sensor-224 & <é> \"quoted\"","Value":224},{"Id":"sensor-225 & <é> \"quoted\"","Value":225},{"Id":"sensor-226 & <é> \"quoted\"","Value":226},{"Id":"sensor-227 & <é> \"quoted\"","Value":227},{"Id":"sensor-228 & <é> \"quoted\"","Value":228},{"Id":"sensor-229 & <é> \"quoted\"","Value":229},{"Id":"sensor-230 & <é> \"quoted\"","Value":230},{"Id":"sensor-231 & <é> \"quoted\"","Value":231},{"Id":"sensor-232 & <é> \"quoted\"","Value":232},{"Id":"sensor-233 & <é> \"quoted\"","Value":233},{"Id":"sensor-234 & <é> \"quoted\"","Value":234},{"Id":"sensor-235 & <é> \"quoted\"","Value":235},{"Id":"sensor-236 & <é> \"quoted\"","Value":236},{"Id":"sensor-237 & <é> \"quoted\"","Value":237},{"Id":"sensor-238 & <é> \"quoted\"","Value":238},{"Id":"sensor-239 & <é> \"quoted\"","Value":239},{"Id":"sensor-240 & <é> \"quoted\"","Value":240},{"Id":"sensor-241 & <é> \"quoted\"","Value":241},{"Id":"sensor-242 & <é> \"quoted\"","Value":242},{"Id":"sensor-243 & <é> \"quoted\"","Value":243},{"Id":"sensor-244 & <é> \"quoted\"","Value":244},{"Id":"sensor-245 & <é> \"quoted\"","Value":245},{"Id":"sensor-246 & <é> \"quoted\"","Value":246},{"Id":"sensor-247 & <é> \"quoted\"","Value":247},{"Id":"sensor-248 & <é> \"quoted\"","Value":248},{"Id":"sensor-249 & <é> \"quoted\"","Value":249},{"Id":"sensor-250 & <é> \"quoted\"","Value":250},{"Id":"sensor-251 & <é> \"quoted\"","Value":251},{"Id":"sensor-252 & <é> \"quoted\"","Value":252},{"Id":"sensor-253 & <é> \"quoted\"","Value":253},{"Id":"sensor-254 & <é> \"quoted\"","Value":254},{"Id":"sensor-255 & <é> \"quoted\"","Value":255},{"Id":"sensor-256 & <é> \"quoted\"","Value":256},{"Id":"sensor-257 & <é> \"quoted\"","Value":257},{"Id":"sensor-258 & <é> \"quoted\"","Value":258},{"Id":"sensor-259 & <é> \"quoted\"","Value":259},{"Id":"sensor-260 & <é> \"quoted\"","Value":260},{"Id":"sensor-261 & <é> \"quoted\"","Value":261},{"Id":"sensor-262 & <é> \"quoted\"","Value":262},{"Id":"sensor-263 & <é> \"quoted\"","Value":263},{"Id":"sensor-264 & <é> \"quoted\"","Value":264},{"Id":"sensor-265 & <é> \"quoted\"","Value":265},{"Id":"sensor-266 & <é> \"quoted\"","Value":266},{"Id":"sensor-267 & <é> \"quoted\"","Value":267},{"Id":"sensor-268 & <é> \"quoted\"","Value":268},{"Id":"sensor-269 & <é> \"quoted\"","Value":269},{"Id":"sensor-270 & <é> \"quoted\"","Value":270},{"Id":"sensor-271 & <é> \"quoted\"","Value":271},{"Id":"sensor-272 & <é> \"quoted\"","Value":272},{"Id":"sensor-273 & <é> \"quoted\"","Value":273},{"Id":"sensor-274 & <é> \"quoted\"","Value":274},{"Id":"sensor-275 & <é> \"quoted\"","Value":275},{"Id":"sensor-276 & <é> \"quoted\"","Value":276},{"Id":"sensor-277 & <é> \"quoted\"","Value":277},{"Id":"sensor-278 & <é> \"quoted\"","Value":278},{"Id":"sensor-279 & <é> \"quoted\"","Value":279},{"Id":"sensor-280 & <é> \"quoted\"","Value":280},{"Id":"sensor-281 & <é> \"quoted\"","Value":281},{"Id":"sensor-282 & <é> \"quoted\"","Value":282},{"Id":"sensor-283 & <é> \"quoted\"","Value":283},{"Id":"sensor-284 & <é> \"quoted\"","Value":284},{"Id":"sensor-285 & <é> \"quoted\"","Value":285},{"Id":"sensor-286 & <é> \"quoted\"","Value":286},{"Id":"sensor-287 & <é> \"quoted\"","Value":287},{"Id":"sensor-288 & <é> \"quoted\"","Value":288},{"Id":"sensor-289 & <é> \"quoted\"","Value":289},{"Id":"sensor-290 & <é> \"quoted\"","Value":290},{"Id":"sensor-291 & <é> \"quoted\"","Value":291},{"Id":"sensor-292 & <é> \"quoted\"","Value":292},{"Id":"sensor-293 & <é> \"quoted\"","Value":293},{"Id":"sensor-294 & <é> \"quoted\"","Value":294},{"Id":"sensor-295 & <é> \"quoted\"","Value":295},{"Id":"sensor-296 & <é> \"quoted\"","Value":296},{"Id":"sensor-297 & <é> \"quoted\"","Value":297},{"Id":"sensor-298 & <é> \"quoted\"","Value":298},{"Id":"sensor-299 & <é> \"quoted\"","Value":299},{"Id":"sensor-300 & <é> \"quoted\"","Value":300},{"Id":"sensor-301 & <é> \"quoted\"","Value":301},{"Id":"sensor-302 & <é> \"quoted\"","Value":302},{"Id":"sensor-303 & <é> \"quoted\"","Value":303},{"Id":"sensor-304 & <é> \"quoted\"","Value":304},{"Id":"sensor-305 & <é> \"quoted\"","Value":305},{"Id":"sensor-306 & <é> \"quoted\"","Value":306},{"Id":"sensor-307 & <é> \"quoted\"","Value":307},{"Id":"sensor-308 & <é> \"quoted\"","Value":308},{"Id":"sensor-309 & <é> \"quoted\"","Value":309},{"Id":"sensor-310 & <é> \"quoted\"","Value":310},{"Id":"sensor-311 & <é> \"quoted\"","Value":311},{"Id":"sensor-312 & <é> \"quoted\"","Value":312},{"Id":"sensor-313 & <é> \"quoted\"","Value":313},{"Id":"sensor-314 & <é> \"quoted\"","Value":314},{"Id":"sensor-315 & <é> \"quoted\"","Value":315},{"Id":"sensor-316 & <é> \"quoted\"","Value":316},{"Id":"sensor-317 & <é> \"quoted\"","Value":317},{"Id":"sensor-318 & <é> \"quoted\"","Value":318},{"Id":"sensor-319 & <é> \"quoted\"","Value":319},{"Id":"sensor-320 & <é> \"quoted\"","Value":320},{"Id":"sensor-321 & <é> \"quoted\"","Value":321},{"Id":"sensor-322 & <é> \"quoted\"","Value":322},{"Id":"sensor-323 & <é> \"quoted\"","Value":323},{"Id":"sensor-324 & <é> \"quoted\"","Value":324},{"Id":"sensor-325 & <é> \"quoted\"","Value":325},{"Id":"sensor-326 & <é> \"quoted\"","Value":326},{"Id":"sensor-327 & <é> \"quoted\"","Value":327},{"Id":"sensor-328 & <é> \"quoted\"","Value":328},{"Id":"sensor-329 & <é> \"quoted\"","Value":329},{"Id":"sensor-330 & <é> \"quoted\"","Value":330},{"Id":"sensor-331 & <é> \"quoted\"","Value":331},{"Id":"sensor-332 & <é> \"quoted\"","Value":332},{"Id":"sensor-333 & <é> \"quoted\"","Value":333},{"Id":"sensor-334 & <é> \"quoted\"","Value":334},{"Id":"sensor-335 & <é> \"quoted\"","Value":335},{"Id":"sensor-336 & <é> \"quoted\"","Value":336},{"Id":"sensor-337 & <é> \"quoted\"","Value":337},{"Id":"sensor-338 & <é> \"quoted\"","Value":338},{"Id":"sensor-339 & <é> \"quoted\"","Value":339},{"Id":"sensor-340 & <é> \"quoted\"","Value":340},{"Id":"sensor-341 & <é> \"quoted\"","Value":341},{"Id":"sensor-342 & <é> \"quoted\"","Value":342},{"Id":"sensor-343 & <é> \"quoted\"","Value":343},{"Id":"sensor-344 & <é> \"quoted\"","Value":344},{"Id":"sensor-345 & <é> \"quoted\"","Value":345},{"Id":"sensor-346 & <é> \"quoted\"","Value":346},{"Id":"sensor-347 & <é> \"quoted\"","Value":347},{"Id":"sensor-348 & <é> \"quoted\"","Value":348},{"Id":"sensor-349 & <é> \"quoted\"","Value":349},{"Id":"sensor-350 & <é> \"quoted\"","Value":350},{"Id":"sensor-351 & <é> \"quoted\"","Value":351},{"Id":"sensor-352 & <é> \"quoted\"","Value":352},{"Id":"sensor-353 & <é> \"quoted\"","Value":353},{"Id":"sensor-354 & <é> \"quoted\"","Value":354},{"Id":"sensor-355 & <é> \"quoted\"","Value":355},{"Id":"sensor-356 & <é> \"quoted\"","Value":356},{"Id":"sensor-357 & <é> \"quoted\"","Value":357},{"Id":"sensor-358 & <é> \"quoted\"","Value":358},{"Id":"sensor-359 & <é> \"quoted\"","Value":359},{"Id":"sensor-360 & <é> \"quoted\"","Value":360},{"Id":"sensor-361 & <é> \"quoted\"","Value":361},{"Id":"sensor-362 & <é> \"quoted\"","Value":362},{"Id":"sensor-363 & <é> \"quoted\"","Value":363},{"Id":"sensor-364 & <é> \"quoted\"","Value":364},{"Id":"sensor-365 & <é> \"quoted\"","Value":365},{"Id":"sensor-366 & <é> \"quoted\"","Value":366},{"Id":"sensor-367 & <é> \"quoted\"","Value":367},{"Id":"sensor-368 & <é> \"quoted\"","Value":368},{"Id":"sensor-369 & <é> \"quoted\"","Value":369},{"Id":"sensor-370 & <é> \"quoted\"","Value":370},{"Id":"sensor-371 & <é> \"quoted\"","Value":371},{"Id":"sensor-372 & <é> \"quoted\"","Value":372},{"Id":"sensor-373 & <é> \"quoted\"","Value":373},{"Id":"sensor-374 & <é> \"quoted\"","Value":374},{"Id":"sensor-375 & <é> \"quoted\"","Value":375},{"Id":"sensor-376 & <é> \"quoted\"","Value":376},{"Id":"sensor-377 & <é> \"quoted\"","Value":377},{"Id":"sensor-378 & <é> \"quoted\"","Value":378},{"Id":"sensor-379 & <é> \"quoted\"","Value":379},{"Id":"sensor-380 & <é> \"quoted\"","Value":380},{"Id":"sensor-381 & <é> \"quoted\"","Value":381},{"Id":"sensor-382 & <é> \"quoted\"","Value":382},{"Id":"sensor-383 & <é> \"quoted\"","Value":383},{"Id":"sensor-384 & <é> \"quoted\"","Value":384},{"Id":"sensor-385 & <é> \"quoted\"","Value":385},{"Id":"sensor-386 & <é> \"quoted\"","Value":386},{"Id":"sensor-387 & <é> \"quoted\"","Value":387},{"Id":"sensor-388 & <é> \"quoted\"","Value":388},{"Id":"sensor-389 & <é> \"quoted\"","Value":389},{"Id":"sensor-390 & <é> \"quoted\"","Value":390},{"Id":"sensor-391 & <é> \"quoted\"","Value":391},{"Id":"sensor-392 & <é> \"quoted\"","Value":392},{"Id":"sensor-393 & <é> \"quoted\"","Value":393},{"Id":"sensor-394 & <é> \"quoted\"","Value":394},{"Id":"sensor-395 & <é> \"quoted\"","Value":395},{"Id":"sensor-396 & <é> \"quoted\"","Value":396},{"Id":"sensor-397 & <é> \"quoted\"","Value":397},{"Id":"sensor-398 & <é> \"quoted\"","Value":398},{"Id":"sensor-399 & <é> \"quoted\"","Value":399},{"Id":"sensor-400 & <é> \"quoted\"","Value":400},{"Id":"sensor-401 & <é> \"quoted\"","Value":401},{"Id":"sensor-402 & <é> \"quoted\"","Value":402},{"Id":"sensor-403 & <é> \"quoted\"","Value":403},{"Id":"sensor-404 & <é> \"quoted\"","Value":404},{"Id":"sensor-405 & <é> \"quoted\"","Value":405},{"Id":"sensor-406 & <é> \"quoted\"","Value":406},{"Id":"sensor-407 & <é> \"quoted\"","Value":407},{"Id":"sensor-408 & <é> \"quoted\"","Value":408},{"Id":"sensor-409 & <é> \"quoted\"","Value":409},{"Id":"sensor-410 & <é> \"quoted\"","Value":410},{"Id":"sensor-411 & <é> \"quoted\"","Value":411},{"Id":"sensor-412 & <é> \"quoted\"","Value":412},{"Id":"sensor-413 & <é> \"quoted\"","Value":413},{"Id":"sensor-414 & <é> \"quoted\"","Value":414},{"Id":"sensor-415 & <é> \"quoted\"","Value":415},{"Id":"sensor-416 & <é> \"quoted\"","Value":416},{"Id":"sensor-417 & <é> \"quoted\"","Value":417},{"Id":"sensor-418 & <é> \"quoted\"","Value":418},{"Id":"sensor-419 & <é> \"quoted\"","Value":419},{"Id":"sensor-420 & <é> \"quoted\"","Value":420},{"Id":"sensor-421 & <é> \"quoted\"","Value":421},{"Id":"sensor-422 & <é> \"quoted\"","Value":422},{"Id":"sensor-423 & <é> \"quoted\"","Value":423},{"Id":"sensor-424 & <é> \"quoted\"","Value":424},{"Id":"sensor-425 & <é> \"quoted\"","Value":425},{"Id":"sensor-426 & <é> \"quoted\"","Value":426},{"Id":"sensor-427 & <é> \"quoted\"","Value":427},{"Id":"sensor-428 & <é> \"quoted\"","Value":428},{"Id":"sensor-429 & <é> \"quoted\"","Value":429},{"Id":"sensor-430 & <é> \"quoted\"","Value":430},{"Id":"sensor-431 & <é> \"quoted\"","Value":431},{"Id":"sensor-432 & <é> \"quoted\"","Value":432},{"Id":"sensor-433 & <é> \"quoted\"","Value":433},{"Id":"sensor-434 & <é> \"quoted\"","Value":434},{"Id":"sensor-435 & <é> \"quoted\"","Value":435},{"Id":"sensor-436 & <é> \"quoted\"","Value":436},{"Id":"sensor-437 & <é> \"quoted\"","Value":437},{"Id":"sensor-438 & <é> \"quoted\"","Value":438},{"Id":"sensor-439 & <é> \"quoted\"","Value":439},{"Id":"sensor-440 & <é> \"quoted\"","Value":440},{"Id":"sensor-441 & <é> \"quoted\"","Value":441},{"Id":"sensor-442 & <é> \"quoted\"","Value":442},{"Id":"sensor-443 & <é> \"quoted\"","Value":443},{"Id":"sensor-444 & <é> \"quoted\"","Value":444},{"Id":"sensor-445 & <é> \"quoted\"","Value":445},{"Id":"sensor-446 & <é> \"quoted\"","Value":446},{"Id":"sensor-447 & <é> \"quoted\"","Value":447},{"Id":"sensor-448 & <é> \"quoted\"","Value":448},{"Id":"sensor-449 & <é> \"quoted\"","Value":449},{"Id":"sensor-450 & <é> \"quoted\"","Value":450},{"Id":"sensor-451 & <é> \"quoted\"","Value":451},{"Id":"sensor-452 & <é> \"quoted\"","Value":452},{"Id":"sensor-453 & <é> \"quoted\"","Value":453},{"Id":"sensor-454 & <é> \"quoted\"","Value":454},{"Id":"sensor-455 & <é> \"quoted\"","Value":455},{"Id":"sensor-456 & <é> \"quoted\"","Value":456},{"Id":"sensor-457 & <é> \"quoted\"","Value":457},{"Id":"sensor-458 & <é> \"quoted\"","Value":458},{"Id":"sensor-459 & <é> \"quoted\"","Value":459},{"Id":"sensor-460 & <é> \"quoted\"","Value":460},{"Id":"sensor-461 & <é> \"quoted\"","Value":461},{"Id":"sensor-462 & <é> \"quoted\"","Value":462},{"Id":"sensor-463 & <é> \"quoted\"","Value":463},{"Id":"sensor-464 & <é> \"quoted\"","Value":464},{"Id":"sensor-465 & <é> \"quoted\"","Value":465},{"Id":"sensor-466 & <é> \"quoted\"","Value":466},{"Id":"sensor-467 & <é> \"quoted\"","Value":467},{"Id":"sensor-468 & <é> \"quoted\"","Value":468},{"Id":"sensor-469 & <é> \"quoted\"","Value":469},{"Id":"sensor-470 & <é> \"quoted\"","Value":470},{"Id":"sensor-471 & <é> \"quoted\"","Value":471},{"Id":"sensor-472 & <é> \"quoted\"","Value":472},{"Id":"sensor-473 & <é> \"quoted\"","Value":473},{"Id":"sensor-474 & <é> \"quoted\"","Value":474},{"Id":"sensor-475 & <é> \"quoted\"","Value":475},{"Id":"sensor-476 & <é> \"quoted\"","Value":476},{"Id":"sensor-477 & <é> \"quoted\"","Value":477},{"Id":"sensor-478 & <é> \"quoted\"","Value":478},{"Id":"sensor-479 & <é> \"quoted\"","Value":479},{"Id":"sensor-480 & <é> \"quoted\"","Value":480},{"Id":"sensor-481 & <é> \"quoted\"","Value":481},{"Id":"sensor-482 & <é> \"quoted\"","Value":482},{"Id":"sensor-483 & <é> \"quoted\"","Value":483},{"Id":"sensor-484 & <é> \"quoted\"","Value":484},{"Id":"sensor-485 & <é> \"quoted\"","Value":485},{"Id":"sensor-486 & <é> \"quoted\"","Value":486},{"Id":"sensor-487 & <é> \"quoted\"","Value":487},{"Id":"sensor-488 & <é> \"quoted\"","Value":488},{"Id":"sensor-489 & <é> \"quoted\"","Value":489},{"Id":"sensor-490 & <é> \"quoted\"","Value":490},{"Id":"sensor-491 & <é> \"quoted\"","Value":491},{"Id":"sensor-492 & <é> \"quoted\"","Value":492},{"Id":"sensor-493 & <é> \"quoted\"","Value":493},{"Id":"sensor-494 & <é> \"quoted\"","Value":494},{"Id":"sensor-495 & <é> \"quoted\"","Value":495},{"Id":"sensor-496 & <é> \"quoted\"","Value":496},{"Id":"sensor-497 & <é> \"quoted\"","Value":497},{"Id":"sensor-498 & <é> \"quoted\"","Value":498},{"Id":"sensor-499 & <é> \"quoted\"","Value":499},{"Id":"sensor-500 & <é> \"quoted\"","Value":500},{"Id":"sensor-501 & <é> \"quoted\"","Value":501},{"Id":"sensor-502 & <é> \"quoted\"","Value":502},{"Id":"sensor-503 & <é> \"quoted\"","Value":503},{"Id":"sensor-504 & <é> \"quoted\"","Value":504},{"Id":"sensor-505 & <é> \"quoted\"","Value":505},{"Id":"sensor-506 & <é> \"quoted\"","Value":506},{"Id":"sensor-507 & <é> \"quoted\"","Value":507},{"Id":"sensor-508 & <é> \"quoted\"","Value":508},{"Id":"sensor-509 & <é> \"quoted\"","Value":509},{"Id":"sensor-510 & <é> \"quoted\"","Value":510},{"Id":"sensor-511 & <é> \"quoted\"","Value":511},{"Id":"sensor-512 & <é> \"quoted\"","Value":512},{"Id":"sensor-513 & <é> \"quoted\"","Value":513},{"Id":"sensor-514 & <é> \"quoted\"","Value":514},{"Id":"sensor-515 & <é> \"quoted\"","Value":515},{"Id":"sensor-516 & <é> \"quoted\"","Value":516},{"Id":"sensor-517 & <é> \"quoted\"","Value":517},{"Id":"sensor-518 & <é> \"quoted\"","Value":518},{"Id":"sensor-519 & <é> \"quoted\"","Value":519},{"Id":"sensor-520 & <é> \"quoted\"","Value":520},{"Id":"sensor-521 & <é> \"quoted\"","Value":521},{"Id":"sensor-522 & <é> \"quoted\"","Value":522},{"Id":"sensor-523 & <é> \"quoted\"","Value":523},{"Id":"sensor-524 & <é> \"quoted\"","Value":524},{"Id":"sensor-525 & <é> \"quoted\"","Value":525},{"Id":"sensor-526 & <é> \"quoted\"","Value":526},{"Id":"sensor-527 & <é> \"quoted\"","Value":527},{"Id":"sensor-528 & <é> \"quoted\"","Value":528},{"Id":"sensor-529 & <é> \"quoted\"","Value":529},{"Id":"sensor-530 & <é> \"quoted\"","Value":530},{"Id":"sensor-531 & <é> \"quoted\"","Value":531},{"Id":"sensor-532 & <é> \"quoted\"","Value":532},{"Id":"sensor-533 & <é> \"quoted\"","Value":533},{"Id":"sensor-534 & <é> \"quoted\"","Value":534},{"Id":"sensor-535 & <é> \"quoted\"","Value":535},{"Id":"sensor-536 & <é> \"quoted\"","Value":536},{"Id":"sensor-537 & <é> \"quoted\"","Value":537},{"Id":"sensor-538 & <é> \"quoted\"","Value":538},{"Id":"sensor-539 & <é> \"quoted\"","Value":539},{"Id":"sensor-540 & <é> \"quoted\"","Value":540},{"Id":"sensor-541 & <é> \"quoted\"","Value":541},{"Id":"sensor-542 & <é> \"quoted\"","Value":542},{"Id":"sensor-543 & <é> \"quoted\"","Value":543},{"Id":"sensor-544 & <é> \"quoted\"","Value":544},{"Id":"sensor-545 & <é> \"quoted\"","Value":545},{"Id":"sensor-546 & <é> \"quoted\"","Value":546},{"Id":"sensor-547 & <é> \"quoted\"","Value":547},{"Id":"sensor-548 & <é> \"quoted\"","Value":548},{"Id":"sensor-549 & <é> \"quoted\"","Value":549},{"Id":"sensor-550 & <é> \"quoted\"","Value":550},{"Id":"sensor-551 & <é> \"quoted\"","Value":551},{"Id":"sensor-552 & <é> \"quoted\"","Value":552},{"Id":"sensor-553 & <é> \"quoted\"","Value":553},{"Id":"sensor-554 & <é> \"quoted\"","Value":554},{"Id":"sensor-555 & <é> \"quoted\"","Value":555},{"Id":"sensor-556 & <é> \"quoted\"","Value":556},{"Id":"sensor-557 & <é> \"quoted\"","Value":557},{"Id":"sensor-558 & <é> \"quoted\"","Value":558},{"Id":"sensor-559 & <é> \"quoted\"","Value":559},{"Id":"sensor-560 & <é> \"quoted\"","Value":560},{"Id":"sensor-561 & <é> \"quoted\"","Value":561},{"Id":"sensor-562 & <é> \"quoted\"","Value":562},{"Id":"sensor-563 & <é> \"quoted\"","Value":563},{"Id":"sensor-564 & <é> \"quoted\"","Value":564},{"Id":"sensor-565 & <é> \"quoted\"","Value":565},{"Id":"sensor-566 & <é> \"quoted\"","Value":566},{"Id":"sensor-567 & <é> \"quoted\"","Value":567},{"Id":"sensor-568 & <é> \"quoted\"","Value":568},{"Id":"sensor-569 & <é> \"quoted\"","Value":569},{"Id":"sensor-570 & <é> \"quoted\"","Value":570},{"Id":"sensor-571 & <é> \"quoted\"","Value":571},{"Id":"sensor-572 & <é> \"quoted\"","Value":572},{"Id":"sensor-573 & <é> \"quoted\"","Value":573},{"Id":"sensor-574 & <é> \"quoted\"","Value":574},{"Id":"sensor-575 & <é> \"quoted\"","Value":575},{"Id":"sensor-576 & <é> \"quoted\"","Value":576},{"Id":"sensor-577 & <é> \"quoted\"","Value":577},{"Id":"sensor-578 & <é> \"quoted\"","Value":578},{"Id":"sensor-579 & <é> \"quoted\"","Value":579},{"Id":"sensor-580 & <é> \"quoted\"","Value":580},{"Id":"sensor-581 & <é> \"quoted\"","Value":581},{"Id":"sensor-582 & <é> \"quoted\"","Value":582},{"Id":"sensor-583 & <é> \"quoted\"","Value":583},{"Id":"sensor-584 & <é> \"quoted\"","Value":584},{"Id":"sensor-585 & <é> \"quoted\"","Value":585},{"Id":"sensor-586 & <é> \"quoted\"","Value":586},{"Id":"sensor-587 & <é> \"quoted\"","Value":587},{"Id":"sensor-588 & <é> \"quoted\"","Value":588},{"Id":"sensor-589 & <é> \"quoted\"","Value":589},{"Id":"sensor-590 & <é> \"quoted\"","Value":590},{"Id":"sensor-591 & <é> \"quoted\"","Value":591},{"Id":"sensor-592 & <é> \"quoted\"","Value":592},{"Id":"sensor-593 & <é> \"quoted\"","Value":593},{"Id":"sensor-594 & <é> \"quoted\"","Value":594},{"Id":"sensor-595 & <é> \"quoted\"","Value":595},{"Id":"sensor-596 & <é> \"quoted\"","Value":596},{"Id":"sensor-597 & <é> \"quoted\"","Value":597},{"Id":"sensor-598 & <é> \"quoted\"","Value":598},{"Id":"sensor-599 & <é> \"quoted\"","Value":599},{"Id":"sensor-600 & <é> \"quoted\"","Value":600},{"Id":"sensor-601 & <é> \"quoted\"","Value":601},{"Id":"sensor-602 & <é> \"quoted\"","Value":602},{"Id":"sensor-603 & <é> \"quoted\"","Value":603},{"Id":"sensor-604 & <é> \"quoted\"","Value":604},{"Id":"sensor-605 & <é> \"quoted\"","Value":605},{"Id":"sensor-606 & <é> \"quoted\"","Value":606},{"Id":"sensor-607 & <é> \"quoted\"","Value":607},{"Id":"sensor-608 & <é> \"quoted\"","Value":608},{"Id":"sensor-609 & <é> \"quoted\"","Value":609},{"Id":"sensor-610 & <é> \"quoted\"","Value":610},{"Id":"sensor-611 & <é> \"quoted\"","Value":611},{"Id":"sensor-612 & <é> \"quoted\"","Value":612},{"Id":"sensor-613 & <é> \"quoted\"","Value":613},{"Id":"sensor-614 & <é> \"quoted\"","Value":614},{"Id":"sensor-615 & <é> \"quoted\"","Value":615},{"Id":"sensor-616 & <é> \"quoted\"","Value":616},{"Id":"sensor-617 & <é> \"quoted\"","Value":617},{"Id":"sensor-618 & <é> \"quoted\"","Value":618},{"Id":"sensor-619 & <é> \"quoted\"","Value":619},{"Id":"sensor-620 & <é> \"quoted\"","Value":620},{"Id":"sensor-621 & <é> \"quoted\"","Value":621},{"Id":"sensor-622 & <é> \"quoted\"","Value":622},{"Id":"sensor-623 & <é> \"quoted\"","Value":623},{"Id":"sensor-624 & <é> \"quoted\"","Value":624},{"Id":"sensor-625 & <é> \"quoted\"","Value":625},{"Id":"sensor-626 & <é> \"quoted\"","Value":626},{"Id":"sensor-627 & <é> \"quoted\"","Value":627},{"Id":"sensor-628 & <é> \"quoted\"","Value":628},{"Id":"sensor-629 & <é> \"quoted\"","Value":629},{"Id":"sensor-630 & <é> \"quoted\"","Value":630},{"Id":"sensor-631 & <é> \"quoted\"","Value":631},{"Id":"sensor-632 & <é> \"quoted\"","Value":632},{"Id":"sensor-633 & <é> \"quoted\"","Value":633},{"Id":"sensor-634 & <é> \"quoted\"","Value":634},{"Id":"sensor-635 & <é> \"quoted\"","Value":635},{"Id":"sensor-636 & <é> \"quoted\"","Value":636},{"Id":"sensor-637 & <é> \"quoted\"","Value":637},{"Id":"sensor-638 & <é> \"quoted\"","Value":638},{"Id":"sensor-639 & <é> \"quoted\"","Value":639},{"Id":"sensor-640 & <é> \"quoted\"","Value":640},{"Id":"sensor-641 & <é> \"quoted\"","Value":641},{"Id":"sensor-642 & <é> \"quoted\"","Value":642},{"Id":"sensor-643 & <é> \"quoted\"","Value":643},{"Id":"sensor-644 & <é> \"quoted\"","Value":644},{"Id":"sensor-645 & <é> \"quoted\"","Value":645},{"Id":"sensor-646 & <é> \"quoted\"","Value":646},{"Id":"sensor-647 & <é> \"quoted\"","Value":647},{"Id":"sensor-648 & <é> \"quoted\"","Value":648},{"Id":"sensor-649 & <é> \"quoted\"","Value":649},{"Id":"sensor-650 & <é> \"quoted\"","Value":650},{"Id":"sensor-651 & <é> \"quoted\"","Value":651},{"Id":"sensor-652 & <é> \"quoted\"","Value":652},{"Id":"sensor-653 & <é> \"quoted\"","Value":653},{"Id":"sensor-654 & <é> \"quoted\"","Value":654},{"Id":"sensor-655 & <é> \"quoted\"","Value":655},{"Id":"sensor-656 & <é> \"quoted\"","Value":656},{"Id":"sensor-657 & <é> \"quoted\"","Value":657},{"Id":"sensor-658 & <é> \"quoted\"","Value":658},{"Id":"sensor-659 & <é> \"quoted\"","Value":659},{"Id":"sensor-660 & <é> \"quoted\"","Value":660},{"Id":"sensor-661 & <é> \"quoted\"","Value":661},{"Id":"sensor-662 & <é> \"quoted\"","Value":662},{"Id":"sensor-663 & <é> \"quoted\"","Value":663},{"Id":"sensor-664 & <é> \"quoted\"","Value":664},{"Id":"sensor-665 & <é> \"quoted\"","Value":665},{"Id":"sensor-666 & <é> \"quoted\"","Value":666},{"Id":"sensor-667 & <é> \"quoted\"","Value":667},{"Id":"sensor-668 & <é> \"quoted\"","Value":668},{"Id":"sensor-669 & <é> \"quoted\"","Value":669},{"Id":"sensor-670 & <é> \"quoted\"","Value":670},{"Id":"sensor-671 & <é> \"quoted\"","Value":671},{"Id":"sensor-672 & <é> \"quoted\"","Value":672},{"Id":"sensor-673 & <é> \"quoted\"","Value":673},{"Id":"sensor-674 & <é> \"quoted\"","Value":674},{"Id":"sensor-675 & <é> \"quoted\"","Value":675},{"Id":"sensor-676 & <é> \"quoted\"","Value":676},{"Id":"sensor-677 & <é> \"quoted\"","Value":677},{"Id":"sensor-678 & <é> \"quoted\"","Value":678},{"Id":"sensor-679 & <é> \"quoted\"","Value":679},{"Id":"sensor-680 & <é> \"quoted\"","Value":680},{"Id":"sensor-681 & <é> \"quoted\"","Value":681},{"Id":"sensor-682 & <é> \"quoted\"","Value":682},{"Id":"sensor-683 & <é> \"quoted\"","Value":683},{"Id":"sensor-684 & <é> \"quoted\"","Value":684},{"Id":"sensor-685 & <é> \"quoted\"","Value":685},{"Id":"sensor-686 & <é> \"quoted\"","Value":686},{"Id":"sensor-687 & <é> \"quoted\"","Value":687},{"Id":"sensor-688 & <é> \"quoted\"","Value":688},{"Id":"sensor-689 & <é> \"quoted\"","Value":689},{"Id":"sensor-690 & <é> \"quoted\"","Value":690},{"Id":"sensor-691 & <é> \"quoted\"","Value":691},{"Id":"sensor-692 & <é> \"quoted\"","Value":692},{"Id":"sensor-693 & <é> \"quoted\"","Value":693},{"Id":"sensor-694 & <é> \"quoted\"","Value":694},{"Id":"sensor-695 & <é> \"quoted\"","Value":695},{"Id":"sensor-696 & <é> \"quoted\"","Value":696},{"Id":"sensor-697 & <é> \"quoted\"","Value":697},{"Id":"sensor-698 & <é> \"quoted\"","Value":698},{"Id":"sensor-699 & <é> \"quoted\"","Value":699},{"Id":"sensor-700 & <é> \"quoted\"","Value":700},{"Id":"sensor-701 & <é> \"quoted\"","Value":701},{"Id":"sensor-702 & <é> \"quoted\"","Value":702},{"Id":"sensor-703 & <é> \"quoted\"","Value":703},{"Id":"sensor-704 & <é> \"quoted\"","Value":704},{"Id":"sensor-705 & <é> \"quoted\"","Value":705},{"Id":"sensor-706 & <é> \"quoted\"","Value":706},{"Id":"sensor-707 & <é> \"quoted\"","Value":707},{"Id":"sensor-708 & <é> \"quoted\"","Value":708},{"Id":"sensor-709 & <é> \"quoted\"","Value":709},{"Id":"sensor-710 & <é> \"quoted\"","Value":710},{"Id":"sensor-711 & <é> \"quoted\"","Value":711},{"Id":"sensor-712 & <é> \"quoted\"","Value":712},{"Id":"sensor-713 & <é> \"quoted\"","Value":713},{"Id":"sensor-714 & <é> \"quoted\"","Value":714},{"Id":"sensor-715 & <é> \"quoted\"","Value":715},{"Id":"sensor-716 & <é> \"quoted\"","Value":716},{"Id":"sensor-717 & <é> \"quoted\"","Value":717},{"Id":"sensor-718 & <é> \"quoted\"","Value":718},{"Id":"sensor-719 & <é> \"quoted\"","Value":719},{"Id":"sensor-720 & <é> \"quoted\"","Value":720},{"Id":"sensor-721 & <é> \"quoted\"","Value":721},{"Id":"sensor-722 & <é> \"quoted\"","Value":722},{"Id":"sensor-723 & <é> \"quoted\"","Value":723},{"Id":"sensor-724 & <é> \"quoted\"","Value":724},{"Id":"sensor-725 & <é> \"quoted\"","Value":725},{"Id":"sensor-726 & <é> \"quoted\"","Value":726},{"Id":"sensor-727 & <é> \"quoted\"","Value":727},{"Id":"sensor-728 & <é> \"quoted\"","Value":728},{"Id":"sensor-729 & <é> \"quoted\"","Value":729},{"Id":"sensor-730 & <é> \"quoted\"","Value":730},{"Id":"sensor-731 & <é> \"quoted\"","Value":731},{"Id":"sensor-732 & <é> \"quoted\"","Value":732},{"Id":"sensor-733 & <é> \"quoted\"","Value":733},{"Id":"sensor-734 & <é> \"quoted\"","Value":734},{"Id":"sensor-735 & <é> \"quoted\"","Value":735},{"Id":"sensor-736 & <é> \"quoted\"","Value":736},{"Id":"sensor-737 & <é> \"quoted\"","Value":737},{"Id":"sensor-738 & <é> \"quoted\"","Value":738},{"Id":"sensor-739 & <é> \"quoted\"","Value":739},{"Id":"sensor-740 & <é> \"quoted\"","Value":740},{"Id":"sensor-741 & <é> \"quoted\"","Value":741},{"Id":"sensor-742 & <é> \"quoted\"","Value":742},{"Id":"sensor-743 & <é> \"quoted\"","Value":743},{"Id":"sensor-744 & <é> \"quoted\"","Value":744},{"Id":"sensor-745 & <é> \"quoted\"","Value":745},{"Id":"sensor-746 & <é> \"quoted\"","Value":746},{"Id":"sensor-747 & <é> \"quoted\"","Value":747},{"Id":"sensor-748 & <é> \"quoted\"","Value":748},{"Id":"sensor-749 & <é> \"quoted\"","Value":749},{"Id":"sensor-750 & <é> \"quoted\"","Value":750},{"Id":"sensor-751 & <é> \"quoted\"","Value":751},{"Id":"sensor-752 & <é> \"quoted\"","Value":752},{"Id":"sensor-753 & <é> \"quoted\"","Value":753},{"Id":"sensor-754 & <é> \"quoted\"","Value":754},{"Id":"sensor-755 & <é> \"quoted\"","Value":755},{"Id":"sensor-756 & <é> \"quoted\"","Value":756},{"Id":"sensor-757 & <é> \"quoted\"","Value":757},{"Id":"sensor-758 & <é> \"quoted\"","Value":758},{"Id":"sensor-759 & <é> \"quoted\"","Value":759},{"Id":"sensor-760 & <é> \"quoted\"","Value":760},{"Id":"sensor-761 & <é> \"quoted\"","Value":761},{"Id":"sensor-762 & <é> \"quoted\"","Value":762},{"Id":"sensor-763 & <é> \"quoted\"","Value":763},{"Id":"sensor-764 & <é> \"quoted\"","Value":764},{"Id":"sensor-765 & <é> \"quoted\"","Value":765},{"Id":"sensor-766 & <é> \"quoted\"","Value":766},{"Id":"sensor-767 & <é> \"quoted\"","Value":767},{"Id":"sensor-768 & <é> \"quoted\"","Value":768},{"Id":"sensor-769 & <é> \"quoted\"","Value":769},{"Id":"sensor-770 & <é> \"quoted\"","Value":770},{"Id":"sensor-771 & <é> \"quoted\"","Value":771},{"Id":"sensor-772 & <é> \"quoted\"","Value":772},{"Id":"sensor-773 & <é> \"quoted\"","Value":773},{"Id":"sensor-774 & <é> \"quoted\"","Value":774},{"Id":"sensor-775 & <é> \"quoted\"","Value":775},{"Id":"sensor-776 & <é> \"quoted\"","Value":776},{"Id":"sensor-777 & <é> \"quoted\"","Value":777},{"Id":"sensor-778 & <é> \"quoted\"","Value":778},{"Id":"sensor-779 & <é> \"quoted\"","Value":779},{"Id":"sensor-780 & <é> \"quoted\"","Value":780},{"Id":"sensor-781 & <é> \"quoted\"","Value":781},{"Id":"sensor-782 & <é> \"quoted\"","Value":782},{"Id":"sensor-783 & <é> \"quoted\"","Value":783},{"Id":"sensor-784 & <é> \"quoted\"","Value":784},{"Id":"sensor-785 & <é> \"quoted\"","Value":785},{"Id":"sensor-786 & <é> \"quoted\"","Value":786},{"Id":"sensor-787 & <é> \"quoted\"","Value":787},{"Id":"sensor-788 & <é> \"quoted\"","Value":788},{"Id":"sensor-789 & <é> \"quoted\"","Value":789},{"Id":"sensor-790 & <é> \"quoted\"","Value":790},{"Id":"sensor-791 & <é> \"quoted\"","Value":791},{"Id":"sensor-792 & <é> \"quoted\"","Value":792},{"Id":"sensor-793 & <é> \"quoted\"","Value":793},{"Id":"sensor-794 & <é> \"quoted\"","Value":794},{"Id":"sensor-795 & <é> \"quoted\"","Value":795},{"Id":"sensor-796 & <é> \"quoted\"","Value":796},{"Id":"sensor-797 & <é> \"quoted\"","Value":797},{"Id":"sensor-798 & <é> \"quoted\"","Value":798},{"Id":"sensor-799 & <é> \"quoted\"","Value":799},{"Id":"sensor-800 & <é> \"quoted\"","Value":800},{"Id":"sensor-801 & <é> \"quoted\"","Value":801},{"Id":"sensor-802 & <é> \"quoted\"","Value":802},{"Id":"sensor-803 & <é> \"quoted\"","Value":803},{"Id":"sensor-804 & <é> \"quoted\"","Value":804},{"Id":"sensor-805 & <é> \"quoted\"","Value":805},{"Id":"sensor-806 & <é> \"quoted\"","Value":806},{"Id":"sensor-807 & <é> \"quoted\"","Value":807},{"Id":"sensor-808 & <é> \"quoted\"","Value":808},{"Id":"sensor-809 & <é> \"quoted\"","Value":809},{"Id":"sensor-810 & <é> \"quoted\"","Value":810},{"Id":"sensor-811 & <é> \"quoted\"","Value":811},{"Id":"sensor-812 & <é> \"quoted\"","Value":812},{"Id":"sensor-813 & <é> \"quoted\"","Value":813},{"Id":"sensor-814 & <é> \"quoted\"","Value":814},{"Id":"sensor-815 & <é> \"quoted\"","Value":815},{"Id":"sensor-816 & <é> \"quoted\"","Value":816},{"Id":"sensor-817 & <é> \"quoted\"","Value":817},{"Id":"sensor-818 & <é> \"quoted\"","Value":818},{"Id":"sensor-819 & <é> \"quoted\"","Value":819},{"Id":"sensor-820 & <é> \"quoted\"","Value":820},{"Id":"sensor-821 & <é> \"quoted\"","Value":821},{"Id":"sensor-822 & <é> \"quoted\"","Value":822},{"Id":"sensor-823 & <é> \"quoted\"","Value":823},{"Id":"sensor-824 & <é> \"quoted\"","Value":824},{"Id":"sensor-825 & <é> \"quoted\"","Value":825},{"Id":"sensor-826 & <é> \"quoted\"","Value":826},{"Id":"sensor-827 & <é> \"quoted\"","Value":827},{"Id":"sensor-828 & <é> \"quoted\"","Value":828},{"Id":"sensor-829 & <é> \"quoted\"","Value":829},{"Id":"sensor-830 & <é> \"quoted\"","Value":830},{"Id":"sensor-831 & <é> \"quoted\"","Value":831},{"Id":"sensor-832 & <é> \"quoted\"","Value":832},{"Id":"sensor-833 & <é> \"quoted\"","Value":833},{"Id":"sensor-834 & <é> \"quoted\"","Value":834},{"Id":"sensor-835 & <é> \"quoted\"","Value":835},{"Id":"sensor-836 & <é> \"quoted\"","Value":836},{"Id":"sensor-837 & <é> \"quoted\"","Value":837},{"Id":"sensor-838 & <é> \"quoted\"","Value":838},{"Id":"sensor-839 & <é> \"quoted\"","Value":839},{"Id":"sensor-840 & <é> \"quoted\"","Value":840},{"Id":"sensor-841 & <é> \"quoted\"","Value":841},{"Id":"sensor-842 & <é> \"quoted\"","Value":842},{"Id":"sensor-843 & <é> \"quoted\"","Value":843},{"Id":"sensor-844 & <é> \"quoted\"","Value":844},{"Id":"sensor-845 & <é> \"quoted\"","Value":845},{"Id":"sensor-846 & <é> \"quoted\"","Value":846},{"Id":"sensor-847 & <é> \"quoted\"","Value":847},{"Id":"sensor-848 & <é> \"quoted\"","Value":848},{"Id":"sensor-849 & <é> \"quoted\"","Value":849},{"Id":"sensor-850 & <é> \"quoted\"","Value":850},{"Id":"sensor-851 & <é> \"quoted\"","Value":851},{"Id":"sensor-852 & <é> \"quoted\"","Value":852},{"Id":"sensor-853 & <é> \"quoted\"","Value":853},{"Id":"sensor-854 & <é> \"quoted\"","Value":854},{"Id":"sensor-855 & <é> \"quoted\"","Value":855},{"Id":"sensor-856 & <é> \"quoted\"","Value":856},{"Id":"sensor-857 & <é> \"quoted\"","Value":857},{"Id":"sensor-858 & <é> \"quoted\"","Value":858},{"Id":"sensor-859 & <é> \"quoted\"","Value":859},{"Id":"sensor-860 & <é> \"quoted\"","Value":860},{"Id":"sensor-861 & <é> \"quoted\"","Value":861},{"Id":"sensor-862 & <é> \"quoted\"","Value":862},{"Id":"sensor-863 & <é> \"quoted\"","Value":863},{"Id":"sensor-864 & <é> \"quoted\"","Value":864},{"Id":"sensor-865 & <é> \"quoted\"","Value":865},{"Id":"sensor-866 & <é> \"quoted\"","Value":866},{"Id":"sensor-867 & <é> \"quoted\"","Value":867},{"Id":"sensor-868 & <é> \"quoted\"","Value":868},{"Id":"sensor-869 & <é> \"quoted\"","Value":869},{"Id":"sensor-870 & <é> \"quoted\"","Value":870},{"Id":"sensor-871 & <é> \"quoted\"","Value":871},{"Id":"sensor-872 & <é> \"quoted\"","Value":872},{"Id":"sensor-873 & <é> \"quoted\"","Value":873},{"Id":"sensor-874 & <é> \"quoted\"","Value":874},{"Id":"sensor-875 & <é> \"quoted\"","Value":875},{"Id":"sensor-876 & <é> \"quoted\"","Value":876},{"Id":"sensor-877 & <é> \"quoted\"","Value":877},{"Id":"sensor-878 & <é> \"quoted\"","Value":878},{"Id":"sensor-879 & <é> \"quoted\"","Value":879},{"Id":"sensor-880 & <é> \"quoted\"","Value":880},{"Id":"sensor-881 & <é> \"quoted\"","Value":881},{"Id":"sensor-882 & <é> \"quoted\"","Value":882},{"Id":"sensor-883 & <é> \"quoted\"","Value":883},{"Id":"sensor-884 & <é> \"quoted\"","Value":884},{"Id":"sensor-885 & <é> \"quoted\"","Value":885},{"Id":"sensor-886 & <é> \"quoted\"","Value":886},{"Id":"sensor-887 & <é> \"quoted\"","Value":887},{"Id":"sensor-888 & <é> \"quoted\"","Value":888},{"Id":"sensor-889 & <é> \"quoted\"","Value":889},{"Id":"sensor-890 & <é> \"quoted\"","Value":890},{"Id":"sensor-891 & <é> \"quoted\"","Value":891},{"Id":"sensor-892 & <é> \"quoted\"","Value":892},{"Id":"sensor-893 & <é> \"quoted\"","Value":893},{"Id":"sensor-894 & <é> \"quoted\"","Value":894},{"Id":"sensor-895 & <é> \"quoted\"","Value":895},{"Id":"sensor-896 & <é> \"quoted\"","Value":896},{"Id":"sensor-897 & <é> \"quoted\"","Value":897},{"Id":"sensor-898 & <é> \"quoted\"","Value":898},{"Id":"sensor-899 & <é> \"quoted\"","Value":899},{"Id":"sensor-900 & <é> \"quoted\"","Value":900},{"Id":"sensor-901 & <é> \"quoted\"","Value":901},{"Id":"sensor-902 & <é> \"quoted\"","Value":902},{"Id":"sensor-903 & <é> \"quoted\"","Value":903},{"Id":"sensor-904 & <é> \"quoted\"","Value":904},{"Id":"sensor-905 & <é> \"quoted\"","Value":905},{"Id":"sensor-906 & <é> \"quoted\"","Value":906},{"Id":"sensor-907 & <é> \"quoted\"","Value":907},{"Id":"sensor-908 & <é> \"quoted\"","Value":908},{"Id":"sensor-909 & <é> \"quoted\"","Value":909},{"Id":"sensor-910 & <é> \"quoted\"","Value":910},{"Id":"sensor-911 & <é> \"quoted\"","Value":911},{"Id":"sensor-912 & <é> \"quoted\"","Value":912},{"Id":"sensor-913 & <é> \"quoted\"","Value":913},{"Id":"sensor-914 & <é> \"quoted\"","Value":914},{"Id":"sensor-915 & <é> \"quoted\"","Value":915},{"Id":"sensor-916 & <é> \"quoted\"","Value":916},{"Id":"sensor-917 & <é> \"quoted\"","Value":917},{"Id":"sensor-918 & <é> \"quoted\"","Value":918},{"Id":"sensor-919 & <é> \"quoted\"","Value":919},{"Id":"sensor-920 & <é> \"quoted\"","Value":920},{"Id":"sensor-921 & <é> \"quoted\"","Value":921},{"Id":"sensor-922 & <é> \"quoted\"","Value":922},{"Id":"sensor-923 & <é> \"quoted\"","Value":923},{"Id":"sensor-924 & <é> \"quoted\"","Value":924},{"Id":"sensor-925 & <é> \"quoted\"","Value":925},{"Id":"sensor-926 & <é> \"quoted\"","Value":926},{"Id":"sensor-927 & <é> \"quoted\"","Value":927},{"Id":"sensor-928 & <é> \"quoted\"","Value":928},{"Id":"sensor-929 & <é> \"quoted\"","Value":929},{"Id":"sensor-930 & <é> \"quoted\"","Value":930},{"Id":"sensor-931 & <é> \"quoted\"","Value":931},{"Id":"sensor-932 & <é> \"quoted\"","Value":932},{"Id":"sensor-933 & <é> \"quoted\"","Value":933},{"Id":"sensor-934 & <é> \"quoted\"","Value":934},{"Id":"sensor-935 & <é> \"quoted\"","Value":935},{"Id":"sensor-936 & <é> \"quoted\"","Value":936},{"Id":"sensor-937 & <é> \"quoted\"","Value":937},{"Id":"sensor-938 & <é> \"quoted\"","Value":938},{"Id":"sensor-939 & <é> \"quoted\"","Value":939},{"Id":"sensor-940 & <é> \"quoted\"","Value":940},{"Id":"sensor-941 & <é> \"quoted\"","Value":941},{"Id":"sensor-942 & <é> \"quoted\"","Value":942},{"Id":"sensor-943 & <é> \"quoted\"","Value":943},{"Id":"sensor-944 & <é> \"quoted\"","Value":944},{"Id":"sensor-945 & <é> \"quoted\"","Value":945},{"Id":"sensor-946 & <é> \"quoted\"","Value":946},{"Id":"sensor-947 & <é> \"quoted\"","Value":947},{"Id":"sensor-948 & <é> \"quoted\"","Value":948},{"Id":"sensor-949 & <é> \"quoted\"","Value":949},{"Id":"sensor-950 & <é> \"quoted\"","Value":950},{"Id":"sensor-951 & <é> \"quoted\"","Value":951},{"Id":"sensor-952 & <é> \"quoted\"","Value":952},{"Id":"sensor-953 & <é> \"quoted\"","Value":953},{"Id":"sensor-954 & <é> \"quoted\"","Value":954},{"Id":"sensor-955 & <é> \"quoted\"","Value":955},{"Id":"sensor-956 & <é> \"quoted\"","Value":956},{"Id":"sensor-957 & <é> \"quoted\"","Value":957},{"Id":"sensor-958 & <é> \"quoted\"","Value":958},{"Id":"sensor-959 & <é> \"quoted\"","Value":959},{"Id":"sensor-960 & <é> \"quoted\"","Value":960},{"Id":"sensor-961 & <é> \"quoted\"","Value":961},{"Id":"sensor-962 & <é> \"quoted\"","Value":962},{"Id":"sensor-963 & <é> \"quoted\"","Value":963},{"Id":"sensor-964 & <é> \"quoted\"","Value":964},{"Id":"sensor-965 & <é> \"quoted\"","Value":965},{"Id":"sensor-966 & <é> \"quoted\"","Value":966},{"Id":"sensor-967 & <é> \"quoted\"","Value":967},{"Id":"sensor-968 & <é> \"quoted\"","Value":968},{"Id":"sensor-969 & <é> \"quoted\"","Value":969},{"Id":"sensor-970 & <é> \"quoted\"","Value":970},{"Id":"sensor-971 & <é> \"quoted\"","Value":971},{"Id":"sensor-972 & <é> \"quoted\"","Value":972},{"Id":"sensor-973 & <é> \"quoted\"","Value":973},{"Id":"sensor-974 & <é> \"quoted\"","Value":974},{"Id":"sensor-975 & <é> \"quoted\"","Value":975},{"Id":"sensor-976 & <é> \"quoted\"","Value":976},{"Id":"sensor-977 & <é> \"quoted\"","Value":977},{"Id":"sensor-978 & <é> \"quoted\"","Value":978},{"Id":"sensor-979 & <é> \"quoted\"","Value":979},{"Id":"sensor-980 & <é> \"quoted\"","Value":980},{"Id":"sensor-981 & <é> \"quoted\"","Value":981},{"Id":"sensor-982 & <é> \"quoted\"","Value":982},{"Id":"sensor-983 & <é> \"quoted\"","Value":983},{"Id":"sensor-984 & <é> \"quoted\"","Value":984},{"Id":"sensor-985 & <é> \"quoted\"","Value":985},{"Id":"sensor-986 & <é> \"quoted\"","Value":986},{"Id":"sensor-987 & <é> \"quoted\"","Value":987},{"Id":"sensor-988 & <é> \"quoted\"","Value":988},{"Id":"sensor-989 & <é> \"quoted\"","Value":989},{"Id":"sensor-990 & <é> \"quoted\"","Value":990},{"Id":"sensor-991 & <é> \"quoted\"","Value":991},{"Id":"sensor-992 & <é> \"quoted\"","Value":992},{"Id":"sensor-993 & <é> \"quoted\"","Value":993},{"Id":"sensor-994 & <é> \"quoted\"","Value":994},{"Id":"sensor-995 & <é> \"quoted\"","Value":995},{"Id":"sensor-996 & <é> \"quoted\"","Value":996},{"Id":"sensor-997 & <é> \"quoted\"","Value":997},{"Id":"sensor-998 & <é> \"quoted\"","Value":998},{"Id":"sensor-999 & <é> \"quoted\"","Value":999}]} \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_json_typed_adapter-sensor_1.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_json_typed_adapter-sensor_1.json new file mode 100644 index 00000000..b1aceacc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_json_typed_adapter-sensor_1.json @@ -0,0 +1 @@ +{"Sensor":[{"Id":"sensor-0","Value":0}]} \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_json_typed_adapter-sensor_1000.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_json_typed_adapter-sensor_1000.json new file mode 100644 index 00000000..a9c840e6 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-stdlib_json_typed_adapter-sensor_1000.json @@ -0,0 +1 @@ +{"Sensor":[{"Id":"sensor-0","Value":0},{"Id":"sensor-1","Value":1},{"Id":"sensor-2","Value":2},{"Id":"sensor-3","Value":3},{"Id":"sensor-4","Value":4},{"Id":"sensor-5","Value":5},{"Id":"sensor-6","Value":6},{"Id":"sensor-7","Value":7},{"Id":"sensor-8","Value":8},{"Id":"sensor-9","Value":9},{"Id":"sensor-10","Value":10},{"Id":"sensor-11","Value":11},{"Id":"sensor-12","Value":12},{"Id":"sensor-13","Value":13},{"Id":"sensor-14","Value":14},{"Id":"sensor-15","Value":15},{"Id":"sensor-16","Value":16},{"Id":"sensor-17","Value":17},{"Id":"sensor-18","Value":18},{"Id":"sensor-19","Value":19},{"Id":"sensor-20","Value":20},{"Id":"sensor-21","Value":21},{"Id":"sensor-22","Value":22},{"Id":"sensor-23","Value":23},{"Id":"sensor-24","Value":24},{"Id":"sensor-25","Value":25},{"Id":"sensor-26","Value":26},{"Id":"sensor-27","Value":27},{"Id":"sensor-28","Value":28},{"Id":"sensor-29","Value":29},{"Id":"sensor-30","Value":30},{"Id":"sensor-31","Value":31},{"Id":"sensor-32","Value":32},{"Id":"sensor-33","Value":33},{"Id":"sensor-34","Value":34},{"Id":"sensor-35","Value":35},{"Id":"sensor-36","Value":36},{"Id":"sensor-37","Value":37},{"Id":"sensor-38","Value":38},{"Id":"sensor-39","Value":39},{"Id":"sensor-40","Value":40},{"Id":"sensor-41","Value":41},{"Id":"sensor-42","Value":42},{"Id":"sensor-43","Value":43},{"Id":"sensor-44","Value":44},{"Id":"sensor-45","Value":45},{"Id":"sensor-46","Value":46},{"Id":"sensor-47","Value":47},{"Id":"sensor-48","Value":48},{"Id":"sensor-49","Value":49},{"Id":"sensor-50","Value":50},{"Id":"sensor-51","Value":51},{"Id":"sensor-52","Value":52},{"Id":"sensor-53","Value":53},{"Id":"sensor-54","Value":54},{"Id":"sensor-55","Value":55},{"Id":"sensor-56","Value":56},{"Id":"sensor-57","Value":57},{"Id":"sensor-58","Value":58},{"Id":"sensor-59","Value":59},{"Id":"sensor-60","Value":60},{"Id":"sensor-61","Value":61},{"Id":"sensor-62","Value":62},{"Id":"sensor-63","Value":63},{"Id":"sensor-64","Value":64},{"Id":"sensor-65","Value":65},{"Id":"sensor-66","Value":66},{"Id":"sensor-67","Value":67},{"Id":"sensor-68","Value":68},{"Id":"sensor-69","Value":69},{"Id":"sensor-70","Value":70},{"Id":"sensor-71","Value":71},{"Id":"sensor-72","Value":72},{"Id":"sensor-73","Value":73},{"Id":"sensor-74","Value":74},{"Id":"sensor-75","Value":75},{"Id":"sensor-76","Value":76},{"Id":"sensor-77","Value":77},{"Id":"sensor-78","Value":78},{"Id":"sensor-79","Value":79},{"Id":"sensor-80","Value":80},{"Id":"sensor-81","Value":81},{"Id":"sensor-82","Value":82},{"Id":"sensor-83","Value":83},{"Id":"sensor-84","Value":84},{"Id":"sensor-85","Value":85},{"Id":"sensor-86","Value":86},{"Id":"sensor-87","Value":87},{"Id":"sensor-88","Value":88},{"Id":"sensor-89","Value":89},{"Id":"sensor-90","Value":90},{"Id":"sensor-91","Value":91},{"Id":"sensor-92","Value":92},{"Id":"sensor-93","Value":93},{"Id":"sensor-94","Value":94},{"Id":"sensor-95","Value":95},{"Id":"sensor-96","Value":96},{"Id":"sensor-97","Value":97},{"Id":"sensor-98","Value":98},{"Id":"sensor-99","Value":99},{"Id":"sensor-100","Value":100},{"Id":"sensor-101","Value":101},{"Id":"sensor-102","Value":102},{"Id":"sensor-103","Value":103},{"Id":"sensor-104","Value":104},{"Id":"sensor-105","Value":105},{"Id":"sensor-106","Value":106},{"Id":"sensor-107","Value":107},{"Id":"sensor-108","Value":108},{"Id":"sensor-109","Value":109},{"Id":"sensor-110","Value":110},{"Id":"sensor-111","Value":111},{"Id":"sensor-112","Value":112},{"Id":"sensor-113","Value":113},{"Id":"sensor-114","Value":114},{"Id":"sensor-115","Value":115},{"Id":"sensor-116","Value":116},{"Id":"sensor-117","Value":117},{"Id":"sensor-118","Value":118},{"Id":"sensor-119","Value":119},{"Id":"sensor-120","Value":120},{"Id":"sensor-121","Value":121},{"Id":"sensor-122","Value":122},{"Id":"sensor-123","Value":123},{"Id":"sensor-124","Value":124},{"Id":"sensor-125","Value":125},{"Id":"sensor-126","Value":126},{"Id":"sensor-127","Value":127},{"Id":"sensor-128","Value":128},{"Id":"sensor-129","Value":129},{"Id":"sensor-130","Value":130},{"Id":"sensor-131","Value":131},{"Id":"sensor-132","Value":132},{"Id":"sensor-133","Value":133},{"Id":"sensor-134","Value":134},{"Id":"sensor-135","Value":135},{"Id":"sensor-136","Value":136},{"Id":"sensor-137","Value":137},{"Id":"sensor-138","Value":138},{"Id":"sensor-139","Value":139},{"Id":"sensor-140","Value":140},{"Id":"sensor-141","Value":141},{"Id":"sensor-142","Value":142},{"Id":"sensor-143","Value":143},{"Id":"sensor-144","Value":144},{"Id":"sensor-145","Value":145},{"Id":"sensor-146","Value":146},{"Id":"sensor-147","Value":147},{"Id":"sensor-148","Value":148},{"Id":"sensor-149","Value":149},{"Id":"sensor-150","Value":150},{"Id":"sensor-151","Value":151},{"Id":"sensor-152","Value":152},{"Id":"sensor-153","Value":153},{"Id":"sensor-154","Value":154},{"Id":"sensor-155","Value":155},{"Id":"sensor-156","Value":156},{"Id":"sensor-157","Value":157},{"Id":"sensor-158","Value":158},{"Id":"sensor-159","Value":159},{"Id":"sensor-160","Value":160},{"Id":"sensor-161","Value":161},{"Id":"sensor-162","Value":162},{"Id":"sensor-163","Value":163},{"Id":"sensor-164","Value":164},{"Id":"sensor-165","Value":165},{"Id":"sensor-166","Value":166},{"Id":"sensor-167","Value":167},{"Id":"sensor-168","Value":168},{"Id":"sensor-169","Value":169},{"Id":"sensor-170","Value":170},{"Id":"sensor-171","Value":171},{"Id":"sensor-172","Value":172},{"Id":"sensor-173","Value":173},{"Id":"sensor-174","Value":174},{"Id":"sensor-175","Value":175},{"Id":"sensor-176","Value":176},{"Id":"sensor-177","Value":177},{"Id":"sensor-178","Value":178},{"Id":"sensor-179","Value":179},{"Id":"sensor-180","Value":180},{"Id":"sensor-181","Value":181},{"Id":"sensor-182","Value":182},{"Id":"sensor-183","Value":183},{"Id":"sensor-184","Value":184},{"Id":"sensor-185","Value":185},{"Id":"sensor-186","Value":186},{"Id":"sensor-187","Value":187},{"Id":"sensor-188","Value":188},{"Id":"sensor-189","Value":189},{"Id":"sensor-190","Value":190},{"Id":"sensor-191","Value":191},{"Id":"sensor-192","Value":192},{"Id":"sensor-193","Value":193},{"Id":"sensor-194","Value":194},{"Id":"sensor-195","Value":195},{"Id":"sensor-196","Value":196},{"Id":"sensor-197","Value":197},{"Id":"sensor-198","Value":198},{"Id":"sensor-199","Value":199},{"Id":"sensor-200","Value":200},{"Id":"sensor-201","Value":201},{"Id":"sensor-202","Value":202},{"Id":"sensor-203","Value":203},{"Id":"sensor-204","Value":204},{"Id":"sensor-205","Value":205},{"Id":"sensor-206","Value":206},{"Id":"sensor-207","Value":207},{"Id":"sensor-208","Value":208},{"Id":"sensor-209","Value":209},{"Id":"sensor-210","Value":210},{"Id":"sensor-211","Value":211},{"Id":"sensor-212","Value":212},{"Id":"sensor-213","Value":213},{"Id":"sensor-214","Value":214},{"Id":"sensor-215","Value":215},{"Id":"sensor-216","Value":216},{"Id":"sensor-217","Value":217},{"Id":"sensor-218","Value":218},{"Id":"sensor-219","Value":219},{"Id":"sensor-220","Value":220},{"Id":"sensor-221","Value":221},{"Id":"sensor-222","Value":222},{"Id":"sensor-223","Value":223},{"Id":"sensor-224","Value":224},{"Id":"sensor-225","Value":225},{"Id":"sensor-226","Value":226},{"Id":"sensor-227","Value":227},{"Id":"sensor-228","Value":228},{"Id":"sensor-229","Value":229},{"Id":"sensor-230","Value":230},{"Id":"sensor-231","Value":231},{"Id":"sensor-232","Value":232},{"Id":"sensor-233","Value":233},{"Id":"sensor-234","Value":234},{"Id":"sensor-235","Value":235},{"Id":"sensor-236","Value":236},{"Id":"sensor-237","Value":237},{"Id":"sensor-238","Value":238},{"Id":"sensor-239","Value":239},{"Id":"sensor-240","Value":240},{"Id":"sensor-241","Value":241},{"Id":"sensor-242","Value":242},{"Id":"sensor-243","Value":243},{"Id":"sensor-244","Value":244},{"Id":"sensor-245","Value":245},{"Id":"sensor-246","Value":246},{"Id":"sensor-247","Value":247},{"Id":"sensor-248","Value":248},{"Id":"sensor-249","Value":249},{"Id":"sensor-250","Value":250},{"Id":"sensor-251","Value":251},{"Id":"sensor-252","Value":252},{"Id":"sensor-253","Value":253},{"Id":"sensor-254","Value":254},{"Id":"sensor-255","Value":255},{"Id":"sensor-256","Value":256},{"Id":"sensor-257","Value":257},{"Id":"sensor-258","Value":258},{"Id":"sensor-259","Value":259},{"Id":"sensor-260","Value":260},{"Id":"sensor-261","Value":261},{"Id":"sensor-262","Value":262},{"Id":"sensor-263","Value":263},{"Id":"sensor-264","Value":264},{"Id":"sensor-265","Value":265},{"Id":"sensor-266","Value":266},{"Id":"sensor-267","Value":267},{"Id":"sensor-268","Value":268},{"Id":"sensor-269","Value":269},{"Id":"sensor-270","Value":270},{"Id":"sensor-271","Value":271},{"Id":"sensor-272","Value":272},{"Id":"sensor-273","Value":273},{"Id":"sensor-274","Value":274},{"Id":"sensor-275","Value":275},{"Id":"sensor-276","Value":276},{"Id":"sensor-277","Value":277},{"Id":"sensor-278","Value":278},{"Id":"sensor-279","Value":279},{"Id":"sensor-280","Value":280},{"Id":"sensor-281","Value":281},{"Id":"sensor-282","Value":282},{"Id":"sensor-283","Value":283},{"Id":"sensor-284","Value":284},{"Id":"sensor-285","Value":285},{"Id":"sensor-286","Value":286},{"Id":"sensor-287","Value":287},{"Id":"sensor-288","Value":288},{"Id":"sensor-289","Value":289},{"Id":"sensor-290","Value":290},{"Id":"sensor-291","Value":291},{"Id":"sensor-292","Value":292},{"Id":"sensor-293","Value":293},{"Id":"sensor-294","Value":294},{"Id":"sensor-295","Value":295},{"Id":"sensor-296","Value":296},{"Id":"sensor-297","Value":297},{"Id":"sensor-298","Value":298},{"Id":"sensor-299","Value":299},{"Id":"sensor-300","Value":300},{"Id":"sensor-301","Value":301},{"Id":"sensor-302","Value":302},{"Id":"sensor-303","Value":303},{"Id":"sensor-304","Value":304},{"Id":"sensor-305","Value":305},{"Id":"sensor-306","Value":306},{"Id":"sensor-307","Value":307},{"Id":"sensor-308","Value":308},{"Id":"sensor-309","Value":309},{"Id":"sensor-310","Value":310},{"Id":"sensor-311","Value":311},{"Id":"sensor-312","Value":312},{"Id":"sensor-313","Value":313},{"Id":"sensor-314","Value":314},{"Id":"sensor-315","Value":315},{"Id":"sensor-316","Value":316},{"Id":"sensor-317","Value":317},{"Id":"sensor-318","Value":318},{"Id":"sensor-319","Value":319},{"Id":"sensor-320","Value":320},{"Id":"sensor-321","Value":321},{"Id":"sensor-322","Value":322},{"Id":"sensor-323","Value":323},{"Id":"sensor-324","Value":324},{"Id":"sensor-325","Value":325},{"Id":"sensor-326","Value":326},{"Id":"sensor-327","Value":327},{"Id":"sensor-328","Value":328},{"Id":"sensor-329","Value":329},{"Id":"sensor-330","Value":330},{"Id":"sensor-331","Value":331},{"Id":"sensor-332","Value":332},{"Id":"sensor-333","Value":333},{"Id":"sensor-334","Value":334},{"Id":"sensor-335","Value":335},{"Id":"sensor-336","Value":336},{"Id":"sensor-337","Value":337},{"Id":"sensor-338","Value":338},{"Id":"sensor-339","Value":339},{"Id":"sensor-340","Value":340},{"Id":"sensor-341","Value":341},{"Id":"sensor-342","Value":342},{"Id":"sensor-343","Value":343},{"Id":"sensor-344","Value":344},{"Id":"sensor-345","Value":345},{"Id":"sensor-346","Value":346},{"Id":"sensor-347","Value":347},{"Id":"sensor-348","Value":348},{"Id":"sensor-349","Value":349},{"Id":"sensor-350","Value":350},{"Id":"sensor-351","Value":351},{"Id":"sensor-352","Value":352},{"Id":"sensor-353","Value":353},{"Id":"sensor-354","Value":354},{"Id":"sensor-355","Value":355},{"Id":"sensor-356","Value":356},{"Id":"sensor-357","Value":357},{"Id":"sensor-358","Value":358},{"Id":"sensor-359","Value":359},{"Id":"sensor-360","Value":360},{"Id":"sensor-361","Value":361},{"Id":"sensor-362","Value":362},{"Id":"sensor-363","Value":363},{"Id":"sensor-364","Value":364},{"Id":"sensor-365","Value":365},{"Id":"sensor-366","Value":366},{"Id":"sensor-367","Value":367},{"Id":"sensor-368","Value":368},{"Id":"sensor-369","Value":369},{"Id":"sensor-370","Value":370},{"Id":"sensor-371","Value":371},{"Id":"sensor-372","Value":372},{"Id":"sensor-373","Value":373},{"Id":"sensor-374","Value":374},{"Id":"sensor-375","Value":375},{"Id":"sensor-376","Value":376},{"Id":"sensor-377","Value":377},{"Id":"sensor-378","Value":378},{"Id":"sensor-379","Value":379},{"Id":"sensor-380","Value":380},{"Id":"sensor-381","Value":381},{"Id":"sensor-382","Value":382},{"Id":"sensor-383","Value":383},{"Id":"sensor-384","Value":384},{"Id":"sensor-385","Value":385},{"Id":"sensor-386","Value":386},{"Id":"sensor-387","Value":387},{"Id":"sensor-388","Value":388},{"Id":"sensor-389","Value":389},{"Id":"sensor-390","Value":390},{"Id":"sensor-391","Value":391},{"Id":"sensor-392","Value":392},{"Id":"sensor-393","Value":393},{"Id":"sensor-394","Value":394},{"Id":"sensor-395","Value":395},{"Id":"sensor-396","Value":396},{"Id":"sensor-397","Value":397},{"Id":"sensor-398","Value":398},{"Id":"sensor-399","Value":399},{"Id":"sensor-400","Value":400},{"Id":"sensor-401","Value":401},{"Id":"sensor-402","Value":402},{"Id":"sensor-403","Value":403},{"Id":"sensor-404","Value":404},{"Id":"sensor-405","Value":405},{"Id":"sensor-406","Value":406},{"Id":"sensor-407","Value":407},{"Id":"sensor-408","Value":408},{"Id":"sensor-409","Value":409},{"Id":"sensor-410","Value":410},{"Id":"sensor-411","Value":411},{"Id":"sensor-412","Value":412},{"Id":"sensor-413","Value":413},{"Id":"sensor-414","Value":414},{"Id":"sensor-415","Value":415},{"Id":"sensor-416","Value":416},{"Id":"sensor-417","Value":417},{"Id":"sensor-418","Value":418},{"Id":"sensor-419","Value":419},{"Id":"sensor-420","Value":420},{"Id":"sensor-421","Value":421},{"Id":"sensor-422","Value":422},{"Id":"sensor-423","Value":423},{"Id":"sensor-424","Value":424},{"Id":"sensor-425","Value":425},{"Id":"sensor-426","Value":426},{"Id":"sensor-427","Value":427},{"Id":"sensor-428","Value":428},{"Id":"sensor-429","Value":429},{"Id":"sensor-430","Value":430},{"Id":"sensor-431","Value":431},{"Id":"sensor-432","Value":432},{"Id":"sensor-433","Value":433},{"Id":"sensor-434","Value":434},{"Id":"sensor-435","Value":435},{"Id":"sensor-436","Value":436},{"Id":"sensor-437","Value":437},{"Id":"sensor-438","Value":438},{"Id":"sensor-439","Value":439},{"Id":"sensor-440","Value":440},{"Id":"sensor-441","Value":441},{"Id":"sensor-442","Value":442},{"Id":"sensor-443","Value":443},{"Id":"sensor-444","Value":444},{"Id":"sensor-445","Value":445},{"Id":"sensor-446","Value":446},{"Id":"sensor-447","Value":447},{"Id":"sensor-448","Value":448},{"Id":"sensor-449","Value":449},{"Id":"sensor-450","Value":450},{"Id":"sensor-451","Value":451},{"Id":"sensor-452","Value":452},{"Id":"sensor-453","Value":453},{"Id":"sensor-454","Value":454},{"Id":"sensor-455","Value":455},{"Id":"sensor-456","Value":456},{"Id":"sensor-457","Value":457},{"Id":"sensor-458","Value":458},{"Id":"sensor-459","Value":459},{"Id":"sensor-460","Value":460},{"Id":"sensor-461","Value":461},{"Id":"sensor-462","Value":462},{"Id":"sensor-463","Value":463},{"Id":"sensor-464","Value":464},{"Id":"sensor-465","Value":465},{"Id":"sensor-466","Value":466},{"Id":"sensor-467","Value":467},{"Id":"sensor-468","Value":468},{"Id":"sensor-469","Value":469},{"Id":"sensor-470","Value":470},{"Id":"sensor-471","Value":471},{"Id":"sensor-472","Value":472},{"Id":"sensor-473","Value":473},{"Id":"sensor-474","Value":474},{"Id":"sensor-475","Value":475},{"Id":"sensor-476","Value":476},{"Id":"sensor-477","Value":477},{"Id":"sensor-478","Value":478},{"Id":"sensor-479","Value":479},{"Id":"sensor-480","Value":480},{"Id":"sensor-481","Value":481},{"Id":"sensor-482","Value":482},{"Id":"sensor-483","Value":483},{"Id":"sensor-484","Value":484},{"Id":"sensor-485","Value":485},{"Id":"sensor-486","Value":486},{"Id":"sensor-487","Value":487},{"Id":"sensor-488","Value":488},{"Id":"sensor-489","Value":489},{"Id":"sensor-490","Value":490},{"Id":"sensor-491","Value":491},{"Id":"sensor-492","Value":492},{"Id":"sensor-493","Value":493},{"Id":"sensor-494","Value":494},{"Id":"sensor-495","Value":495},{"Id":"sensor-496","Value":496},{"Id":"sensor-497","Value":497},{"Id":"sensor-498","Value":498},{"Id":"sensor-499","Value":499},{"Id":"sensor-500","Value":500},{"Id":"sensor-501","Value":501},{"Id":"sensor-502","Value":502},{"Id":"sensor-503","Value":503},{"Id":"sensor-504","Value":504},{"Id":"sensor-505","Value":505},{"Id":"sensor-506","Value":506},{"Id":"sensor-507","Value":507},{"Id":"sensor-508","Value":508},{"Id":"sensor-509","Value":509},{"Id":"sensor-510","Value":510},{"Id":"sensor-511","Value":511},{"Id":"sensor-512","Value":512},{"Id":"sensor-513","Value":513},{"Id":"sensor-514","Value":514},{"Id":"sensor-515","Value":515},{"Id":"sensor-516","Value":516},{"Id":"sensor-517","Value":517},{"Id":"sensor-518","Value":518},{"Id":"sensor-519","Value":519},{"Id":"sensor-520","Value":520},{"Id":"sensor-521","Value":521},{"Id":"sensor-522","Value":522},{"Id":"sensor-523","Value":523},{"Id":"sensor-524","Value":524},{"Id":"sensor-525","Value":525},{"Id":"sensor-526","Value":526},{"Id":"sensor-527","Value":527},{"Id":"sensor-528","Value":528},{"Id":"sensor-529","Value":529},{"Id":"sensor-530","Value":530},{"Id":"sensor-531","Value":531},{"Id":"sensor-532","Value":532},{"Id":"sensor-533","Value":533},{"Id":"sensor-534","Value":534},{"Id":"sensor-535","Value":535},{"Id":"sensor-536","Value":536},{"Id":"sensor-537","Value":537},{"Id":"sensor-538","Value":538},{"Id":"sensor-539","Value":539},{"Id":"sensor-540","Value":540},{"Id":"sensor-541","Value":541},{"Id":"sensor-542","Value":542},{"Id":"sensor-543","Value":543},{"Id":"sensor-544","Value":544},{"Id":"sensor-545","Value":545},{"Id":"sensor-546","Value":546},{"Id":"sensor-547","Value":547},{"Id":"sensor-548","Value":548},{"Id":"sensor-549","Value":549},{"Id":"sensor-550","Value":550},{"Id":"sensor-551","Value":551},{"Id":"sensor-552","Value":552},{"Id":"sensor-553","Value":553},{"Id":"sensor-554","Value":554},{"Id":"sensor-555","Value":555},{"Id":"sensor-556","Value":556},{"Id":"sensor-557","Value":557},{"Id":"sensor-558","Value":558},{"Id":"sensor-559","Value":559},{"Id":"sensor-560","Value":560},{"Id":"sensor-561","Value":561},{"Id":"sensor-562","Value":562},{"Id":"sensor-563","Value":563},{"Id":"sensor-564","Value":564},{"Id":"sensor-565","Value":565},{"Id":"sensor-566","Value":566},{"Id":"sensor-567","Value":567},{"Id":"sensor-568","Value":568},{"Id":"sensor-569","Value":569},{"Id":"sensor-570","Value":570},{"Id":"sensor-571","Value":571},{"Id":"sensor-572","Value":572},{"Id":"sensor-573","Value":573},{"Id":"sensor-574","Value":574},{"Id":"sensor-575","Value":575},{"Id":"sensor-576","Value":576},{"Id":"sensor-577","Value":577},{"Id":"sensor-578","Value":578},{"Id":"sensor-579","Value":579},{"Id":"sensor-580","Value":580},{"Id":"sensor-581","Value":581},{"Id":"sensor-582","Value":582},{"Id":"sensor-583","Value":583},{"Id":"sensor-584","Value":584},{"Id":"sensor-585","Value":585},{"Id":"sensor-586","Value":586},{"Id":"sensor-587","Value":587},{"Id":"sensor-588","Value":588},{"Id":"sensor-589","Value":589},{"Id":"sensor-590","Value":590},{"Id":"sensor-591","Value":591},{"Id":"sensor-592","Value":592},{"Id":"sensor-593","Value":593},{"Id":"sensor-594","Value":594},{"Id":"sensor-595","Value":595},{"Id":"sensor-596","Value":596},{"Id":"sensor-597","Value":597},{"Id":"sensor-598","Value":598},{"Id":"sensor-599","Value":599},{"Id":"sensor-600","Value":600},{"Id":"sensor-601","Value":601},{"Id":"sensor-602","Value":602},{"Id":"sensor-603","Value":603},{"Id":"sensor-604","Value":604},{"Id":"sensor-605","Value":605},{"Id":"sensor-606","Value":606},{"Id":"sensor-607","Value":607},{"Id":"sensor-608","Value":608},{"Id":"sensor-609","Value":609},{"Id":"sensor-610","Value":610},{"Id":"sensor-611","Value":611},{"Id":"sensor-612","Value":612},{"Id":"sensor-613","Value":613},{"Id":"sensor-614","Value":614},{"Id":"sensor-615","Value":615},{"Id":"sensor-616","Value":616},{"Id":"sensor-617","Value":617},{"Id":"sensor-618","Value":618},{"Id":"sensor-619","Value":619},{"Id":"sensor-620","Value":620},{"Id":"sensor-621","Value":621},{"Id":"sensor-622","Value":622},{"Id":"sensor-623","Value":623},{"Id":"sensor-624","Value":624},{"Id":"sensor-625","Value":625},{"Id":"sensor-626","Value":626},{"Id":"sensor-627","Value":627},{"Id":"sensor-628","Value":628},{"Id":"sensor-629","Value":629},{"Id":"sensor-630","Value":630},{"Id":"sensor-631","Value":631},{"Id":"sensor-632","Value":632},{"Id":"sensor-633","Value":633},{"Id":"sensor-634","Value":634},{"Id":"sensor-635","Value":635},{"Id":"sensor-636","Value":636},{"Id":"sensor-637","Value":637},{"Id":"sensor-638","Value":638},{"Id":"sensor-639","Value":639},{"Id":"sensor-640","Value":640},{"Id":"sensor-641","Value":641},{"Id":"sensor-642","Value":642},{"Id":"sensor-643","Value":643},{"Id":"sensor-644","Value":644},{"Id":"sensor-645","Value":645},{"Id":"sensor-646","Value":646},{"Id":"sensor-647","Value":647},{"Id":"sensor-648","Value":648},{"Id":"sensor-649","Value":649},{"Id":"sensor-650","Value":650},{"Id":"sensor-651","Value":651},{"Id":"sensor-652","Value":652},{"Id":"sensor-653","Value":653},{"Id":"sensor-654","Value":654},{"Id":"sensor-655","Value":655},{"Id":"sensor-656","Value":656},{"Id":"sensor-657","Value":657},{"Id":"sensor-658","Value":658},{"Id":"sensor-659","Value":659},{"Id":"sensor-660","Value":660},{"Id":"sensor-661","Value":661},{"Id":"sensor-662","Value":662},{"Id":"sensor-663","Value":663},{"Id":"sensor-664","Value":664},{"Id":"sensor-665","Value":665},{"Id":"sensor-666","Value":666},{"Id":"sensor-667","Value":667},{"Id":"sensor-668","Value":668},{"Id":"sensor-669","Value":669},{"Id":"sensor-670","Value":670},{"Id":"sensor-671","Value":671},{"Id":"sensor-672","Value":672},{"Id":"sensor-673","Value":673},{"Id":"sensor-674","Value":674},{"Id":"sensor-675","Value":675},{"Id":"sensor-676","Value":676},{"Id":"sensor-677","Value":677},{"Id":"sensor-678","Value":678},{"Id":"sensor-679","Value":679},{"Id":"sensor-680","Value":680},{"Id":"sensor-681","Value":681},{"Id":"sensor-682","Value":682},{"Id":"sensor-683","Value":683},{"Id":"sensor-684","Value":684},{"Id":"sensor-685","Value":685},{"Id":"sensor-686","Value":686},{"Id":"sensor-687","Value":687},{"Id":"sensor-688","Value":688},{"Id":"sensor-689","Value":689},{"Id":"sensor-690","Value":690},{"Id":"sensor-691","Value":691},{"Id":"sensor-692","Value":692},{"Id":"sensor-693","Value":693},{"Id":"sensor-694","Value":694},{"Id":"sensor-695","Value":695},{"Id":"sensor-696","Value":696},{"Id":"sensor-697","Value":697},{"Id":"sensor-698","Value":698},{"Id":"sensor-699","Value":699},{"Id":"sensor-700","Value":700},{"Id":"sensor-701","Value":701},{"Id":"sensor-702","Value":702},{"Id":"sensor-703","Value":703},{"Id":"sensor-704","Value":704},{"Id":"sensor-705","Value":705},{"Id":"sensor-706","Value":706},{"Id":"sensor-707","Value":707},{"Id":"sensor-708","Value":708},{"Id":"sensor-709","Value":709},{"Id":"sensor-710","Value":710},{"Id":"sensor-711","Value":711},{"Id":"sensor-712","Value":712},{"Id":"sensor-713","Value":713},{"Id":"sensor-714","Value":714},{"Id":"sensor-715","Value":715},{"Id":"sensor-716","Value":716},{"Id":"sensor-717","Value":717},{"Id":"sensor-718","Value":718},{"Id":"sensor-719","Value":719},{"Id":"sensor-720","Value":720},{"Id":"sensor-721","Value":721},{"Id":"sensor-722","Value":722},{"Id":"sensor-723","Value":723},{"Id":"sensor-724","Value":724},{"Id":"sensor-725","Value":725},{"Id":"sensor-726","Value":726},{"Id":"sensor-727","Value":727},{"Id":"sensor-728","Value":728},{"Id":"sensor-729","Value":729},{"Id":"sensor-730","Value":730},{"Id":"sensor-731","Value":731},{"Id":"sensor-732","Value":732},{"Id":"sensor-733","Value":733},{"Id":"sensor-734","Value":734},{"Id":"sensor-735","Value":735},{"Id":"sensor-736","Value":736},{"Id":"sensor-737","Value":737},{"Id":"sensor-738","Value":738},{"Id":"sensor-739","Value":739},{"Id":"sensor-740","Value":740},{"Id":"sensor-741","Value":741},{"Id":"sensor-742","Value":742},{"Id":"sensor-743","Value":743},{"Id":"sensor-744","Value":744},{"Id":"sensor-745","Value":745},{"Id":"sensor-746","Value":746},{"Id":"sensor-747","Value":747},{"Id":"sensor-748","Value":748},{"Id":"sensor-749","Value":749},{"Id":"sensor-750","Value":750},{"Id":"sensor-751","Value":751},{"Id":"sensor-752","Value":752},{"Id":"sensor-753","Value":753},{"Id":"sensor-754","Value":754},{"Id":"sensor-755","Value":755},{"Id":"sensor-756","Value":756},{"Id":"sensor-757","Value":757},{"Id":"sensor-758","Value":758},{"Id":"sensor-759","Value":759},{"Id":"sensor-760","Value":760},{"Id":"sensor-761","Value":761},{"Id":"sensor-762","Value":762},{"Id":"sensor-763","Value":763},{"Id":"sensor-764","Value":764},{"Id":"sensor-765","Value":765},{"Id":"sensor-766","Value":766},{"Id":"sensor-767","Value":767},{"Id":"sensor-768","Value":768},{"Id":"sensor-769","Value":769},{"Id":"sensor-770","Value":770},{"Id":"sensor-771","Value":771},{"Id":"sensor-772","Value":772},{"Id":"sensor-773","Value":773},{"Id":"sensor-774","Value":774},{"Id":"sensor-775","Value":775},{"Id":"sensor-776","Value":776},{"Id":"sensor-777","Value":777},{"Id":"sensor-778","Value":778},{"Id":"sensor-779","Value":779},{"Id":"sensor-780","Value":780},{"Id":"sensor-781","Value":781},{"Id":"sensor-782","Value":782},{"Id":"sensor-783","Value":783},{"Id":"sensor-784","Value":784},{"Id":"sensor-785","Value":785},{"Id":"sensor-786","Value":786},{"Id":"sensor-787","Value":787},{"Id":"sensor-788","Value":788},{"Id":"sensor-789","Value":789},{"Id":"sensor-790","Value":790},{"Id":"sensor-791","Value":791},{"Id":"sensor-792","Value":792},{"Id":"sensor-793","Value":793},{"Id":"sensor-794","Value":794},{"Id":"sensor-795","Value":795},{"Id":"sensor-796","Value":796},{"Id":"sensor-797","Value":797},{"Id":"sensor-798","Value":798},{"Id":"sensor-799","Value":799},{"Id":"sensor-800","Value":800},{"Id":"sensor-801","Value":801},{"Id":"sensor-802","Value":802},{"Id":"sensor-803","Value":803},{"Id":"sensor-804","Value":804},{"Id":"sensor-805","Value":805},{"Id":"sensor-806","Value":806},{"Id":"sensor-807","Value":807},{"Id":"sensor-808","Value":808},{"Id":"sensor-809","Value":809},{"Id":"sensor-810","Value":810},{"Id":"sensor-811","Value":811},{"Id":"sensor-812","Value":812},{"Id":"sensor-813","Value":813},{"Id":"sensor-814","Value":814},{"Id":"sensor-815","Value":815},{"Id":"sensor-816","Value":816},{"Id":"sensor-817","Value":817},{"Id":"sensor-818","Value":818},{"Id":"sensor-819","Value":819},{"Id":"sensor-820","Value":820},{"Id":"sensor-821","Value":821},{"Id":"sensor-822","Value":822},{"Id":"sensor-823","Value":823},{"Id":"sensor-824","Value":824},{"Id":"sensor-825","Value":825},{"Id":"sensor-826","Value":826},{"Id":"sensor-827","Value":827},{"Id":"sensor-828","Value":828},{"Id":"sensor-829","Value":829},{"Id":"sensor-830","Value":830},{"Id":"sensor-831","Value":831},{"Id":"sensor-832","Value":832},{"Id":"sensor-833","Value":833},{"Id":"sensor-834","Value":834},{"Id":"sensor-835","Value":835},{"Id":"sensor-836","Value":836},{"Id":"sensor-837","Value":837},{"Id":"sensor-838","Value":838},{"Id":"sensor-839","Value":839},{"Id":"sensor-840","Value":840},{"Id":"sensor-841","Value":841},{"Id":"sensor-842","Value":842},{"Id":"sensor-843","Value":843},{"Id":"sensor-844","Value":844},{"Id":"sensor-845","Value":845},{"Id":"sensor-846","Value":846},{"Id":"sensor-847","Value":847},{"Id":"sensor-848","Value":848},{"Id":"sensor-849","Value":849},{"Id":"sensor-850","Value":850},{"Id":"sensor-851","Value":851},{"Id":"sensor-852","Value":852},{"Id":"sensor-853","Value":853},{"Id":"sensor-854","Value":854},{"Id":"sensor-855","Value":855},{"Id":"sensor-856","Value":856},{"Id":"sensor-857","Value":857},{"Id":"sensor-858","Value":858},{"Id":"sensor-859","Value":859},{"Id":"sensor-860","Value":860},{"Id":"sensor-861","Value":861},{"Id":"sensor-862","Value":862},{"Id":"sensor-863","Value":863},{"Id":"sensor-864","Value":864},{"Id":"sensor-865","Value":865},{"Id":"sensor-866","Value":866},{"Id":"sensor-867","Value":867},{"Id":"sensor-868","Value":868},{"Id":"sensor-869","Value":869},{"Id":"sensor-870","Value":870},{"Id":"sensor-871","Value":871},{"Id":"sensor-872","Value":872},{"Id":"sensor-873","Value":873},{"Id":"sensor-874","Value":874},{"Id":"sensor-875","Value":875},{"Id":"sensor-876","Value":876},{"Id":"sensor-877","Value":877},{"Id":"sensor-878","Value":878},{"Id":"sensor-879","Value":879},{"Id":"sensor-880","Value":880},{"Id":"sensor-881","Value":881},{"Id":"sensor-882","Value":882},{"Id":"sensor-883","Value":883},{"Id":"sensor-884","Value":884},{"Id":"sensor-885","Value":885},{"Id":"sensor-886","Value":886},{"Id":"sensor-887","Value":887},{"Id":"sensor-888","Value":888},{"Id":"sensor-889","Value":889},{"Id":"sensor-890","Value":890},{"Id":"sensor-891","Value":891},{"Id":"sensor-892","Value":892},{"Id":"sensor-893","Value":893},{"Id":"sensor-894","Value":894},{"Id":"sensor-895","Value":895},{"Id":"sensor-896","Value":896},{"Id":"sensor-897","Value":897},{"Id":"sensor-898","Value":898},{"Id":"sensor-899","Value":899},{"Id":"sensor-900","Value":900},{"Id":"sensor-901","Value":901},{"Id":"sensor-902","Value":902},{"Id":"sensor-903","Value":903},{"Id":"sensor-904","Value":904},{"Id":"sensor-905","Value":905},{"Id":"sensor-906","Value":906},{"Id":"sensor-907","Value":907},{"Id":"sensor-908","Value":908},{"Id":"sensor-909","Value":909},{"Id":"sensor-910","Value":910},{"Id":"sensor-911","Value":911},{"Id":"sensor-912","Value":912},{"Id":"sensor-913","Value":913},{"Id":"sensor-914","Value":914},{"Id":"sensor-915","Value":915},{"Id":"sensor-916","Value":916},{"Id":"sensor-917","Value":917},{"Id":"sensor-918","Value":918},{"Id":"sensor-919","Value":919},{"Id":"sensor-920","Value":920},{"Id":"sensor-921","Value":921},{"Id":"sensor-922","Value":922},{"Id":"sensor-923","Value":923},{"Id":"sensor-924","Value":924},{"Id":"sensor-925","Value":925},{"Id":"sensor-926","Value":926},{"Id":"sensor-927","Value":927},{"Id":"sensor-928","Value":928},{"Id":"sensor-929","Value":929},{"Id":"sensor-930","Value":930},{"Id":"sensor-931","Value":931},{"Id":"sensor-932","Value":932},{"Id":"sensor-933","Value":933},{"Id":"sensor-934","Value":934},{"Id":"sensor-935","Value":935},{"Id":"sensor-936","Value":936},{"Id":"sensor-937","Value":937},{"Id":"sensor-938","Value":938},{"Id":"sensor-939","Value":939},{"Id":"sensor-940","Value":940},{"Id":"sensor-941","Value":941},{"Id":"sensor-942","Value":942},{"Id":"sensor-943","Value":943},{"Id":"sensor-944","Value":944},{"Id":"sensor-945","Value":945},{"Id":"sensor-946","Value":946},{"Id":"sensor-947","Value":947},{"Id":"sensor-948","Value":948},{"Id":"sensor-949","Value":949},{"Id":"sensor-950","Value":950},{"Id":"sensor-951","Value":951},{"Id":"sensor-952","Value":952},{"Id":"sensor-953","Value":953},{"Id":"sensor-954","Value":954},{"Id":"sensor-955","Value":955},{"Id":"sensor-956","Value":956},{"Id":"sensor-957","Value":957},{"Id":"sensor-958","Value":958},{"Id":"sensor-959","Value":959},{"Id":"sensor-960","Value":960},{"Id":"sensor-961","Value":961},{"Id":"sensor-962","Value":962},{"Id":"sensor-963","Value":963},{"Id":"sensor-964","Value":964},{"Id":"sensor-965","Value":965},{"Id":"sensor-966","Value":966},{"Id":"sensor-967","Value":967},{"Id":"sensor-968","Value":968},{"Id":"sensor-969","Value":969},{"Id":"sensor-970","Value":970},{"Id":"sensor-971","Value":971},{"Id":"sensor-972","Value":972},{"Id":"sensor-973","Value":973},{"Id":"sensor-974","Value":974},{"Id":"sensor-975","Value":975},{"Id":"sensor-976","Value":976},{"Id":"sensor-977","Value":977},{"Id":"sensor-978","Value":978},{"Id":"sensor-979","Value":979},{"Id":"sensor-980","Value":980},{"Id":"sensor-981","Value":981},{"Id":"sensor-982","Value":982},{"Id":"sensor-983","Value":983},{"Id":"sensor-984","Value":984},{"Id":"sensor-985","Value":985},{"Id":"sensor-986","Value":986},{"Id":"sensor-987","Value":987},{"Id":"sensor-988","Value":988},{"Id":"sensor-989","Value":989},{"Id":"sensor-990","Value":990},{"Id":"sensor-991","Value":991},{"Id":"sensor-992","Value":992},{"Id":"sensor-993","Value":993},{"Id":"sensor-994","Value":994},{"Id":"sensor-995","Value":995},{"Id":"sensor-996","Value":996},{"Id":"sensor-997","Value":997},{"Id":"sensor-998","Value":998},{"Id":"sensor-999","Value":999}]} \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-escaped_1000.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-escaped_1000.json new file mode 100644 index 00000000..24c91104 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-escaped_1000.json @@ -0,0 +1 @@ +{"Sensor": [{"Id": "sensor-0 & <\u00e9> \"quoted\"", "Value": 0}, {"Id": "sensor-1 & <\u00e9> \"quoted\"", "Value": 1}, {"Id": "sensor-2 & <\u00e9> \"quoted\"", "Value": 2}, {"Id": "sensor-3 & <\u00e9> \"quoted\"", "Value": 3}, {"Id": "sensor-4 & <\u00e9> \"quoted\"", "Value": 4}, {"Id": "sensor-5 & <\u00e9> \"quoted\"", "Value": 5}, {"Id": "sensor-6 & <\u00e9> \"quoted\"", "Value": 6}, {"Id": "sensor-7 & <\u00e9> \"quoted\"", "Value": 7}, {"Id": "sensor-8 & <\u00e9> \"quoted\"", "Value": 8}, {"Id": "sensor-9 & <\u00e9> \"quoted\"", "Value": 9}, {"Id": "sensor-10 & <\u00e9> \"quoted\"", "Value": 10}, {"Id": "sensor-11 & <\u00e9> \"quoted\"", "Value": 11}, {"Id": "sensor-12 & <\u00e9> \"quoted\"", "Value": 12}, {"Id": "sensor-13 & <\u00e9> \"quoted\"", "Value": 13}, {"Id": "sensor-14 & <\u00e9> \"quoted\"", "Value": 14}, {"Id": "sensor-15 & <\u00e9> \"quoted\"", "Value": 15}, {"Id": "sensor-16 & <\u00e9> \"quoted\"", "Value": 16}, {"Id": "sensor-17 & <\u00e9> \"quoted\"", "Value": 17}, {"Id": "sensor-18 & <\u00e9> \"quoted\"", "Value": 18}, {"Id": "sensor-19 & <\u00e9> \"quoted\"", "Value": 19}, {"Id": "sensor-20 & <\u00e9> \"quoted\"", "Value": 20}, {"Id": "sensor-21 & <\u00e9> \"quoted\"", "Value": 21}, {"Id": "sensor-22 & <\u00e9> \"quoted\"", "Value": 22}, {"Id": "sensor-23 & <\u00e9> \"quoted\"", "Value": 23}, {"Id": "sensor-24 & <\u00e9> \"quoted\"", "Value": 24}, {"Id": "sensor-25 & <\u00e9> \"quoted\"", "Value": 25}, {"Id": "sensor-26 & <\u00e9> \"quoted\"", "Value": 26}, {"Id": "sensor-27 & <\u00e9> \"quoted\"", "Value": 27}, {"Id": "sensor-28 & <\u00e9> \"quoted\"", "Value": 28}, {"Id": "sensor-29 & <\u00e9> \"quoted\"", "Value": 29}, {"Id": "sensor-30 & <\u00e9> \"quoted\"", "Value": 30}, {"Id": "sensor-31 & <\u00e9> \"quoted\"", "Value": 31}, {"Id": "sensor-32 & <\u00e9> \"quoted\"", "Value": 32}, {"Id": "sensor-33 & <\u00e9> \"quoted\"", "Value": 33}, {"Id": "sensor-34 & <\u00e9> \"quoted\"", "Value": 34}, {"Id": "sensor-35 & <\u00e9> \"quoted\"", "Value": 35}, {"Id": "sensor-36 & <\u00e9> \"quoted\"", "Value": 36}, {"Id": "sensor-37 & <\u00e9> \"quoted\"", "Value": 37}, {"Id": "sensor-38 & <\u00e9> \"quoted\"", "Value": 38}, {"Id": "sensor-39 & <\u00e9> \"quoted\"", "Value": 39}, {"Id": "sensor-40 & <\u00e9> \"quoted\"", "Value": 40}, {"Id": "sensor-41 & <\u00e9> \"quoted\"", "Value": 41}, {"Id": "sensor-42 & <\u00e9> \"quoted\"", "Value": 42}, {"Id": "sensor-43 & <\u00e9> \"quoted\"", "Value": 43}, {"Id": "sensor-44 & <\u00e9> \"quoted\"", "Value": 44}, {"Id": "sensor-45 & <\u00e9> \"quoted\"", "Value": 45}, {"Id": "sensor-46 & <\u00e9> \"quoted\"", "Value": 46}, {"Id": "sensor-47 & <\u00e9> \"quoted\"", "Value": 47}, {"Id": "sensor-48 & <\u00e9> \"quoted\"", "Value": 48}, {"Id": "sensor-49 & <\u00e9> \"quoted\"", "Value": 49}, {"Id": "sensor-50 & <\u00e9> \"quoted\"", "Value": 50}, {"Id": "sensor-51 & <\u00e9> \"quoted\"", "Value": 51}, {"Id": "sensor-52 & <\u00e9> \"quoted\"", "Value": 52}, {"Id": "sensor-53 & <\u00e9> \"quoted\"", "Value": 53}, {"Id": "sensor-54 & <\u00e9> \"quoted\"", "Value": 54}, {"Id": "sensor-55 & <\u00e9> \"quoted\"", "Value": 55}, {"Id": "sensor-56 & <\u00e9> \"quoted\"", "Value": 56}, {"Id": "sensor-57 & <\u00e9> \"quoted\"", "Value": 57}, {"Id": "sensor-58 & <\u00e9> \"quoted\"", "Value": 58}, {"Id": "sensor-59 & <\u00e9> \"quoted\"", "Value": 59}, {"Id": "sensor-60 & <\u00e9> \"quoted\"", "Value": 60}, {"Id": "sensor-61 & <\u00e9> \"quoted\"", "Value": 61}, {"Id": "sensor-62 & <\u00e9> \"quoted\"", "Value": 62}, {"Id": "sensor-63 & <\u00e9> \"quoted\"", "Value": 63}, {"Id": "sensor-64 & <\u00e9> \"quoted\"", "Value": 64}, {"Id": "sensor-65 & <\u00e9> \"quoted\"", "Value": 65}, {"Id": "sensor-66 & <\u00e9> \"quoted\"", "Value": 66}, {"Id": "sensor-67 & <\u00e9> \"quoted\"", "Value": 67}, {"Id": "sensor-68 & <\u00e9> \"quoted\"", "Value": 68}, {"Id": "sensor-69 & <\u00e9> \"quoted\"", "Value": 69}, {"Id": "sensor-70 & <\u00e9> \"quoted\"", "Value": 70}, {"Id": "sensor-71 & <\u00e9> \"quoted\"", "Value": 71}, {"Id": "sensor-72 & <\u00e9> \"quoted\"", "Value": 72}, {"Id": "sensor-73 & <\u00e9> \"quoted\"", "Value": 73}, {"Id": "sensor-74 & <\u00e9> \"quoted\"", "Value": 74}, {"Id": "sensor-75 & <\u00e9> \"quoted\"", "Value": 75}, {"Id": "sensor-76 & <\u00e9> \"quoted\"", "Value": 76}, {"Id": "sensor-77 & <\u00e9> \"quoted\"", "Value": 77}, {"Id": "sensor-78 & <\u00e9> \"quoted\"", "Value": 78}, {"Id": "sensor-79 & <\u00e9> \"quoted\"", "Value": 79}, {"Id": "sensor-80 & <\u00e9> \"quoted\"", "Value": 80}, {"Id": "sensor-81 & <\u00e9> \"quoted\"", "Value": 81}, {"Id": "sensor-82 & <\u00e9> \"quoted\"", "Value": 82}, {"Id": "sensor-83 & <\u00e9> \"quoted\"", "Value": 83}, {"Id": "sensor-84 & <\u00e9> \"quoted\"", "Value": 84}, {"Id": "sensor-85 & <\u00e9> \"quoted\"", "Value": 85}, {"Id": "sensor-86 & <\u00e9> \"quoted\"", "Value": 86}, {"Id": "sensor-87 & <\u00e9> \"quoted\"", "Value": 87}, {"Id": "sensor-88 & <\u00e9> \"quoted\"", "Value": 88}, {"Id": "sensor-89 & <\u00e9> \"quoted\"", "Value": 89}, {"Id": "sensor-90 & <\u00e9> \"quoted\"", "Value": 90}, {"Id": "sensor-91 & <\u00e9> \"quoted\"", "Value": 91}, {"Id": "sensor-92 & <\u00e9> \"quoted\"", "Value": 92}, {"Id": "sensor-93 & <\u00e9> \"quoted\"", "Value": 93}, {"Id": "sensor-94 & <\u00e9> \"quoted\"", "Value": 94}, {"Id": "sensor-95 & <\u00e9> \"quoted\"", "Value": 95}, {"Id": "sensor-96 & <\u00e9> \"quoted\"", "Value": 96}, {"Id": "sensor-97 & <\u00e9> \"quoted\"", "Value": 97}, {"Id": "sensor-98 & <\u00e9> \"quoted\"", "Value": 98}, {"Id": "sensor-99 & <\u00e9> \"quoted\"", "Value": 99}, {"Id": "sensor-100 & <\u00e9> \"quoted\"", "Value": 100}, {"Id": "sensor-101 & <\u00e9> \"quoted\"", "Value": 101}, {"Id": "sensor-102 & <\u00e9> \"quoted\"", "Value": 102}, {"Id": "sensor-103 & <\u00e9> \"quoted\"", "Value": 103}, {"Id": "sensor-104 & <\u00e9> \"quoted\"", "Value": 104}, {"Id": "sensor-105 & <\u00e9> \"quoted\"", "Value": 105}, {"Id": "sensor-106 & <\u00e9> \"quoted\"", "Value": 106}, {"Id": "sensor-107 & <\u00e9> \"quoted\"", "Value": 107}, {"Id": "sensor-108 & <\u00e9> \"quoted\"", "Value": 108}, {"Id": "sensor-109 & <\u00e9> \"quoted\"", "Value": 109}, {"Id": "sensor-110 & <\u00e9> \"quoted\"", "Value": 110}, {"Id": "sensor-111 & <\u00e9> \"quoted\"", "Value": 111}, {"Id": "sensor-112 & <\u00e9> \"quoted\"", "Value": 112}, {"Id": "sensor-113 & <\u00e9> \"quoted\"", "Value": 113}, {"Id": "sensor-114 & <\u00e9> \"quoted\"", "Value": 114}, {"Id": "sensor-115 & <\u00e9> \"quoted\"", "Value": 115}, {"Id": "sensor-116 & <\u00e9> \"quoted\"", "Value": 116}, {"Id": "sensor-117 & <\u00e9> \"quoted\"", "Value": 117}, {"Id": "sensor-118 & <\u00e9> \"quoted\"", "Value": 118}, {"Id": "sensor-119 & <\u00e9> \"quoted\"", "Value": 119}, {"Id": "sensor-120 & <\u00e9> \"quoted\"", "Value": 120}, {"Id": "sensor-121 & <\u00e9> \"quoted\"", "Value": 121}, {"Id": "sensor-122 & <\u00e9> \"quoted\"", "Value": 122}, {"Id": "sensor-123 & <\u00e9> \"quoted\"", "Value": 123}, {"Id": "sensor-124 & <\u00e9> \"quoted\"", "Value": 124}, {"Id": "sensor-125 & <\u00e9> \"quoted\"", "Value": 125}, {"Id": "sensor-126 & <\u00e9> \"quoted\"", "Value": 126}, {"Id": "sensor-127 & <\u00e9> \"quoted\"", "Value": 127}, {"Id": "sensor-128 & <\u00e9> \"quoted\"", "Value": 128}, {"Id": "sensor-129 & <\u00e9> \"quoted\"", "Value": 129}, {"Id": "sensor-130 & <\u00e9> \"quoted\"", "Value": 130}, {"Id": "sensor-131 & <\u00e9> \"quoted\"", "Value": 131}, {"Id": "sensor-132 & <\u00e9> \"quoted\"", "Value": 132}, {"Id": "sensor-133 & <\u00e9> \"quoted\"", "Value": 133}, {"Id": "sensor-134 & <\u00e9> \"quoted\"", "Value": 134}, {"Id": "sensor-135 & <\u00e9> \"quoted\"", "Value": 135}, {"Id": "sensor-136 & <\u00e9> \"quoted\"", "Value": 136}, {"Id": "sensor-137 & <\u00e9> \"quoted\"", "Value": 137}, {"Id": "sensor-138 & <\u00e9> \"quoted\"", "Value": 138}, {"Id": "sensor-139 & <\u00e9> \"quoted\"", "Value": 139}, {"Id": "sensor-140 & <\u00e9> \"quoted\"", "Value": 140}, {"Id": "sensor-141 & <\u00e9> \"quoted\"", "Value": 141}, {"Id": "sensor-142 & <\u00e9> \"quoted\"", "Value": 142}, {"Id": "sensor-143 & <\u00e9> \"quoted\"", "Value": 143}, {"Id": "sensor-144 & <\u00e9> \"quoted\"", "Value": 144}, {"Id": "sensor-145 & <\u00e9> \"quoted\"", "Value": 145}, {"Id": "sensor-146 & <\u00e9> \"quoted\"", "Value": 146}, {"Id": "sensor-147 & <\u00e9> \"quoted\"", "Value": 147}, {"Id": "sensor-148 & <\u00e9> \"quoted\"", "Value": 148}, {"Id": "sensor-149 & <\u00e9> \"quoted\"", "Value": 149}, {"Id": "sensor-150 & <\u00e9> \"quoted\"", "Value": 150}, {"Id": "sensor-151 & <\u00e9> \"quoted\"", "Value": 151}, {"Id": "sensor-152 & <\u00e9> \"quoted\"", "Value": 152}, {"Id": "sensor-153 & <\u00e9> \"quoted\"", "Value": 153}, {"Id": "sensor-154 & <\u00e9> \"quoted\"", "Value": 154}, {"Id": "sensor-155 & <\u00e9> \"quoted\"", "Value": 155}, {"Id": "sensor-156 & <\u00e9> \"quoted\"", "Value": 156}, {"Id": "sensor-157 & <\u00e9> \"quoted\"", "Value": 157}, {"Id": "sensor-158 & <\u00e9> \"quoted\"", "Value": 158}, {"Id": "sensor-159 & <\u00e9> \"quoted\"", "Value": 159}, {"Id": "sensor-160 & <\u00e9> \"quoted\"", "Value": 160}, {"Id": "sensor-161 & <\u00e9> \"quoted\"", "Value": 161}, {"Id": "sensor-162 & <\u00e9> \"quoted\"", "Value": 162}, {"Id": "sensor-163 & <\u00e9> \"quoted\"", "Value": 163}, {"Id": "sensor-164 & <\u00e9> \"quoted\"", "Value": 164}, {"Id": "sensor-165 & <\u00e9> \"quoted\"", "Value": 165}, {"Id": "sensor-166 & <\u00e9> \"quoted\"", "Value": 166}, {"Id": "sensor-167 & <\u00e9> \"quoted\"", "Value": 167}, {"Id": "sensor-168 & <\u00e9> \"quoted\"", "Value": 168}, {"Id": "sensor-169 & <\u00e9> \"quoted\"", "Value": 169}, {"Id": "sensor-170 & <\u00e9> \"quoted\"", "Value": 170}, {"Id": "sensor-171 & <\u00e9> \"quoted\"", "Value": 171}, {"Id": "sensor-172 & <\u00e9> \"quoted\"", "Value": 172}, {"Id": "sensor-173 & <\u00e9> \"quoted\"", "Value": 173}, {"Id": "sensor-174 & <\u00e9> \"quoted\"", "Value": 174}, {"Id": "sensor-175 & <\u00e9> \"quoted\"", "Value": 175}, {"Id": "sensor-176 & <\u00e9> \"quoted\"", "Value": 176}, {"Id": "sensor-177 & <\u00e9> \"quoted\"", "Value": 177}, {"Id": "sensor-178 & <\u00e9> \"quoted\"", "Value": 178}, {"Id": "sensor-179 & <\u00e9> \"quoted\"", "Value": 179}, {"Id": "sensor-180 & <\u00e9> \"quoted\"", "Value": 180}, {"Id": "sensor-181 & <\u00e9> \"quoted\"", "Value": 181}, {"Id": "sensor-182 & <\u00e9> \"quoted\"", "Value": 182}, {"Id": "sensor-183 & <\u00e9> \"quoted\"", "Value": 183}, {"Id": "sensor-184 & <\u00e9> \"quoted\"", "Value": 184}, {"Id": "sensor-185 & <\u00e9> \"quoted\"", "Value": 185}, {"Id": "sensor-186 & <\u00e9> \"quoted\"", "Value": 186}, {"Id": "sensor-187 & <\u00e9> \"quoted\"", "Value": 187}, {"Id": "sensor-188 & <\u00e9> \"quoted\"", "Value": 188}, {"Id": "sensor-189 & <\u00e9> \"quoted\"", "Value": 189}, {"Id": "sensor-190 & <\u00e9> \"quoted\"", "Value": 190}, {"Id": "sensor-191 & <\u00e9> \"quoted\"", "Value": 191}, {"Id": "sensor-192 & <\u00e9> \"quoted\"", "Value": 192}, {"Id": "sensor-193 & <\u00e9> \"quoted\"", "Value": 193}, {"Id": "sensor-194 & <\u00e9> \"quoted\"", "Value": 194}, {"Id": "sensor-195 & <\u00e9> \"quoted\"", "Value": 195}, {"Id": "sensor-196 & <\u00e9> \"quoted\"", "Value": 196}, {"Id": "sensor-197 & <\u00e9> \"quoted\"", "Value": 197}, {"Id": "sensor-198 & <\u00e9> \"quoted\"", "Value": 198}, {"Id": "sensor-199 & <\u00e9> \"quoted\"", "Value": 199}, {"Id": "sensor-200 & <\u00e9> \"quoted\"", "Value": 200}, {"Id": "sensor-201 & <\u00e9> \"quoted\"", "Value": 201}, {"Id": "sensor-202 & <\u00e9> \"quoted\"", "Value": 202}, {"Id": "sensor-203 & <\u00e9> \"quoted\"", "Value": 203}, {"Id": "sensor-204 & <\u00e9> \"quoted\"", "Value": 204}, {"Id": "sensor-205 & <\u00e9> \"quoted\"", "Value": 205}, {"Id": "sensor-206 & <\u00e9> \"quoted\"", "Value": 206}, {"Id": "sensor-207 & <\u00e9> \"quoted\"", "Value": 207}, {"Id": "sensor-208 & <\u00e9> \"quoted\"", "Value": 208}, {"Id": "sensor-209 & <\u00e9> \"quoted\"", "Value": 209}, {"Id": "sensor-210 & <\u00e9> \"quoted\"", "Value": 210}, {"Id": "sensor-211 & <\u00e9> \"quoted\"", "Value": 211}, {"Id": "sensor-212 & <\u00e9> \"quoted\"", "Value": 212}, {"Id": "sensor-213 & <\u00e9> \"quoted\"", "Value": 213}, {"Id": "sensor-214 & <\u00e9> \"quoted\"", "Value": 214}, {"Id": "sensor-215 & <\u00e9> \"quoted\"", "Value": 215}, {"Id": "sensor-216 & <\u00e9> \"quoted\"", "Value": 216}, {"Id": "sensor-217 & <\u00e9> \"quoted\"", "Value": 217}, {"Id": "sensor-218 & <\u00e9> \"quoted\"", "Value": 218}, {"Id": "sensor-219 & <\u00e9> \"quoted\"", "Value": 219}, {"Id": "sensor-220 & <\u00e9> \"quoted\"", "Value": 220}, {"Id": "sensor-221 & <\u00e9> \"quoted\"", "Value": 221}, {"Id": "sensor-222 & <\u00e9> \"quoted\"", "Value": 222}, {"Id": "sensor-223 & <\u00e9> \"quoted\"", "Value": 223}, {"Id": "sensor-224 & <\u00e9> \"quoted\"", "Value": 224}, {"Id": "sensor-225 & <\u00e9> \"quoted\"", "Value": 225}, {"Id": "sensor-226 & <\u00e9> \"quoted\"", "Value": 226}, {"Id": "sensor-227 & <\u00e9> \"quoted\"", "Value": 227}, {"Id": "sensor-228 & <\u00e9> \"quoted\"", "Value": 228}, {"Id": "sensor-229 & <\u00e9> \"quoted\"", "Value": 229}, {"Id": "sensor-230 & <\u00e9> \"quoted\"", "Value": 230}, {"Id": "sensor-231 & <\u00e9> \"quoted\"", "Value": 231}, {"Id": "sensor-232 & <\u00e9> \"quoted\"", "Value": 232}, {"Id": "sensor-233 & <\u00e9> \"quoted\"", "Value": 233}, {"Id": "sensor-234 & <\u00e9> \"quoted\"", "Value": 234}, {"Id": "sensor-235 & <\u00e9> \"quoted\"", "Value": 235}, {"Id": "sensor-236 & <\u00e9> \"quoted\"", "Value": 236}, {"Id": "sensor-237 & <\u00e9> \"quoted\"", "Value": 237}, {"Id": "sensor-238 & <\u00e9> \"quoted\"", "Value": 238}, {"Id": "sensor-239 & <\u00e9> \"quoted\"", "Value": 239}, {"Id": "sensor-240 & <\u00e9> \"quoted\"", "Value": 240}, {"Id": "sensor-241 & <\u00e9> \"quoted\"", "Value": 241}, {"Id": "sensor-242 & <\u00e9> \"quoted\"", "Value": 242}, {"Id": "sensor-243 & <\u00e9> \"quoted\"", "Value": 243}, {"Id": "sensor-244 & <\u00e9> \"quoted\"", "Value": 244}, {"Id": "sensor-245 & <\u00e9> \"quoted\"", "Value": 245}, {"Id": "sensor-246 & <\u00e9> \"quoted\"", "Value": 246}, {"Id": "sensor-247 & <\u00e9> \"quoted\"", "Value": 247}, {"Id": "sensor-248 & <\u00e9> \"quoted\"", "Value": 248}, {"Id": "sensor-249 & <\u00e9> \"quoted\"", "Value": 249}, {"Id": "sensor-250 & <\u00e9> \"quoted\"", "Value": 250}, {"Id": "sensor-251 & <\u00e9> \"quoted\"", "Value": 251}, {"Id": "sensor-252 & <\u00e9> \"quoted\"", "Value": 252}, {"Id": "sensor-253 & <\u00e9> \"quoted\"", "Value": 253}, {"Id": "sensor-254 & <\u00e9> \"quoted\"", "Value": 254}, {"Id": "sensor-255 & <\u00e9> \"quoted\"", "Value": 255}, {"Id": "sensor-256 & <\u00e9> \"quoted\"", "Value": 256}, {"Id": "sensor-257 & <\u00e9> \"quoted\"", "Value": 257}, {"Id": "sensor-258 & <\u00e9> \"quoted\"", "Value": 258}, {"Id": "sensor-259 & <\u00e9> \"quoted\"", "Value": 259}, {"Id": "sensor-260 & <\u00e9> \"quoted\"", "Value": 260}, {"Id": "sensor-261 & <\u00e9> \"quoted\"", "Value": 261}, {"Id": "sensor-262 & <\u00e9> \"quoted\"", "Value": 262}, {"Id": "sensor-263 & <\u00e9> \"quoted\"", "Value": 263}, {"Id": "sensor-264 & <\u00e9> \"quoted\"", "Value": 264}, {"Id": "sensor-265 & <\u00e9> \"quoted\"", "Value": 265}, {"Id": "sensor-266 & <\u00e9> \"quoted\"", "Value": 266}, {"Id": "sensor-267 & <\u00e9> \"quoted\"", "Value": 267}, {"Id": "sensor-268 & <\u00e9> \"quoted\"", "Value": 268}, {"Id": "sensor-269 & <\u00e9> \"quoted\"", "Value": 269}, {"Id": "sensor-270 & <\u00e9> \"quoted\"", "Value": 270}, {"Id": "sensor-271 & <\u00e9> \"quoted\"", "Value": 271}, {"Id": "sensor-272 & <\u00e9> \"quoted\"", "Value": 272}, {"Id": "sensor-273 & <\u00e9> \"quoted\"", "Value": 273}, {"Id": "sensor-274 & <\u00e9> \"quoted\"", "Value": 274}, {"Id": "sensor-275 & <\u00e9> \"quoted\"", "Value": 275}, {"Id": "sensor-276 & <\u00e9> \"quoted\"", "Value": 276}, {"Id": "sensor-277 & <\u00e9> \"quoted\"", "Value": 277}, {"Id": "sensor-278 & <\u00e9> \"quoted\"", "Value": 278}, {"Id": "sensor-279 & <\u00e9> \"quoted\"", "Value": 279}, {"Id": "sensor-280 & <\u00e9> \"quoted\"", "Value": 280}, {"Id": "sensor-281 & <\u00e9> \"quoted\"", "Value": 281}, {"Id": "sensor-282 & <\u00e9> \"quoted\"", "Value": 282}, {"Id": "sensor-283 & <\u00e9> \"quoted\"", "Value": 283}, {"Id": "sensor-284 & <\u00e9> \"quoted\"", "Value": 284}, {"Id": "sensor-285 & <\u00e9> \"quoted\"", "Value": 285}, {"Id": "sensor-286 & <\u00e9> \"quoted\"", "Value": 286}, {"Id": "sensor-287 & <\u00e9> \"quoted\"", "Value": 287}, {"Id": "sensor-288 & <\u00e9> \"quoted\"", "Value": 288}, {"Id": "sensor-289 & <\u00e9> \"quoted\"", "Value": 289}, {"Id": "sensor-290 & <\u00e9> \"quoted\"", "Value": 290}, {"Id": "sensor-291 & <\u00e9> \"quoted\"", "Value": 291}, {"Id": "sensor-292 & <\u00e9> \"quoted\"", "Value": 292}, {"Id": "sensor-293 & <\u00e9> \"quoted\"", "Value": 293}, {"Id": "sensor-294 & <\u00e9> \"quoted\"", "Value": 294}, {"Id": "sensor-295 & <\u00e9> \"quoted\"", "Value": 295}, {"Id": "sensor-296 & <\u00e9> \"quoted\"", "Value": 296}, {"Id": "sensor-297 & <\u00e9> \"quoted\"", "Value": 297}, {"Id": "sensor-298 & <\u00e9> \"quoted\"", "Value": 298}, {"Id": "sensor-299 & <\u00e9> \"quoted\"", "Value": 299}, {"Id": "sensor-300 & <\u00e9> \"quoted\"", "Value": 300}, {"Id": "sensor-301 & <\u00e9> \"quoted\"", "Value": 301}, {"Id": "sensor-302 & <\u00e9> \"quoted\"", "Value": 302}, {"Id": "sensor-303 & <\u00e9> \"quoted\"", "Value": 303}, {"Id": "sensor-304 & <\u00e9> \"quoted\"", "Value": 304}, {"Id": "sensor-305 & <\u00e9> \"quoted\"", "Value": 305}, {"Id": "sensor-306 & <\u00e9> \"quoted\"", "Value": 306}, {"Id": "sensor-307 & <\u00e9> \"quoted\"", "Value": 307}, {"Id": "sensor-308 & <\u00e9> \"quoted\"", "Value": 308}, {"Id": "sensor-309 & <\u00e9> \"quoted\"", "Value": 309}, {"Id": "sensor-310 & <\u00e9> \"quoted\"", "Value": 310}, {"Id": "sensor-311 & <\u00e9> \"quoted\"", "Value": 311}, {"Id": "sensor-312 & <\u00e9> \"quoted\"", "Value": 312}, {"Id": "sensor-313 & <\u00e9> \"quoted\"", "Value": 313}, {"Id": "sensor-314 & <\u00e9> \"quoted\"", "Value": 314}, {"Id": "sensor-315 & <\u00e9> \"quoted\"", "Value": 315}, {"Id": "sensor-316 & <\u00e9> \"quoted\"", "Value": 316}, {"Id": "sensor-317 & <\u00e9> \"quoted\"", "Value": 317}, {"Id": "sensor-318 & <\u00e9> \"quoted\"", "Value": 318}, {"Id": "sensor-319 & <\u00e9> \"quoted\"", "Value": 319}, {"Id": "sensor-320 & <\u00e9> \"quoted\"", "Value": 320}, {"Id": "sensor-321 & <\u00e9> \"quoted\"", "Value": 321}, {"Id": "sensor-322 & <\u00e9> \"quoted\"", "Value": 322}, {"Id": "sensor-323 & <\u00e9> \"quoted\"", "Value": 323}, {"Id": "sensor-324 & <\u00e9> \"quoted\"", "Value": 324}, {"Id": "sensor-325 & <\u00e9> \"quoted\"", "Value": 325}, {"Id": "sensor-326 & <\u00e9> \"quoted\"", "Value": 326}, {"Id": "sensor-327 & <\u00e9> \"quoted\"", "Value": 327}, {"Id": "sensor-328 & <\u00e9> \"quoted\"", "Value": 328}, {"Id": "sensor-329 & <\u00e9> \"quoted\"", "Value": 329}, {"Id": "sensor-330 & <\u00e9> \"quoted\"", "Value": 330}, {"Id": "sensor-331 & <\u00e9> \"quoted\"", "Value": 331}, {"Id": "sensor-332 & <\u00e9> \"quoted\"", "Value": 332}, {"Id": "sensor-333 & <\u00e9> \"quoted\"", "Value": 333}, {"Id": "sensor-334 & <\u00e9> \"quoted\"", "Value": 334}, {"Id": "sensor-335 & <\u00e9> \"quoted\"", "Value": 335}, {"Id": "sensor-336 & <\u00e9> \"quoted\"", "Value": 336}, {"Id": "sensor-337 & <\u00e9> \"quoted\"", "Value": 337}, {"Id": "sensor-338 & <\u00e9> \"quoted\"", "Value": 338}, {"Id": "sensor-339 & <\u00e9> \"quoted\"", "Value": 339}, {"Id": "sensor-340 & <\u00e9> \"quoted\"", "Value": 340}, {"Id": "sensor-341 & <\u00e9> \"quoted\"", "Value": 341}, {"Id": "sensor-342 & <\u00e9> \"quoted\"", "Value": 342}, {"Id": "sensor-343 & <\u00e9> \"quoted\"", "Value": 343}, {"Id": "sensor-344 & <\u00e9> \"quoted\"", "Value": 344}, {"Id": "sensor-345 & <\u00e9> \"quoted\"", "Value": 345}, {"Id": "sensor-346 & <\u00e9> \"quoted\"", "Value": 346}, {"Id": "sensor-347 & <\u00e9> \"quoted\"", "Value": 347}, {"Id": "sensor-348 & <\u00e9> \"quoted\"", "Value": 348}, {"Id": "sensor-349 & <\u00e9> \"quoted\"", "Value": 349}, {"Id": "sensor-350 & <\u00e9> \"quoted\"", "Value": 350}, {"Id": "sensor-351 & <\u00e9> \"quoted\"", "Value": 351}, {"Id": "sensor-352 & <\u00e9> \"quoted\"", "Value": 352}, {"Id": "sensor-353 & <\u00e9> \"quoted\"", "Value": 353}, {"Id": "sensor-354 & <\u00e9> \"quoted\"", "Value": 354}, {"Id": "sensor-355 & <\u00e9> \"quoted\"", "Value": 355}, {"Id": "sensor-356 & <\u00e9> \"quoted\"", "Value": 356}, {"Id": "sensor-357 & <\u00e9> \"quoted\"", "Value": 357}, {"Id": "sensor-358 & <\u00e9> \"quoted\"", "Value": 358}, {"Id": "sensor-359 & <\u00e9> \"quoted\"", "Value": 359}, {"Id": "sensor-360 & <\u00e9> \"quoted\"", "Value": 360}, {"Id": "sensor-361 & <\u00e9> \"quoted\"", "Value": 361}, {"Id": "sensor-362 & <\u00e9> \"quoted\"", "Value": 362}, {"Id": "sensor-363 & <\u00e9> \"quoted\"", "Value": 363}, {"Id": "sensor-364 & <\u00e9> \"quoted\"", "Value": 364}, {"Id": "sensor-365 & <\u00e9> \"quoted\"", "Value": 365}, {"Id": "sensor-366 & <\u00e9> \"quoted\"", "Value": 366}, {"Id": "sensor-367 & <\u00e9> \"quoted\"", "Value": 367}, {"Id": "sensor-368 & <\u00e9> \"quoted\"", "Value": 368}, {"Id": "sensor-369 & <\u00e9> \"quoted\"", "Value": 369}, {"Id": "sensor-370 & <\u00e9> \"quoted\"", "Value": 370}, {"Id": "sensor-371 & <\u00e9> \"quoted\"", "Value": 371}, {"Id": "sensor-372 & <\u00e9> \"quoted\"", "Value": 372}, {"Id": "sensor-373 & <\u00e9> \"quoted\"", "Value": 373}, {"Id": "sensor-374 & <\u00e9> \"quoted\"", "Value": 374}, {"Id": "sensor-375 & <\u00e9> \"quoted\"", "Value": 375}, {"Id": "sensor-376 & <\u00e9> \"quoted\"", "Value": 376}, {"Id": "sensor-377 & <\u00e9> \"quoted\"", "Value": 377}, {"Id": "sensor-378 & <\u00e9> \"quoted\"", "Value": 378}, {"Id": "sensor-379 & <\u00e9> \"quoted\"", "Value": 379}, {"Id": "sensor-380 & <\u00e9> \"quoted\"", "Value": 380}, {"Id": "sensor-381 & <\u00e9> \"quoted\"", "Value": 381}, {"Id": "sensor-382 & <\u00e9> \"quoted\"", "Value": 382}, {"Id": "sensor-383 & <\u00e9> \"quoted\"", "Value": 383}, {"Id": "sensor-384 & <\u00e9> \"quoted\"", "Value": 384}, {"Id": "sensor-385 & <\u00e9> \"quoted\"", "Value": 385}, {"Id": "sensor-386 & <\u00e9> \"quoted\"", "Value": 386}, {"Id": "sensor-387 & <\u00e9> \"quoted\"", "Value": 387}, {"Id": "sensor-388 & <\u00e9> \"quoted\"", "Value": 388}, {"Id": "sensor-389 & <\u00e9> \"quoted\"", "Value": 389}, {"Id": "sensor-390 & <\u00e9> \"quoted\"", "Value": 390}, {"Id": "sensor-391 & <\u00e9> \"quoted\"", "Value": 391}, {"Id": "sensor-392 & <\u00e9> \"quoted\"", "Value": 392}, {"Id": "sensor-393 & <\u00e9> \"quoted\"", "Value": 393}, {"Id": "sensor-394 & <\u00e9> \"quoted\"", "Value": 394}, {"Id": "sensor-395 & <\u00e9> \"quoted\"", "Value": 395}, {"Id": "sensor-396 & <\u00e9> \"quoted\"", "Value": 396}, {"Id": "sensor-397 & <\u00e9> \"quoted\"", "Value": 397}, {"Id": "sensor-398 & <\u00e9> \"quoted\"", "Value": 398}, {"Id": "sensor-399 & <\u00e9> \"quoted\"", "Value": 399}, {"Id": "sensor-400 & <\u00e9> \"quoted\"", "Value": 400}, {"Id": "sensor-401 & <\u00e9> \"quoted\"", "Value": 401}, {"Id": "sensor-402 & <\u00e9> \"quoted\"", "Value": 402}, {"Id": "sensor-403 & <\u00e9> \"quoted\"", "Value": 403}, {"Id": "sensor-404 & <\u00e9> \"quoted\"", "Value": 404}, {"Id": "sensor-405 & <\u00e9> \"quoted\"", "Value": 405}, {"Id": "sensor-406 & <\u00e9> \"quoted\"", "Value": 406}, {"Id": "sensor-407 & <\u00e9> \"quoted\"", "Value": 407}, {"Id": "sensor-408 & <\u00e9> \"quoted\"", "Value": 408}, {"Id": "sensor-409 & <\u00e9> \"quoted\"", "Value": 409}, {"Id": "sensor-410 & <\u00e9> \"quoted\"", "Value": 410}, {"Id": "sensor-411 & <\u00e9> \"quoted\"", "Value": 411}, {"Id": "sensor-412 & <\u00e9> \"quoted\"", "Value": 412}, {"Id": "sensor-413 & <\u00e9> \"quoted\"", "Value": 413}, {"Id": "sensor-414 & <\u00e9> \"quoted\"", "Value": 414}, {"Id": "sensor-415 & <\u00e9> \"quoted\"", "Value": 415}, {"Id": "sensor-416 & <\u00e9> \"quoted\"", "Value": 416}, {"Id": "sensor-417 & <\u00e9> \"quoted\"", "Value": 417}, {"Id": "sensor-418 & <\u00e9> \"quoted\"", "Value": 418}, {"Id": "sensor-419 & <\u00e9> \"quoted\"", "Value": 419}, {"Id": "sensor-420 & <\u00e9> \"quoted\"", "Value": 420}, {"Id": "sensor-421 & <\u00e9> \"quoted\"", "Value": 421}, {"Id": "sensor-422 & <\u00e9> \"quoted\"", "Value": 422}, {"Id": "sensor-423 & <\u00e9> \"quoted\"", "Value": 423}, {"Id": "sensor-424 & <\u00e9> \"quoted\"", "Value": 424}, {"Id": "sensor-425 & <\u00e9> \"quoted\"", "Value": 425}, {"Id": "sensor-426 & <\u00e9> \"quoted\"", "Value": 426}, {"Id": "sensor-427 & <\u00e9> \"quoted\"", "Value": 427}, {"Id": "sensor-428 & <\u00e9> \"quoted\"", "Value": 428}, {"Id": "sensor-429 & <\u00e9> \"quoted\"", "Value": 429}, {"Id": "sensor-430 & <\u00e9> \"quoted\"", "Value": 430}, {"Id": "sensor-431 & <\u00e9> \"quoted\"", "Value": 431}, {"Id": "sensor-432 & <\u00e9> \"quoted\"", "Value": 432}, {"Id": "sensor-433 & <\u00e9> \"quoted\"", "Value": 433}, {"Id": "sensor-434 & <\u00e9> \"quoted\"", "Value": 434}, {"Id": "sensor-435 & <\u00e9> \"quoted\"", "Value": 435}, {"Id": "sensor-436 & <\u00e9> \"quoted\"", "Value": 436}, {"Id": "sensor-437 & <\u00e9> \"quoted\"", "Value": 437}, {"Id": "sensor-438 & <\u00e9> \"quoted\"", "Value": 438}, {"Id": "sensor-439 & <\u00e9> \"quoted\"", "Value": 439}, {"Id": "sensor-440 & <\u00e9> \"quoted\"", "Value": 440}, {"Id": "sensor-441 & <\u00e9> \"quoted\"", "Value": 441}, {"Id": "sensor-442 & <\u00e9> \"quoted\"", "Value": 442}, {"Id": "sensor-443 & <\u00e9> \"quoted\"", "Value": 443}, {"Id": "sensor-444 & <\u00e9> \"quoted\"", "Value": 444}, {"Id": "sensor-445 & <\u00e9> \"quoted\"", "Value": 445}, {"Id": "sensor-446 & <\u00e9> \"quoted\"", "Value": 446}, {"Id": "sensor-447 & <\u00e9> \"quoted\"", "Value": 447}, {"Id": "sensor-448 & <\u00e9> \"quoted\"", "Value": 448}, {"Id": "sensor-449 & <\u00e9> \"quoted\"", "Value": 449}, {"Id": "sensor-450 & <\u00e9> \"quoted\"", "Value": 450}, {"Id": "sensor-451 & <\u00e9> \"quoted\"", "Value": 451}, {"Id": "sensor-452 & <\u00e9> \"quoted\"", "Value": 452}, {"Id": "sensor-453 & <\u00e9> \"quoted\"", "Value": 453}, {"Id": "sensor-454 & <\u00e9> \"quoted\"", "Value": 454}, {"Id": "sensor-455 & <\u00e9> \"quoted\"", "Value": 455}, {"Id": "sensor-456 & <\u00e9> \"quoted\"", "Value": 456}, {"Id": "sensor-457 & <\u00e9> \"quoted\"", "Value": 457}, {"Id": "sensor-458 & <\u00e9> \"quoted\"", "Value": 458}, {"Id": "sensor-459 & <\u00e9> \"quoted\"", "Value": 459}, {"Id": "sensor-460 & <\u00e9> \"quoted\"", "Value": 460}, {"Id": "sensor-461 & <\u00e9> \"quoted\"", "Value": 461}, {"Id": "sensor-462 & <\u00e9> \"quoted\"", "Value": 462}, {"Id": "sensor-463 & <\u00e9> \"quoted\"", "Value": 463}, {"Id": "sensor-464 & <\u00e9> \"quoted\"", "Value": 464}, {"Id": "sensor-465 & <\u00e9> \"quoted\"", "Value": 465}, {"Id": "sensor-466 & <\u00e9> \"quoted\"", "Value": 466}, {"Id": "sensor-467 & <\u00e9> \"quoted\"", "Value": 467}, {"Id": "sensor-468 & <\u00e9> \"quoted\"", "Value": 468}, {"Id": "sensor-469 & <\u00e9> \"quoted\"", "Value": 469}, {"Id": "sensor-470 & <\u00e9> \"quoted\"", "Value": 470}, {"Id": "sensor-471 & <\u00e9> \"quoted\"", "Value": 471}, {"Id": "sensor-472 & <\u00e9> \"quoted\"", "Value": 472}, {"Id": "sensor-473 & <\u00e9> \"quoted\"", "Value": 473}, {"Id": "sensor-474 & <\u00e9> \"quoted\"", "Value": 474}, {"Id": "sensor-475 & <\u00e9> \"quoted\"", "Value": 475}, {"Id": "sensor-476 & <\u00e9> \"quoted\"", "Value": 476}, {"Id": "sensor-477 & <\u00e9> \"quoted\"", "Value": 477}, {"Id": "sensor-478 & <\u00e9> \"quoted\"", "Value": 478}, {"Id": "sensor-479 & <\u00e9> \"quoted\"", "Value": 479}, {"Id": "sensor-480 & <\u00e9> \"quoted\"", "Value": 480}, {"Id": "sensor-481 & <\u00e9> \"quoted\"", "Value": 481}, {"Id": "sensor-482 & <\u00e9> \"quoted\"", "Value": 482}, {"Id": "sensor-483 & <\u00e9> \"quoted\"", "Value": 483}, {"Id": "sensor-484 & <\u00e9> \"quoted\"", "Value": 484}, {"Id": "sensor-485 & <\u00e9> \"quoted\"", "Value": 485}, {"Id": "sensor-486 & <\u00e9> \"quoted\"", "Value": 486}, {"Id": "sensor-487 & <\u00e9> \"quoted\"", "Value": 487}, {"Id": "sensor-488 & <\u00e9> \"quoted\"", "Value": 488}, {"Id": "sensor-489 & <\u00e9> \"quoted\"", "Value": 489}, {"Id": "sensor-490 & <\u00e9> \"quoted\"", "Value": 490}, {"Id": "sensor-491 & <\u00e9> \"quoted\"", "Value": 491}, {"Id": "sensor-492 & <\u00e9> \"quoted\"", "Value": 492}, {"Id": "sensor-493 & <\u00e9> \"quoted\"", "Value": 493}, {"Id": "sensor-494 & <\u00e9> \"quoted\"", "Value": 494}, {"Id": "sensor-495 & <\u00e9> \"quoted\"", "Value": 495}, {"Id": "sensor-496 & <\u00e9> \"quoted\"", "Value": 496}, {"Id": "sensor-497 & <\u00e9> \"quoted\"", "Value": 497}, {"Id": "sensor-498 & <\u00e9> \"quoted\"", "Value": 498}, {"Id": "sensor-499 & <\u00e9> \"quoted\"", "Value": 499}, {"Id": "sensor-500 & <\u00e9> \"quoted\"", "Value": 500}, {"Id": "sensor-501 & <\u00e9> \"quoted\"", "Value": 501}, {"Id": "sensor-502 & <\u00e9> \"quoted\"", "Value": 502}, {"Id": "sensor-503 & <\u00e9> \"quoted\"", "Value": 503}, {"Id": "sensor-504 & <\u00e9> \"quoted\"", "Value": 504}, {"Id": "sensor-505 & <\u00e9> \"quoted\"", "Value": 505}, {"Id": "sensor-506 & <\u00e9> \"quoted\"", "Value": 506}, {"Id": "sensor-507 & <\u00e9> \"quoted\"", "Value": 507}, {"Id": "sensor-508 & <\u00e9> \"quoted\"", "Value": 508}, {"Id": "sensor-509 & <\u00e9> \"quoted\"", "Value": 509}, {"Id": "sensor-510 & <\u00e9> \"quoted\"", "Value": 510}, {"Id": "sensor-511 & <\u00e9> \"quoted\"", "Value": 511}, {"Id": "sensor-512 & <\u00e9> \"quoted\"", "Value": 512}, {"Id": "sensor-513 & <\u00e9> \"quoted\"", "Value": 513}, {"Id": "sensor-514 & <\u00e9> \"quoted\"", "Value": 514}, {"Id": "sensor-515 & <\u00e9> \"quoted\"", "Value": 515}, {"Id": "sensor-516 & <\u00e9> \"quoted\"", "Value": 516}, {"Id": "sensor-517 & <\u00e9> \"quoted\"", "Value": 517}, {"Id": "sensor-518 & <\u00e9> \"quoted\"", "Value": 518}, {"Id": "sensor-519 & <\u00e9> \"quoted\"", "Value": 519}, {"Id": "sensor-520 & <\u00e9> \"quoted\"", "Value": 520}, {"Id": "sensor-521 & <\u00e9> \"quoted\"", "Value": 521}, {"Id": "sensor-522 & <\u00e9> \"quoted\"", "Value": 522}, {"Id": "sensor-523 & <\u00e9> \"quoted\"", "Value": 523}, {"Id": "sensor-524 & <\u00e9> \"quoted\"", "Value": 524}, {"Id": "sensor-525 & <\u00e9> \"quoted\"", "Value": 525}, {"Id": "sensor-526 & <\u00e9> \"quoted\"", "Value": 526}, {"Id": "sensor-527 & <\u00e9> \"quoted\"", "Value": 527}, {"Id": "sensor-528 & <\u00e9> \"quoted\"", "Value": 528}, {"Id": "sensor-529 & <\u00e9> \"quoted\"", "Value": 529}, {"Id": "sensor-530 & <\u00e9> \"quoted\"", "Value": 530}, {"Id": "sensor-531 & <\u00e9> \"quoted\"", "Value": 531}, {"Id": "sensor-532 & <\u00e9> \"quoted\"", "Value": 532}, {"Id": "sensor-533 & <\u00e9> \"quoted\"", "Value": 533}, {"Id": "sensor-534 & <\u00e9> \"quoted\"", "Value": 534}, {"Id": "sensor-535 & <\u00e9> \"quoted\"", "Value": 535}, {"Id": "sensor-536 & <\u00e9> \"quoted\"", "Value": 536}, {"Id": "sensor-537 & <\u00e9> \"quoted\"", "Value": 537}, {"Id": "sensor-538 & <\u00e9> \"quoted\"", "Value": 538}, {"Id": "sensor-539 & <\u00e9> \"quoted\"", "Value": 539}, {"Id": "sensor-540 & <\u00e9> \"quoted\"", "Value": 540}, {"Id": "sensor-541 & <\u00e9> \"quoted\"", "Value": 541}, {"Id": "sensor-542 & <\u00e9> \"quoted\"", "Value": 542}, {"Id": "sensor-543 & <\u00e9> \"quoted\"", "Value": 543}, {"Id": "sensor-544 & <\u00e9> \"quoted\"", "Value": 544}, {"Id": "sensor-545 & <\u00e9> \"quoted\"", "Value": 545}, {"Id": "sensor-546 & <\u00e9> \"quoted\"", "Value": 546}, {"Id": "sensor-547 & <\u00e9> \"quoted\"", "Value": 547}, {"Id": "sensor-548 & <\u00e9> \"quoted\"", "Value": 548}, {"Id": "sensor-549 & <\u00e9> \"quoted\"", "Value": 549}, {"Id": "sensor-550 & <\u00e9> \"quoted\"", "Value": 550}, {"Id": "sensor-551 & <\u00e9> \"quoted\"", "Value": 551}, {"Id": "sensor-552 & <\u00e9> \"quoted\"", "Value": 552}, {"Id": "sensor-553 & <\u00e9> \"quoted\"", "Value": 553}, {"Id": "sensor-554 & <\u00e9> \"quoted\"", "Value": 554}, {"Id": "sensor-555 & <\u00e9> \"quoted\"", "Value": 555}, {"Id": "sensor-556 & <\u00e9> \"quoted\"", "Value": 556}, {"Id": "sensor-557 & <\u00e9> \"quoted\"", "Value": 557}, {"Id": "sensor-558 & <\u00e9> \"quoted\"", "Value": 558}, {"Id": "sensor-559 & <\u00e9> \"quoted\"", "Value": 559}, {"Id": "sensor-560 & <\u00e9> \"quoted\"", "Value": 560}, {"Id": "sensor-561 & <\u00e9> \"quoted\"", "Value": 561}, {"Id": "sensor-562 & <\u00e9> \"quoted\"", "Value": 562}, {"Id": "sensor-563 & <\u00e9> \"quoted\"", "Value": 563}, {"Id": "sensor-564 & <\u00e9> \"quoted\"", "Value": 564}, {"Id": "sensor-565 & <\u00e9> \"quoted\"", "Value": 565}, {"Id": "sensor-566 & <\u00e9> \"quoted\"", "Value": 566}, {"Id": "sensor-567 & <\u00e9> \"quoted\"", "Value": 567}, {"Id": "sensor-568 & <\u00e9> \"quoted\"", "Value": 568}, {"Id": "sensor-569 & <\u00e9> \"quoted\"", "Value": 569}, {"Id": "sensor-570 & <\u00e9> \"quoted\"", "Value": 570}, {"Id": "sensor-571 & <\u00e9> \"quoted\"", "Value": 571}, {"Id": "sensor-572 & <\u00e9> \"quoted\"", "Value": 572}, {"Id": "sensor-573 & <\u00e9> \"quoted\"", "Value": 573}, {"Id": "sensor-574 & <\u00e9> \"quoted\"", "Value": 574}, {"Id": "sensor-575 & <\u00e9> \"quoted\"", "Value": 575}, {"Id": "sensor-576 & <\u00e9> \"quoted\"", "Value": 576}, {"Id": "sensor-577 & <\u00e9> \"quoted\"", "Value": 577}, {"Id": "sensor-578 & <\u00e9> \"quoted\"", "Value": 578}, {"Id": "sensor-579 & <\u00e9> \"quoted\"", "Value": 579}, {"Id": "sensor-580 & <\u00e9> \"quoted\"", "Value": 580}, {"Id": "sensor-581 & <\u00e9> \"quoted\"", "Value": 581}, {"Id": "sensor-582 & <\u00e9> \"quoted\"", "Value": 582}, {"Id": "sensor-583 & <\u00e9> \"quoted\"", "Value": 583}, {"Id": "sensor-584 & <\u00e9> \"quoted\"", "Value": 584}, {"Id": "sensor-585 & <\u00e9> \"quoted\"", "Value": 585}, {"Id": "sensor-586 & <\u00e9> \"quoted\"", "Value": 586}, {"Id": "sensor-587 & <\u00e9> \"quoted\"", "Value": 587}, {"Id": "sensor-588 & <\u00e9> \"quoted\"", "Value": 588}, {"Id": "sensor-589 & <\u00e9> \"quoted\"", "Value": 589}, {"Id": "sensor-590 & <\u00e9> \"quoted\"", "Value": 590}, {"Id": "sensor-591 & <\u00e9> \"quoted\"", "Value": 591}, {"Id": "sensor-592 & <\u00e9> \"quoted\"", "Value": 592}, {"Id": "sensor-593 & <\u00e9> \"quoted\"", "Value": 593}, {"Id": "sensor-594 & <\u00e9> \"quoted\"", "Value": 594}, {"Id": "sensor-595 & <\u00e9> \"quoted\"", "Value": 595}, {"Id": "sensor-596 & <\u00e9> \"quoted\"", "Value": 596}, {"Id": "sensor-597 & <\u00e9> \"quoted\"", "Value": 597}, {"Id": "sensor-598 & <\u00e9> \"quoted\"", "Value": 598}, {"Id": "sensor-599 & <\u00e9> \"quoted\"", "Value": 599}, {"Id": "sensor-600 & <\u00e9> \"quoted\"", "Value": 600}, {"Id": "sensor-601 & <\u00e9> \"quoted\"", "Value": 601}, {"Id": "sensor-602 & <\u00e9> \"quoted\"", "Value": 602}, {"Id": "sensor-603 & <\u00e9> \"quoted\"", "Value": 603}, {"Id": "sensor-604 & <\u00e9> \"quoted\"", "Value": 604}, {"Id": "sensor-605 & <\u00e9> \"quoted\"", "Value": 605}, {"Id": "sensor-606 & <\u00e9> \"quoted\"", "Value": 606}, {"Id": "sensor-607 & <\u00e9> \"quoted\"", "Value": 607}, {"Id": "sensor-608 & <\u00e9> \"quoted\"", "Value": 608}, {"Id": "sensor-609 & <\u00e9> \"quoted\"", "Value": 609}, {"Id": "sensor-610 & <\u00e9> \"quoted\"", "Value": 610}, {"Id": "sensor-611 & <\u00e9> \"quoted\"", "Value": 611}, {"Id": "sensor-612 & <\u00e9> \"quoted\"", "Value": 612}, {"Id": "sensor-613 & <\u00e9> \"quoted\"", "Value": 613}, {"Id": "sensor-614 & <\u00e9> \"quoted\"", "Value": 614}, {"Id": "sensor-615 & <\u00e9> \"quoted\"", "Value": 615}, {"Id": "sensor-616 & <\u00e9> \"quoted\"", "Value": 616}, {"Id": "sensor-617 & <\u00e9> \"quoted\"", "Value": 617}, {"Id": "sensor-618 & <\u00e9> \"quoted\"", "Value": 618}, {"Id": "sensor-619 & <\u00e9> \"quoted\"", "Value": 619}, {"Id": "sensor-620 & <\u00e9> \"quoted\"", "Value": 620}, {"Id": "sensor-621 & <\u00e9> \"quoted\"", "Value": 621}, {"Id": "sensor-622 & <\u00e9> \"quoted\"", "Value": 622}, {"Id": "sensor-623 & <\u00e9> \"quoted\"", "Value": 623}, {"Id": "sensor-624 & <\u00e9> \"quoted\"", "Value": 624}, {"Id": "sensor-625 & <\u00e9> \"quoted\"", "Value": 625}, {"Id": "sensor-626 & <\u00e9> \"quoted\"", "Value": 626}, {"Id": "sensor-627 & <\u00e9> \"quoted\"", "Value": 627}, {"Id": "sensor-628 & <\u00e9> \"quoted\"", "Value": 628}, {"Id": "sensor-629 & <\u00e9> \"quoted\"", "Value": 629}, {"Id": "sensor-630 & <\u00e9> \"quoted\"", "Value": 630}, {"Id": "sensor-631 & <\u00e9> \"quoted\"", "Value": 631}, {"Id": "sensor-632 & <\u00e9> \"quoted\"", "Value": 632}, {"Id": "sensor-633 & <\u00e9> \"quoted\"", "Value": 633}, {"Id": "sensor-634 & <\u00e9> \"quoted\"", "Value": 634}, {"Id": "sensor-635 & <\u00e9> \"quoted\"", "Value": 635}, {"Id": "sensor-636 & <\u00e9> \"quoted\"", "Value": 636}, {"Id": "sensor-637 & <\u00e9> \"quoted\"", "Value": 637}, {"Id": "sensor-638 & <\u00e9> \"quoted\"", "Value": 638}, {"Id": "sensor-639 & <\u00e9> \"quoted\"", "Value": 639}, {"Id": "sensor-640 & <\u00e9> \"quoted\"", "Value": 640}, {"Id": "sensor-641 & <\u00e9> \"quoted\"", "Value": 641}, {"Id": "sensor-642 & <\u00e9> \"quoted\"", "Value": 642}, {"Id": "sensor-643 & <\u00e9> \"quoted\"", "Value": 643}, {"Id": "sensor-644 & <\u00e9> \"quoted\"", "Value": 644}, {"Id": "sensor-645 & <\u00e9> \"quoted\"", "Value": 645}, {"Id": "sensor-646 & <\u00e9> \"quoted\"", "Value": 646}, {"Id": "sensor-647 & <\u00e9> \"quoted\"", "Value": 647}, {"Id": "sensor-648 & <\u00e9> \"quoted\"", "Value": 648}, {"Id": "sensor-649 & <\u00e9> \"quoted\"", "Value": 649}, {"Id": "sensor-650 & <\u00e9> \"quoted\"", "Value": 650}, {"Id": "sensor-651 & <\u00e9> \"quoted\"", "Value": 651}, {"Id": "sensor-652 & <\u00e9> \"quoted\"", "Value": 652}, {"Id": "sensor-653 & <\u00e9> \"quoted\"", "Value": 653}, {"Id": "sensor-654 & <\u00e9> \"quoted\"", "Value": 654}, {"Id": "sensor-655 & <\u00e9> \"quoted\"", "Value": 655}, {"Id": "sensor-656 & <\u00e9> \"quoted\"", "Value": 656}, {"Id": "sensor-657 & <\u00e9> \"quoted\"", "Value": 657}, {"Id": "sensor-658 & <\u00e9> \"quoted\"", "Value": 658}, {"Id": "sensor-659 & <\u00e9> \"quoted\"", "Value": 659}, {"Id": "sensor-660 & <\u00e9> \"quoted\"", "Value": 660}, {"Id": "sensor-661 & <\u00e9> \"quoted\"", "Value": 661}, {"Id": "sensor-662 & <\u00e9> \"quoted\"", "Value": 662}, {"Id": "sensor-663 & <\u00e9> \"quoted\"", "Value": 663}, {"Id": "sensor-664 & <\u00e9> \"quoted\"", "Value": 664}, {"Id": "sensor-665 & <\u00e9> \"quoted\"", "Value": 665}, {"Id": "sensor-666 & <\u00e9> \"quoted\"", "Value": 666}, {"Id": "sensor-667 & <\u00e9> \"quoted\"", "Value": 667}, {"Id": "sensor-668 & <\u00e9> \"quoted\"", "Value": 668}, {"Id": "sensor-669 & <\u00e9> \"quoted\"", "Value": 669}, {"Id": "sensor-670 & <\u00e9> \"quoted\"", "Value": 670}, {"Id": "sensor-671 & <\u00e9> \"quoted\"", "Value": 671}, {"Id": "sensor-672 & <\u00e9> \"quoted\"", "Value": 672}, {"Id": "sensor-673 & <\u00e9> \"quoted\"", "Value": 673}, {"Id": "sensor-674 & <\u00e9> \"quoted\"", "Value": 674}, {"Id": "sensor-675 & <\u00e9> \"quoted\"", "Value": 675}, {"Id": "sensor-676 & <\u00e9> \"quoted\"", "Value": 676}, {"Id": "sensor-677 & <\u00e9> \"quoted\"", "Value": 677}, {"Id": "sensor-678 & <\u00e9> \"quoted\"", "Value": 678}, {"Id": "sensor-679 & <\u00e9> \"quoted\"", "Value": 679}, {"Id": "sensor-680 & <\u00e9> \"quoted\"", "Value": 680}, {"Id": "sensor-681 & <\u00e9> \"quoted\"", "Value": 681}, {"Id": "sensor-682 & <\u00e9> \"quoted\"", "Value": 682}, {"Id": "sensor-683 & <\u00e9> \"quoted\"", "Value": 683}, {"Id": "sensor-684 & <\u00e9> \"quoted\"", "Value": 684}, {"Id": "sensor-685 & <\u00e9> \"quoted\"", "Value": 685}, {"Id": "sensor-686 & <\u00e9> \"quoted\"", "Value": 686}, {"Id": "sensor-687 & <\u00e9> \"quoted\"", "Value": 687}, {"Id": "sensor-688 & <\u00e9> \"quoted\"", "Value": 688}, {"Id": "sensor-689 & <\u00e9> \"quoted\"", "Value": 689}, {"Id": "sensor-690 & <\u00e9> \"quoted\"", "Value": 690}, {"Id": "sensor-691 & <\u00e9> \"quoted\"", "Value": 691}, {"Id": "sensor-692 & <\u00e9> \"quoted\"", "Value": 692}, {"Id": "sensor-693 & <\u00e9> \"quoted\"", "Value": 693}, {"Id": "sensor-694 & <\u00e9> \"quoted\"", "Value": 694}, {"Id": "sensor-695 & <\u00e9> \"quoted\"", "Value": 695}, {"Id": "sensor-696 & <\u00e9> \"quoted\"", "Value": 696}, {"Id": "sensor-697 & <\u00e9> \"quoted\"", "Value": 697}, {"Id": "sensor-698 & <\u00e9> \"quoted\"", "Value": 698}, {"Id": "sensor-699 & <\u00e9> \"quoted\"", "Value": 699}, {"Id": "sensor-700 & <\u00e9> \"quoted\"", "Value": 700}, {"Id": "sensor-701 & <\u00e9> \"quoted\"", "Value": 701}, {"Id": "sensor-702 & <\u00e9> \"quoted\"", "Value": 702}, {"Id": "sensor-703 & <\u00e9> \"quoted\"", "Value": 703}, {"Id": "sensor-704 & <\u00e9> \"quoted\"", "Value": 704}, {"Id": "sensor-705 & <\u00e9> \"quoted\"", "Value": 705}, {"Id": "sensor-706 & <\u00e9> \"quoted\"", "Value": 706}, {"Id": "sensor-707 & <\u00e9> \"quoted\"", "Value": 707}, {"Id": "sensor-708 & <\u00e9> \"quoted\"", "Value": 708}, {"Id": "sensor-709 & <\u00e9> \"quoted\"", "Value": 709}, {"Id": "sensor-710 & <\u00e9> \"quoted\"", "Value": 710}, {"Id": "sensor-711 & <\u00e9> \"quoted\"", "Value": 711}, {"Id": "sensor-712 & <\u00e9> \"quoted\"", "Value": 712}, {"Id": "sensor-713 & <\u00e9> \"quoted\"", "Value": 713}, {"Id": "sensor-714 & <\u00e9> \"quoted\"", "Value": 714}, {"Id": "sensor-715 & <\u00e9> \"quoted\"", "Value": 715}, {"Id": "sensor-716 & <\u00e9> \"quoted\"", "Value": 716}, {"Id": "sensor-717 & <\u00e9> \"quoted\"", "Value": 717}, {"Id": "sensor-718 & <\u00e9> \"quoted\"", "Value": 718}, {"Id": "sensor-719 & <\u00e9> \"quoted\"", "Value": 719}, {"Id": "sensor-720 & <\u00e9> \"quoted\"", "Value": 720}, {"Id": "sensor-721 & <\u00e9> \"quoted\"", "Value": 721}, {"Id": "sensor-722 & <\u00e9> \"quoted\"", "Value": 722}, {"Id": "sensor-723 & <\u00e9> \"quoted\"", "Value": 723}, {"Id": "sensor-724 & <\u00e9> \"quoted\"", "Value": 724}, {"Id": "sensor-725 & <\u00e9> \"quoted\"", "Value": 725}, {"Id": "sensor-726 & <\u00e9> \"quoted\"", "Value": 726}, {"Id": "sensor-727 & <\u00e9> \"quoted\"", "Value": 727}, {"Id": "sensor-728 & <\u00e9> \"quoted\"", "Value": 728}, {"Id": "sensor-729 & <\u00e9> \"quoted\"", "Value": 729}, {"Id": "sensor-730 & <\u00e9> \"quoted\"", "Value": 730}, {"Id": "sensor-731 & <\u00e9> \"quoted\"", "Value": 731}, {"Id": "sensor-732 & <\u00e9> \"quoted\"", "Value": 732}, {"Id": "sensor-733 & <\u00e9> \"quoted\"", "Value": 733}, {"Id": "sensor-734 & <\u00e9> \"quoted\"", "Value": 734}, {"Id": "sensor-735 & <\u00e9> \"quoted\"", "Value": 735}, {"Id": "sensor-736 & <\u00e9> \"quoted\"", "Value": 736}, {"Id": "sensor-737 & <\u00e9> \"quoted\"", "Value": 737}, {"Id": "sensor-738 & <\u00e9> \"quoted\"", "Value": 738}, {"Id": "sensor-739 & <\u00e9> \"quoted\"", "Value": 739}, {"Id": "sensor-740 & <\u00e9> \"quoted\"", "Value": 740}, {"Id": "sensor-741 & <\u00e9> \"quoted\"", "Value": 741}, {"Id": "sensor-742 & <\u00e9> \"quoted\"", "Value": 742}, {"Id": "sensor-743 & <\u00e9> \"quoted\"", "Value": 743}, {"Id": "sensor-744 & <\u00e9> \"quoted\"", "Value": 744}, {"Id": "sensor-745 & <\u00e9> \"quoted\"", "Value": 745}, {"Id": "sensor-746 & <\u00e9> \"quoted\"", "Value": 746}, {"Id": "sensor-747 & <\u00e9> \"quoted\"", "Value": 747}, {"Id": "sensor-748 & <\u00e9> \"quoted\"", "Value": 748}, {"Id": "sensor-749 & <\u00e9> \"quoted\"", "Value": 749}, {"Id": "sensor-750 & <\u00e9> \"quoted\"", "Value": 750}, {"Id": "sensor-751 & <\u00e9> \"quoted\"", "Value": 751}, {"Id": "sensor-752 & <\u00e9> \"quoted\"", "Value": 752}, {"Id": "sensor-753 & <\u00e9> \"quoted\"", "Value": 753}, {"Id": "sensor-754 & <\u00e9> \"quoted\"", "Value": 754}, {"Id": "sensor-755 & <\u00e9> \"quoted\"", "Value": 755}, {"Id": "sensor-756 & <\u00e9> \"quoted\"", "Value": 756}, {"Id": "sensor-757 & <\u00e9> \"quoted\"", "Value": 757}, {"Id": "sensor-758 & <\u00e9> \"quoted\"", "Value": 758}, {"Id": "sensor-759 & <\u00e9> \"quoted\"", "Value": 759}, {"Id": "sensor-760 & <\u00e9> \"quoted\"", "Value": 760}, {"Id": "sensor-761 & <\u00e9> \"quoted\"", "Value": 761}, {"Id": "sensor-762 & <\u00e9> \"quoted\"", "Value": 762}, {"Id": "sensor-763 & <\u00e9> \"quoted\"", "Value": 763}, {"Id": "sensor-764 & <\u00e9> \"quoted\"", "Value": 764}, {"Id": "sensor-765 & <\u00e9> \"quoted\"", "Value": 765}, {"Id": "sensor-766 & <\u00e9> \"quoted\"", "Value": 766}, {"Id": "sensor-767 & <\u00e9> \"quoted\"", "Value": 767}, {"Id": "sensor-768 & <\u00e9> \"quoted\"", "Value": 768}, {"Id": "sensor-769 & <\u00e9> \"quoted\"", "Value": 769}, {"Id": "sensor-770 & <\u00e9> \"quoted\"", "Value": 770}, {"Id": "sensor-771 & <\u00e9> \"quoted\"", "Value": 771}, {"Id": "sensor-772 & <\u00e9> \"quoted\"", "Value": 772}, {"Id": "sensor-773 & <\u00e9> \"quoted\"", "Value": 773}, {"Id": "sensor-774 & <\u00e9> \"quoted\"", "Value": 774}, {"Id": "sensor-775 & <\u00e9> \"quoted\"", "Value": 775}, {"Id": "sensor-776 & <\u00e9> \"quoted\"", "Value": 776}, {"Id": "sensor-777 & <\u00e9> \"quoted\"", "Value": 777}, {"Id": "sensor-778 & <\u00e9> \"quoted\"", "Value": 778}, {"Id": "sensor-779 & <\u00e9> \"quoted\"", "Value": 779}, {"Id": "sensor-780 & <\u00e9> \"quoted\"", "Value": 780}, {"Id": "sensor-781 & <\u00e9> \"quoted\"", "Value": 781}, {"Id": "sensor-782 & <\u00e9> \"quoted\"", "Value": 782}, {"Id": "sensor-783 & <\u00e9> \"quoted\"", "Value": 783}, {"Id": "sensor-784 & <\u00e9> \"quoted\"", "Value": 784}, {"Id": "sensor-785 & <\u00e9> \"quoted\"", "Value": 785}, {"Id": "sensor-786 & <\u00e9> \"quoted\"", "Value": 786}, {"Id": "sensor-787 & <\u00e9> \"quoted\"", "Value": 787}, {"Id": "sensor-788 & <\u00e9> \"quoted\"", "Value": 788}, {"Id": "sensor-789 & <\u00e9> \"quoted\"", "Value": 789}, {"Id": "sensor-790 & <\u00e9> \"quoted\"", "Value": 790}, {"Id": "sensor-791 & <\u00e9> \"quoted\"", "Value": 791}, {"Id": "sensor-792 & <\u00e9> \"quoted\"", "Value": 792}, {"Id": "sensor-793 & <\u00e9> \"quoted\"", "Value": 793}, {"Id": "sensor-794 & <\u00e9> \"quoted\"", "Value": 794}, {"Id": "sensor-795 & <\u00e9> \"quoted\"", "Value": 795}, {"Id": "sensor-796 & <\u00e9> \"quoted\"", "Value": 796}, {"Id": "sensor-797 & <\u00e9> \"quoted\"", "Value": 797}, {"Id": "sensor-798 & <\u00e9> \"quoted\"", "Value": 798}, {"Id": "sensor-799 & <\u00e9> \"quoted\"", "Value": 799}, {"Id": "sensor-800 & <\u00e9> \"quoted\"", "Value": 800}, {"Id": "sensor-801 & <\u00e9> \"quoted\"", "Value": 801}, {"Id": "sensor-802 & <\u00e9> \"quoted\"", "Value": 802}, {"Id": "sensor-803 & <\u00e9> \"quoted\"", "Value": 803}, {"Id": "sensor-804 & <\u00e9> \"quoted\"", "Value": 804}, {"Id": "sensor-805 & <\u00e9> \"quoted\"", "Value": 805}, {"Id": "sensor-806 & <\u00e9> \"quoted\"", "Value": 806}, {"Id": "sensor-807 & <\u00e9> \"quoted\"", "Value": 807}, {"Id": "sensor-808 & <\u00e9> \"quoted\"", "Value": 808}, {"Id": "sensor-809 & <\u00e9> \"quoted\"", "Value": 809}, {"Id": "sensor-810 & <\u00e9> \"quoted\"", "Value": 810}, {"Id": "sensor-811 & <\u00e9> \"quoted\"", "Value": 811}, {"Id": "sensor-812 & <\u00e9> \"quoted\"", "Value": 812}, {"Id": "sensor-813 & <\u00e9> \"quoted\"", "Value": 813}, {"Id": "sensor-814 & <\u00e9> \"quoted\"", "Value": 814}, {"Id": "sensor-815 & <\u00e9> \"quoted\"", "Value": 815}, {"Id": "sensor-816 & <\u00e9> \"quoted\"", "Value": 816}, {"Id": "sensor-817 & <\u00e9> \"quoted\"", "Value": 817}, {"Id": "sensor-818 & <\u00e9> \"quoted\"", "Value": 818}, {"Id": "sensor-819 & <\u00e9> \"quoted\"", "Value": 819}, {"Id": "sensor-820 & <\u00e9> \"quoted\"", "Value": 820}, {"Id": "sensor-821 & <\u00e9> \"quoted\"", "Value": 821}, {"Id": "sensor-822 & <\u00e9> \"quoted\"", "Value": 822}, {"Id": "sensor-823 & <\u00e9> \"quoted\"", "Value": 823}, {"Id": "sensor-824 & <\u00e9> \"quoted\"", "Value": 824}, {"Id": "sensor-825 & <\u00e9> \"quoted\"", "Value": 825}, {"Id": "sensor-826 & <\u00e9> \"quoted\"", "Value": 826}, {"Id": "sensor-827 & <\u00e9> \"quoted\"", "Value": 827}, {"Id": "sensor-828 & <\u00e9> \"quoted\"", "Value": 828}, {"Id": "sensor-829 & <\u00e9> \"quoted\"", "Value": 829}, {"Id": "sensor-830 & <\u00e9> \"quoted\"", "Value": 830}, {"Id": "sensor-831 & <\u00e9> \"quoted\"", "Value": 831}, {"Id": "sensor-832 & <\u00e9> \"quoted\"", "Value": 832}, {"Id": "sensor-833 & <\u00e9> \"quoted\"", "Value": 833}, {"Id": "sensor-834 & <\u00e9> \"quoted\"", "Value": 834}, {"Id": "sensor-835 & <\u00e9> \"quoted\"", "Value": 835}, {"Id": "sensor-836 & <\u00e9> \"quoted\"", "Value": 836}, {"Id": "sensor-837 & <\u00e9> \"quoted\"", "Value": 837}, {"Id": "sensor-838 & <\u00e9> \"quoted\"", "Value": 838}, {"Id": "sensor-839 & <\u00e9> \"quoted\"", "Value": 839}, {"Id": "sensor-840 & <\u00e9> \"quoted\"", "Value": 840}, {"Id": "sensor-841 & <\u00e9> \"quoted\"", "Value": 841}, {"Id": "sensor-842 & <\u00e9> \"quoted\"", "Value": 842}, {"Id": "sensor-843 & <\u00e9> \"quoted\"", "Value": 843}, {"Id": "sensor-844 & <\u00e9> \"quoted\"", "Value": 844}, {"Id": "sensor-845 & <\u00e9> \"quoted\"", "Value": 845}, {"Id": "sensor-846 & <\u00e9> \"quoted\"", "Value": 846}, {"Id": "sensor-847 & <\u00e9> \"quoted\"", "Value": 847}, {"Id": "sensor-848 & <\u00e9> \"quoted\"", "Value": 848}, {"Id": "sensor-849 & <\u00e9> \"quoted\"", "Value": 849}, {"Id": "sensor-850 & <\u00e9> \"quoted\"", "Value": 850}, {"Id": "sensor-851 & <\u00e9> \"quoted\"", "Value": 851}, {"Id": "sensor-852 & <\u00e9> \"quoted\"", "Value": 852}, {"Id": "sensor-853 & <\u00e9> \"quoted\"", "Value": 853}, {"Id": "sensor-854 & <\u00e9> \"quoted\"", "Value": 854}, {"Id": "sensor-855 & <\u00e9> \"quoted\"", "Value": 855}, {"Id": "sensor-856 & <\u00e9> \"quoted\"", "Value": 856}, {"Id": "sensor-857 & <\u00e9> \"quoted\"", "Value": 857}, {"Id": "sensor-858 & <\u00e9> \"quoted\"", "Value": 858}, {"Id": "sensor-859 & <\u00e9> \"quoted\"", "Value": 859}, {"Id": "sensor-860 & <\u00e9> \"quoted\"", "Value": 860}, {"Id": "sensor-861 & <\u00e9> \"quoted\"", "Value": 861}, {"Id": "sensor-862 & <\u00e9> \"quoted\"", "Value": 862}, {"Id": "sensor-863 & <\u00e9> \"quoted\"", "Value": 863}, {"Id": "sensor-864 & <\u00e9> \"quoted\"", "Value": 864}, {"Id": "sensor-865 & <\u00e9> \"quoted\"", "Value": 865}, {"Id": "sensor-866 & <\u00e9> \"quoted\"", "Value": 866}, {"Id": "sensor-867 & <\u00e9> \"quoted\"", "Value": 867}, {"Id": "sensor-868 & <\u00e9> \"quoted\"", "Value": 868}, {"Id": "sensor-869 & <\u00e9> \"quoted\"", "Value": 869}, {"Id": "sensor-870 & <\u00e9> \"quoted\"", "Value": 870}, {"Id": "sensor-871 & <\u00e9> \"quoted\"", "Value": 871}, {"Id": "sensor-872 & <\u00e9> \"quoted\"", "Value": 872}, {"Id": "sensor-873 & <\u00e9> \"quoted\"", "Value": 873}, {"Id": "sensor-874 & <\u00e9> \"quoted\"", "Value": 874}, {"Id": "sensor-875 & <\u00e9> \"quoted\"", "Value": 875}, {"Id": "sensor-876 & <\u00e9> \"quoted\"", "Value": 876}, {"Id": "sensor-877 & <\u00e9> \"quoted\"", "Value": 877}, {"Id": "sensor-878 & <\u00e9> \"quoted\"", "Value": 878}, {"Id": "sensor-879 & <\u00e9> \"quoted\"", "Value": 879}, {"Id": "sensor-880 & <\u00e9> \"quoted\"", "Value": 880}, {"Id": "sensor-881 & <\u00e9> \"quoted\"", "Value": 881}, {"Id": "sensor-882 & <\u00e9> \"quoted\"", "Value": 882}, {"Id": "sensor-883 & <\u00e9> \"quoted\"", "Value": 883}, {"Id": "sensor-884 & <\u00e9> \"quoted\"", "Value": 884}, {"Id": "sensor-885 & <\u00e9> \"quoted\"", "Value": 885}, {"Id": "sensor-886 & <\u00e9> \"quoted\"", "Value": 886}, {"Id": "sensor-887 & <\u00e9> \"quoted\"", "Value": 887}, {"Id": "sensor-888 & <\u00e9> \"quoted\"", "Value": 888}, {"Id": "sensor-889 & <\u00e9> \"quoted\"", "Value": 889}, {"Id": "sensor-890 & <\u00e9> \"quoted\"", "Value": 890}, {"Id": "sensor-891 & <\u00e9> \"quoted\"", "Value": 891}, {"Id": "sensor-892 & <\u00e9> \"quoted\"", "Value": 892}, {"Id": "sensor-893 & <\u00e9> \"quoted\"", "Value": 893}, {"Id": "sensor-894 & <\u00e9> \"quoted\"", "Value": 894}, {"Id": "sensor-895 & <\u00e9> \"quoted\"", "Value": 895}, {"Id": "sensor-896 & <\u00e9> \"quoted\"", "Value": 896}, {"Id": "sensor-897 & <\u00e9> \"quoted\"", "Value": 897}, {"Id": "sensor-898 & <\u00e9> \"quoted\"", "Value": 898}, {"Id": "sensor-899 & <\u00e9> \"quoted\"", "Value": 899}, {"Id": "sensor-900 & <\u00e9> \"quoted\"", "Value": 900}, {"Id": "sensor-901 & <\u00e9> \"quoted\"", "Value": 901}, {"Id": "sensor-902 & <\u00e9> \"quoted\"", "Value": 902}, {"Id": "sensor-903 & <\u00e9> \"quoted\"", "Value": 903}, {"Id": "sensor-904 & <\u00e9> \"quoted\"", "Value": 904}, {"Id": "sensor-905 & <\u00e9> \"quoted\"", "Value": 905}, {"Id": "sensor-906 & <\u00e9> \"quoted\"", "Value": 906}, {"Id": "sensor-907 & <\u00e9> \"quoted\"", "Value": 907}, {"Id": "sensor-908 & <\u00e9> \"quoted\"", "Value": 908}, {"Id": "sensor-909 & <\u00e9> \"quoted\"", "Value": 909}, {"Id": "sensor-910 & <\u00e9> \"quoted\"", "Value": 910}, {"Id": "sensor-911 & <\u00e9> \"quoted\"", "Value": 911}, {"Id": "sensor-912 & <\u00e9> \"quoted\"", "Value": 912}, {"Id": "sensor-913 & <\u00e9> \"quoted\"", "Value": 913}, {"Id": "sensor-914 & <\u00e9> \"quoted\"", "Value": 914}, {"Id": "sensor-915 & <\u00e9> \"quoted\"", "Value": 915}, {"Id": "sensor-916 & <\u00e9> \"quoted\"", "Value": 916}, {"Id": "sensor-917 & <\u00e9> \"quoted\"", "Value": 917}, {"Id": "sensor-918 & <\u00e9> \"quoted\"", "Value": 918}, {"Id": "sensor-919 & <\u00e9> \"quoted\"", "Value": 919}, {"Id": "sensor-920 & <\u00e9> \"quoted\"", "Value": 920}, {"Id": "sensor-921 & <\u00e9> \"quoted\"", "Value": 921}, {"Id": "sensor-922 & <\u00e9> \"quoted\"", "Value": 922}, {"Id": "sensor-923 & <\u00e9> \"quoted\"", "Value": 923}, {"Id": "sensor-924 & <\u00e9> \"quoted\"", "Value": 924}, {"Id": "sensor-925 & <\u00e9> \"quoted\"", "Value": 925}, {"Id": "sensor-926 & <\u00e9> \"quoted\"", "Value": 926}, {"Id": "sensor-927 & <\u00e9> \"quoted\"", "Value": 927}, {"Id": "sensor-928 & <\u00e9> \"quoted\"", "Value": 928}, {"Id": "sensor-929 & <\u00e9> \"quoted\"", "Value": 929}, {"Id": "sensor-930 & <\u00e9> \"quoted\"", "Value": 930}, {"Id": "sensor-931 & <\u00e9> \"quoted\"", "Value": 931}, {"Id": "sensor-932 & <\u00e9> \"quoted\"", "Value": 932}, {"Id": "sensor-933 & <\u00e9> \"quoted\"", "Value": 933}, {"Id": "sensor-934 & <\u00e9> \"quoted\"", "Value": 934}, {"Id": "sensor-935 & <\u00e9> \"quoted\"", "Value": 935}, {"Id": "sensor-936 & <\u00e9> \"quoted\"", "Value": 936}, {"Id": "sensor-937 & <\u00e9> \"quoted\"", "Value": 937}, {"Id": "sensor-938 & <\u00e9> \"quoted\"", "Value": 938}, {"Id": "sensor-939 & <\u00e9> \"quoted\"", "Value": 939}, {"Id": "sensor-940 & <\u00e9> \"quoted\"", "Value": 940}, {"Id": "sensor-941 & <\u00e9> \"quoted\"", "Value": 941}, {"Id": "sensor-942 & <\u00e9> \"quoted\"", "Value": 942}, {"Id": "sensor-943 & <\u00e9> \"quoted\"", "Value": 943}, {"Id": "sensor-944 & <\u00e9> \"quoted\"", "Value": 944}, {"Id": "sensor-945 & <\u00e9> \"quoted\"", "Value": 945}, {"Id": "sensor-946 & <\u00e9> \"quoted\"", "Value": 946}, {"Id": "sensor-947 & <\u00e9> \"quoted\"", "Value": 947}, {"Id": "sensor-948 & <\u00e9> \"quoted\"", "Value": 948}, {"Id": "sensor-949 & <\u00e9> \"quoted\"", "Value": 949}, {"Id": "sensor-950 & <\u00e9> \"quoted\"", "Value": 950}, {"Id": "sensor-951 & <\u00e9> \"quoted\"", "Value": 951}, {"Id": "sensor-952 & <\u00e9> \"quoted\"", "Value": 952}, {"Id": "sensor-953 & <\u00e9> \"quoted\"", "Value": 953}, {"Id": "sensor-954 & <\u00e9> \"quoted\"", "Value": 954}, {"Id": "sensor-955 & <\u00e9> \"quoted\"", "Value": 955}, {"Id": "sensor-956 & <\u00e9> \"quoted\"", "Value": 956}, {"Id": "sensor-957 & <\u00e9> \"quoted\"", "Value": 957}, {"Id": "sensor-958 & <\u00e9> \"quoted\"", "Value": 958}, {"Id": "sensor-959 & <\u00e9> \"quoted\"", "Value": 959}, {"Id": "sensor-960 & <\u00e9> \"quoted\"", "Value": 960}, {"Id": "sensor-961 & <\u00e9> \"quoted\"", "Value": 961}, {"Id": "sensor-962 & <\u00e9> \"quoted\"", "Value": 962}, {"Id": "sensor-963 & <\u00e9> \"quoted\"", "Value": 963}, {"Id": "sensor-964 & <\u00e9> \"quoted\"", "Value": 964}, {"Id": "sensor-965 & <\u00e9> \"quoted\"", "Value": 965}, {"Id": "sensor-966 & <\u00e9> \"quoted\"", "Value": 966}, {"Id": "sensor-967 & <\u00e9> \"quoted\"", "Value": 967}, {"Id": "sensor-968 & <\u00e9> \"quoted\"", "Value": 968}, {"Id": "sensor-969 & <\u00e9> \"quoted\"", "Value": 969}, {"Id": "sensor-970 & <\u00e9> \"quoted\"", "Value": 970}, {"Id": "sensor-971 & <\u00e9> \"quoted\"", "Value": 971}, {"Id": "sensor-972 & <\u00e9> \"quoted\"", "Value": 972}, {"Id": "sensor-973 & <\u00e9> \"quoted\"", "Value": 973}, {"Id": "sensor-974 & <\u00e9> \"quoted\"", "Value": 974}, {"Id": "sensor-975 & <\u00e9> \"quoted\"", "Value": 975}, {"Id": "sensor-976 & <\u00e9> \"quoted\"", "Value": 976}, {"Id": "sensor-977 & <\u00e9> \"quoted\"", "Value": 977}, {"Id": "sensor-978 & <\u00e9> \"quoted\"", "Value": 978}, {"Id": "sensor-979 & <\u00e9> \"quoted\"", "Value": 979}, {"Id": "sensor-980 & <\u00e9> \"quoted\"", "Value": 980}, {"Id": "sensor-981 & <\u00e9> \"quoted\"", "Value": 981}, {"Id": "sensor-982 & <\u00e9> \"quoted\"", "Value": 982}, {"Id": "sensor-983 & <\u00e9> \"quoted\"", "Value": 983}, {"Id": "sensor-984 & <\u00e9> \"quoted\"", "Value": 984}, {"Id": "sensor-985 & <\u00e9> \"quoted\"", "Value": 985}, {"Id": "sensor-986 & <\u00e9> \"quoted\"", "Value": 986}, {"Id": "sensor-987 & <\u00e9> \"quoted\"", "Value": 987}, {"Id": "sensor-988 & <\u00e9> \"quoted\"", "Value": 988}, {"Id": "sensor-989 & <\u00e9> \"quoted\"", "Value": 989}, {"Id": "sensor-990 & <\u00e9> \"quoted\"", "Value": 990}, {"Id": "sensor-991 & <\u00e9> \"quoted\"", "Value": 991}, {"Id": "sensor-992 & <\u00e9> \"quoted\"", "Value": 992}, {"Id": "sensor-993 & <\u00e9> \"quoted\"", "Value": 993}, {"Id": "sensor-994 & <\u00e9> \"quoted\"", "Value": 994}, {"Id": "sensor-995 & <\u00e9> \"quoted\"", "Value": 995}, {"Id": "sensor-996 & <\u00e9> \"quoted\"", "Value": 996}, {"Id": "sensor-997 & <\u00e9> \"quoted\"", "Value": 997}, {"Id": "sensor-998 & <\u00e9> \"quoted\"", "Value": 998}, {"Id": "sensor-999 & <\u00e9> \"quoted\"", "Value": 999}]} \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-escaped_1000.xml new file mode 100644 index 00000000..acf0192a --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1.json new file mode 100644 index 00000000..4a6c08de --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1.json @@ -0,0 +1 @@ +{"Sensor": [{"Id": "sensor-0", "Value": 0}]} \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1000.json b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1000.json new file mode 100644 index 00000000..0029c66e --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1000.json @@ -0,0 +1 @@ +{"Sensor": [{"Id": "sensor-0", "Value": 0}, {"Id": "sensor-1", "Value": 1}, {"Id": "sensor-2", "Value": 2}, {"Id": "sensor-3", "Value": 3}, {"Id": "sensor-4", "Value": 4}, {"Id": "sensor-5", "Value": 5}, {"Id": "sensor-6", "Value": 6}, {"Id": "sensor-7", "Value": 7}, {"Id": "sensor-8", "Value": 8}, {"Id": "sensor-9", "Value": 9}, {"Id": "sensor-10", "Value": 10}, {"Id": "sensor-11", "Value": 11}, {"Id": "sensor-12", "Value": 12}, {"Id": "sensor-13", "Value": 13}, {"Id": "sensor-14", "Value": 14}, {"Id": "sensor-15", "Value": 15}, {"Id": "sensor-16", "Value": 16}, {"Id": "sensor-17", "Value": 17}, {"Id": "sensor-18", "Value": 18}, {"Id": "sensor-19", "Value": 19}, {"Id": "sensor-20", "Value": 20}, {"Id": "sensor-21", "Value": 21}, {"Id": "sensor-22", "Value": 22}, {"Id": "sensor-23", "Value": 23}, {"Id": "sensor-24", "Value": 24}, {"Id": "sensor-25", "Value": 25}, {"Id": "sensor-26", "Value": 26}, {"Id": "sensor-27", "Value": 27}, {"Id": "sensor-28", "Value": 28}, {"Id": "sensor-29", "Value": 29}, {"Id": "sensor-30", "Value": 30}, {"Id": "sensor-31", "Value": 31}, {"Id": "sensor-32", "Value": 32}, {"Id": "sensor-33", "Value": 33}, {"Id": "sensor-34", "Value": 34}, {"Id": "sensor-35", "Value": 35}, {"Id": "sensor-36", "Value": 36}, {"Id": "sensor-37", "Value": 37}, {"Id": "sensor-38", "Value": 38}, {"Id": "sensor-39", "Value": 39}, {"Id": "sensor-40", "Value": 40}, {"Id": "sensor-41", "Value": 41}, {"Id": "sensor-42", "Value": 42}, {"Id": "sensor-43", "Value": 43}, {"Id": "sensor-44", "Value": 44}, {"Id": "sensor-45", "Value": 45}, {"Id": "sensor-46", "Value": 46}, {"Id": "sensor-47", "Value": 47}, {"Id": "sensor-48", "Value": 48}, {"Id": "sensor-49", "Value": 49}, {"Id": "sensor-50", "Value": 50}, {"Id": "sensor-51", "Value": 51}, {"Id": "sensor-52", "Value": 52}, {"Id": "sensor-53", "Value": 53}, {"Id": "sensor-54", "Value": 54}, {"Id": "sensor-55", "Value": 55}, {"Id": "sensor-56", "Value": 56}, {"Id": "sensor-57", "Value": 57}, {"Id": "sensor-58", "Value": 58}, {"Id": "sensor-59", "Value": 59}, {"Id": "sensor-60", "Value": 60}, {"Id": "sensor-61", "Value": 61}, {"Id": "sensor-62", "Value": 62}, {"Id": "sensor-63", "Value": 63}, {"Id": "sensor-64", "Value": 64}, {"Id": "sensor-65", "Value": 65}, {"Id": "sensor-66", "Value": 66}, {"Id": "sensor-67", "Value": 67}, {"Id": "sensor-68", "Value": 68}, {"Id": "sensor-69", "Value": 69}, {"Id": "sensor-70", "Value": 70}, {"Id": "sensor-71", "Value": 71}, {"Id": "sensor-72", "Value": 72}, {"Id": "sensor-73", "Value": 73}, {"Id": "sensor-74", "Value": 74}, {"Id": "sensor-75", "Value": 75}, {"Id": "sensor-76", "Value": 76}, {"Id": "sensor-77", "Value": 77}, {"Id": "sensor-78", "Value": 78}, {"Id": "sensor-79", "Value": 79}, {"Id": "sensor-80", "Value": 80}, {"Id": "sensor-81", "Value": 81}, {"Id": "sensor-82", "Value": 82}, {"Id": "sensor-83", "Value": 83}, {"Id": "sensor-84", "Value": 84}, {"Id": "sensor-85", "Value": 85}, {"Id": "sensor-86", "Value": 86}, {"Id": "sensor-87", "Value": 87}, {"Id": "sensor-88", "Value": 88}, {"Id": "sensor-89", "Value": 89}, {"Id": "sensor-90", "Value": 90}, {"Id": "sensor-91", "Value": 91}, {"Id": "sensor-92", "Value": 92}, {"Id": "sensor-93", "Value": 93}, {"Id": "sensor-94", "Value": 94}, {"Id": "sensor-95", "Value": 95}, {"Id": "sensor-96", "Value": 96}, {"Id": "sensor-97", "Value": 97}, {"Id": "sensor-98", "Value": 98}, {"Id": "sensor-99", "Value": 99}, {"Id": "sensor-100", "Value": 100}, {"Id": "sensor-101", "Value": 101}, {"Id": "sensor-102", "Value": 102}, {"Id": "sensor-103", "Value": 103}, {"Id": "sensor-104", "Value": 104}, {"Id": "sensor-105", "Value": 105}, {"Id": "sensor-106", "Value": 106}, {"Id": "sensor-107", "Value": 107}, {"Id": "sensor-108", "Value": 108}, {"Id": "sensor-109", "Value": 109}, {"Id": "sensor-110", "Value": 110}, {"Id": "sensor-111", "Value": 111}, {"Id": "sensor-112", "Value": 112}, {"Id": "sensor-113", "Value": 113}, {"Id": "sensor-114", "Value": 114}, {"Id": "sensor-115", "Value": 115}, {"Id": "sensor-116", "Value": 116}, {"Id": "sensor-117", "Value": 117}, {"Id": "sensor-118", "Value": 118}, {"Id": "sensor-119", "Value": 119}, {"Id": "sensor-120", "Value": 120}, {"Id": "sensor-121", "Value": 121}, {"Id": "sensor-122", "Value": 122}, {"Id": "sensor-123", "Value": 123}, {"Id": "sensor-124", "Value": 124}, {"Id": "sensor-125", "Value": 125}, {"Id": "sensor-126", "Value": 126}, {"Id": "sensor-127", "Value": 127}, {"Id": "sensor-128", "Value": 128}, {"Id": "sensor-129", "Value": 129}, {"Id": "sensor-130", "Value": 130}, {"Id": "sensor-131", "Value": 131}, {"Id": "sensor-132", "Value": 132}, {"Id": "sensor-133", "Value": 133}, {"Id": "sensor-134", "Value": 134}, {"Id": "sensor-135", "Value": 135}, {"Id": "sensor-136", "Value": 136}, {"Id": "sensor-137", "Value": 137}, {"Id": "sensor-138", "Value": 138}, {"Id": "sensor-139", "Value": 139}, {"Id": "sensor-140", "Value": 140}, {"Id": "sensor-141", "Value": 141}, {"Id": "sensor-142", "Value": 142}, {"Id": "sensor-143", "Value": 143}, {"Id": "sensor-144", "Value": 144}, {"Id": "sensor-145", "Value": 145}, {"Id": "sensor-146", "Value": 146}, {"Id": "sensor-147", "Value": 147}, {"Id": "sensor-148", "Value": 148}, {"Id": "sensor-149", "Value": 149}, {"Id": "sensor-150", "Value": 150}, {"Id": "sensor-151", "Value": 151}, {"Id": "sensor-152", "Value": 152}, {"Id": "sensor-153", "Value": 153}, {"Id": "sensor-154", "Value": 154}, {"Id": "sensor-155", "Value": 155}, {"Id": "sensor-156", "Value": 156}, {"Id": "sensor-157", "Value": 157}, {"Id": "sensor-158", "Value": 158}, {"Id": "sensor-159", "Value": 159}, {"Id": "sensor-160", "Value": 160}, {"Id": "sensor-161", "Value": 161}, {"Id": "sensor-162", "Value": 162}, {"Id": "sensor-163", "Value": 163}, {"Id": "sensor-164", "Value": 164}, {"Id": "sensor-165", "Value": 165}, {"Id": "sensor-166", "Value": 166}, {"Id": "sensor-167", "Value": 167}, {"Id": "sensor-168", "Value": 168}, {"Id": "sensor-169", "Value": 169}, {"Id": "sensor-170", "Value": 170}, {"Id": "sensor-171", "Value": 171}, {"Id": "sensor-172", "Value": 172}, {"Id": "sensor-173", "Value": 173}, {"Id": "sensor-174", "Value": 174}, {"Id": "sensor-175", "Value": 175}, {"Id": "sensor-176", "Value": 176}, {"Id": "sensor-177", "Value": 177}, {"Id": "sensor-178", "Value": 178}, {"Id": "sensor-179", "Value": 179}, {"Id": "sensor-180", "Value": 180}, {"Id": "sensor-181", "Value": 181}, {"Id": "sensor-182", "Value": 182}, {"Id": "sensor-183", "Value": 183}, {"Id": "sensor-184", "Value": 184}, {"Id": "sensor-185", "Value": 185}, {"Id": "sensor-186", "Value": 186}, {"Id": "sensor-187", "Value": 187}, {"Id": "sensor-188", "Value": 188}, {"Id": "sensor-189", "Value": 189}, {"Id": "sensor-190", "Value": 190}, {"Id": "sensor-191", "Value": 191}, {"Id": "sensor-192", "Value": 192}, {"Id": "sensor-193", "Value": 193}, {"Id": "sensor-194", "Value": 194}, {"Id": "sensor-195", "Value": 195}, {"Id": "sensor-196", "Value": 196}, {"Id": "sensor-197", "Value": 197}, {"Id": "sensor-198", "Value": 198}, {"Id": "sensor-199", "Value": 199}, {"Id": "sensor-200", "Value": 200}, {"Id": "sensor-201", "Value": 201}, {"Id": "sensor-202", "Value": 202}, {"Id": "sensor-203", "Value": 203}, {"Id": "sensor-204", "Value": 204}, {"Id": "sensor-205", "Value": 205}, {"Id": "sensor-206", "Value": 206}, {"Id": "sensor-207", "Value": 207}, {"Id": "sensor-208", "Value": 208}, {"Id": "sensor-209", "Value": 209}, {"Id": "sensor-210", "Value": 210}, {"Id": "sensor-211", "Value": 211}, {"Id": "sensor-212", "Value": 212}, {"Id": "sensor-213", "Value": 213}, {"Id": "sensor-214", "Value": 214}, {"Id": "sensor-215", "Value": 215}, {"Id": "sensor-216", "Value": 216}, {"Id": "sensor-217", "Value": 217}, {"Id": "sensor-218", "Value": 218}, {"Id": "sensor-219", "Value": 219}, {"Id": "sensor-220", "Value": 220}, {"Id": "sensor-221", "Value": 221}, {"Id": "sensor-222", "Value": 222}, {"Id": "sensor-223", "Value": 223}, {"Id": "sensor-224", "Value": 224}, {"Id": "sensor-225", "Value": 225}, {"Id": "sensor-226", "Value": 226}, {"Id": "sensor-227", "Value": 227}, {"Id": "sensor-228", "Value": 228}, {"Id": "sensor-229", "Value": 229}, {"Id": "sensor-230", "Value": 230}, {"Id": "sensor-231", "Value": 231}, {"Id": "sensor-232", "Value": 232}, {"Id": "sensor-233", "Value": 233}, {"Id": "sensor-234", "Value": 234}, {"Id": "sensor-235", "Value": 235}, {"Id": "sensor-236", "Value": 236}, {"Id": "sensor-237", "Value": 237}, {"Id": "sensor-238", "Value": 238}, {"Id": "sensor-239", "Value": 239}, {"Id": "sensor-240", "Value": 240}, {"Id": "sensor-241", "Value": 241}, {"Id": "sensor-242", "Value": 242}, {"Id": "sensor-243", "Value": 243}, {"Id": "sensor-244", "Value": 244}, {"Id": "sensor-245", "Value": 245}, {"Id": "sensor-246", "Value": 246}, {"Id": "sensor-247", "Value": 247}, {"Id": "sensor-248", "Value": 248}, {"Id": "sensor-249", "Value": 249}, {"Id": "sensor-250", "Value": 250}, {"Id": "sensor-251", "Value": 251}, {"Id": "sensor-252", "Value": 252}, {"Id": "sensor-253", "Value": 253}, {"Id": "sensor-254", "Value": 254}, {"Id": "sensor-255", "Value": 255}, {"Id": "sensor-256", "Value": 256}, {"Id": "sensor-257", "Value": 257}, {"Id": "sensor-258", "Value": 258}, {"Id": "sensor-259", "Value": 259}, {"Id": "sensor-260", "Value": 260}, {"Id": "sensor-261", "Value": 261}, {"Id": "sensor-262", "Value": 262}, {"Id": "sensor-263", "Value": 263}, {"Id": "sensor-264", "Value": 264}, {"Id": "sensor-265", "Value": 265}, {"Id": "sensor-266", "Value": 266}, {"Id": "sensor-267", "Value": 267}, {"Id": "sensor-268", "Value": 268}, {"Id": "sensor-269", "Value": 269}, {"Id": "sensor-270", "Value": 270}, {"Id": "sensor-271", "Value": 271}, {"Id": "sensor-272", "Value": 272}, {"Id": "sensor-273", "Value": 273}, {"Id": "sensor-274", "Value": 274}, {"Id": "sensor-275", "Value": 275}, {"Id": "sensor-276", "Value": 276}, {"Id": "sensor-277", "Value": 277}, {"Id": "sensor-278", "Value": 278}, {"Id": "sensor-279", "Value": 279}, {"Id": "sensor-280", "Value": 280}, {"Id": "sensor-281", "Value": 281}, {"Id": "sensor-282", "Value": 282}, {"Id": "sensor-283", "Value": 283}, {"Id": "sensor-284", "Value": 284}, {"Id": "sensor-285", "Value": 285}, {"Id": "sensor-286", "Value": 286}, {"Id": "sensor-287", "Value": 287}, {"Id": "sensor-288", "Value": 288}, {"Id": "sensor-289", "Value": 289}, {"Id": "sensor-290", "Value": 290}, {"Id": "sensor-291", "Value": 291}, {"Id": "sensor-292", "Value": 292}, {"Id": "sensor-293", "Value": 293}, {"Id": "sensor-294", "Value": 294}, {"Id": "sensor-295", "Value": 295}, {"Id": "sensor-296", "Value": 296}, {"Id": "sensor-297", "Value": 297}, {"Id": "sensor-298", "Value": 298}, {"Id": "sensor-299", "Value": 299}, {"Id": "sensor-300", "Value": 300}, {"Id": "sensor-301", "Value": 301}, {"Id": "sensor-302", "Value": 302}, {"Id": "sensor-303", "Value": 303}, {"Id": "sensor-304", "Value": 304}, {"Id": "sensor-305", "Value": 305}, {"Id": "sensor-306", "Value": 306}, {"Id": "sensor-307", "Value": 307}, {"Id": "sensor-308", "Value": 308}, {"Id": "sensor-309", "Value": 309}, {"Id": "sensor-310", "Value": 310}, {"Id": "sensor-311", "Value": 311}, {"Id": "sensor-312", "Value": 312}, {"Id": "sensor-313", "Value": 313}, {"Id": "sensor-314", "Value": 314}, {"Id": "sensor-315", "Value": 315}, {"Id": "sensor-316", "Value": 316}, {"Id": "sensor-317", "Value": 317}, {"Id": "sensor-318", "Value": 318}, {"Id": "sensor-319", "Value": 319}, {"Id": "sensor-320", "Value": 320}, {"Id": "sensor-321", "Value": 321}, {"Id": "sensor-322", "Value": 322}, {"Id": "sensor-323", "Value": 323}, {"Id": "sensor-324", "Value": 324}, {"Id": "sensor-325", "Value": 325}, {"Id": "sensor-326", "Value": 326}, {"Id": "sensor-327", "Value": 327}, {"Id": "sensor-328", "Value": 328}, {"Id": "sensor-329", "Value": 329}, {"Id": "sensor-330", "Value": 330}, {"Id": "sensor-331", "Value": 331}, {"Id": "sensor-332", "Value": 332}, {"Id": "sensor-333", "Value": 333}, {"Id": "sensor-334", "Value": 334}, {"Id": "sensor-335", "Value": 335}, {"Id": "sensor-336", "Value": 336}, {"Id": "sensor-337", "Value": 337}, {"Id": "sensor-338", "Value": 338}, {"Id": "sensor-339", "Value": 339}, {"Id": "sensor-340", "Value": 340}, {"Id": "sensor-341", "Value": 341}, {"Id": "sensor-342", "Value": 342}, {"Id": "sensor-343", "Value": 343}, {"Id": "sensor-344", "Value": 344}, {"Id": "sensor-345", "Value": 345}, {"Id": "sensor-346", "Value": 346}, {"Id": "sensor-347", "Value": 347}, {"Id": "sensor-348", "Value": 348}, {"Id": "sensor-349", "Value": 349}, {"Id": "sensor-350", "Value": 350}, {"Id": "sensor-351", "Value": 351}, {"Id": "sensor-352", "Value": 352}, {"Id": "sensor-353", "Value": 353}, {"Id": "sensor-354", "Value": 354}, {"Id": "sensor-355", "Value": 355}, {"Id": "sensor-356", "Value": 356}, {"Id": "sensor-357", "Value": 357}, {"Id": "sensor-358", "Value": 358}, {"Id": "sensor-359", "Value": 359}, {"Id": "sensor-360", "Value": 360}, {"Id": "sensor-361", "Value": 361}, {"Id": "sensor-362", "Value": 362}, {"Id": "sensor-363", "Value": 363}, {"Id": "sensor-364", "Value": 364}, {"Id": "sensor-365", "Value": 365}, {"Id": "sensor-366", "Value": 366}, {"Id": "sensor-367", "Value": 367}, {"Id": "sensor-368", "Value": 368}, {"Id": "sensor-369", "Value": 369}, {"Id": "sensor-370", "Value": 370}, {"Id": "sensor-371", "Value": 371}, {"Id": "sensor-372", "Value": 372}, {"Id": "sensor-373", "Value": 373}, {"Id": "sensor-374", "Value": 374}, {"Id": "sensor-375", "Value": 375}, {"Id": "sensor-376", "Value": 376}, {"Id": "sensor-377", "Value": 377}, {"Id": "sensor-378", "Value": 378}, {"Id": "sensor-379", "Value": 379}, {"Id": "sensor-380", "Value": 380}, {"Id": "sensor-381", "Value": 381}, {"Id": "sensor-382", "Value": 382}, {"Id": "sensor-383", "Value": 383}, {"Id": "sensor-384", "Value": 384}, {"Id": "sensor-385", "Value": 385}, {"Id": "sensor-386", "Value": 386}, {"Id": "sensor-387", "Value": 387}, {"Id": "sensor-388", "Value": 388}, {"Id": "sensor-389", "Value": 389}, {"Id": "sensor-390", "Value": 390}, {"Id": "sensor-391", "Value": 391}, {"Id": "sensor-392", "Value": 392}, {"Id": "sensor-393", "Value": 393}, {"Id": "sensor-394", "Value": 394}, {"Id": "sensor-395", "Value": 395}, {"Id": "sensor-396", "Value": 396}, {"Id": "sensor-397", "Value": 397}, {"Id": "sensor-398", "Value": 398}, {"Id": "sensor-399", "Value": 399}, {"Id": "sensor-400", "Value": 400}, {"Id": "sensor-401", "Value": 401}, {"Id": "sensor-402", "Value": 402}, {"Id": "sensor-403", "Value": 403}, {"Id": "sensor-404", "Value": 404}, {"Id": "sensor-405", "Value": 405}, {"Id": "sensor-406", "Value": 406}, {"Id": "sensor-407", "Value": 407}, {"Id": "sensor-408", "Value": 408}, {"Id": "sensor-409", "Value": 409}, {"Id": "sensor-410", "Value": 410}, {"Id": "sensor-411", "Value": 411}, {"Id": "sensor-412", "Value": 412}, {"Id": "sensor-413", "Value": 413}, {"Id": "sensor-414", "Value": 414}, {"Id": "sensor-415", "Value": 415}, {"Id": "sensor-416", "Value": 416}, {"Id": "sensor-417", "Value": 417}, {"Id": "sensor-418", "Value": 418}, {"Id": "sensor-419", "Value": 419}, {"Id": "sensor-420", "Value": 420}, {"Id": "sensor-421", "Value": 421}, {"Id": "sensor-422", "Value": 422}, {"Id": "sensor-423", "Value": 423}, {"Id": "sensor-424", "Value": 424}, {"Id": "sensor-425", "Value": 425}, {"Id": "sensor-426", "Value": 426}, {"Id": "sensor-427", "Value": 427}, {"Id": "sensor-428", "Value": 428}, {"Id": "sensor-429", "Value": 429}, {"Id": "sensor-430", "Value": 430}, {"Id": "sensor-431", "Value": 431}, {"Id": "sensor-432", "Value": 432}, {"Id": "sensor-433", "Value": 433}, {"Id": "sensor-434", "Value": 434}, {"Id": "sensor-435", "Value": 435}, {"Id": "sensor-436", "Value": 436}, {"Id": "sensor-437", "Value": 437}, {"Id": "sensor-438", "Value": 438}, {"Id": "sensor-439", "Value": 439}, {"Id": "sensor-440", "Value": 440}, {"Id": "sensor-441", "Value": 441}, {"Id": "sensor-442", "Value": 442}, {"Id": "sensor-443", "Value": 443}, {"Id": "sensor-444", "Value": 444}, {"Id": "sensor-445", "Value": 445}, {"Id": "sensor-446", "Value": 446}, {"Id": "sensor-447", "Value": 447}, {"Id": "sensor-448", "Value": 448}, {"Id": "sensor-449", "Value": 449}, {"Id": "sensor-450", "Value": 450}, {"Id": "sensor-451", "Value": 451}, {"Id": "sensor-452", "Value": 452}, {"Id": "sensor-453", "Value": 453}, {"Id": "sensor-454", "Value": 454}, {"Id": "sensor-455", "Value": 455}, {"Id": "sensor-456", "Value": 456}, {"Id": "sensor-457", "Value": 457}, {"Id": "sensor-458", "Value": 458}, {"Id": "sensor-459", "Value": 459}, {"Id": "sensor-460", "Value": 460}, {"Id": "sensor-461", "Value": 461}, {"Id": "sensor-462", "Value": 462}, {"Id": "sensor-463", "Value": 463}, {"Id": "sensor-464", "Value": 464}, {"Id": "sensor-465", "Value": 465}, {"Id": "sensor-466", "Value": 466}, {"Id": "sensor-467", "Value": 467}, {"Id": "sensor-468", "Value": 468}, {"Id": "sensor-469", "Value": 469}, {"Id": "sensor-470", "Value": 470}, {"Id": "sensor-471", "Value": 471}, {"Id": "sensor-472", "Value": 472}, {"Id": "sensor-473", "Value": 473}, {"Id": "sensor-474", "Value": 474}, {"Id": "sensor-475", "Value": 475}, {"Id": "sensor-476", "Value": 476}, {"Id": "sensor-477", "Value": 477}, {"Id": "sensor-478", "Value": 478}, {"Id": "sensor-479", "Value": 479}, {"Id": "sensor-480", "Value": 480}, {"Id": "sensor-481", "Value": 481}, {"Id": "sensor-482", "Value": 482}, {"Id": "sensor-483", "Value": 483}, {"Id": "sensor-484", "Value": 484}, {"Id": "sensor-485", "Value": 485}, {"Id": "sensor-486", "Value": 486}, {"Id": "sensor-487", "Value": 487}, {"Id": "sensor-488", "Value": 488}, {"Id": "sensor-489", "Value": 489}, {"Id": "sensor-490", "Value": 490}, {"Id": "sensor-491", "Value": 491}, {"Id": "sensor-492", "Value": 492}, {"Id": "sensor-493", "Value": 493}, {"Id": "sensor-494", "Value": 494}, {"Id": "sensor-495", "Value": 495}, {"Id": "sensor-496", "Value": 496}, {"Id": "sensor-497", "Value": 497}, {"Id": "sensor-498", "Value": 498}, {"Id": "sensor-499", "Value": 499}, {"Id": "sensor-500", "Value": 500}, {"Id": "sensor-501", "Value": 501}, {"Id": "sensor-502", "Value": 502}, {"Id": "sensor-503", "Value": 503}, {"Id": "sensor-504", "Value": 504}, {"Id": "sensor-505", "Value": 505}, {"Id": "sensor-506", "Value": 506}, {"Id": "sensor-507", "Value": 507}, {"Id": "sensor-508", "Value": 508}, {"Id": "sensor-509", "Value": 509}, {"Id": "sensor-510", "Value": 510}, {"Id": "sensor-511", "Value": 511}, {"Id": "sensor-512", "Value": 512}, {"Id": "sensor-513", "Value": 513}, {"Id": "sensor-514", "Value": 514}, {"Id": "sensor-515", "Value": 515}, {"Id": "sensor-516", "Value": 516}, {"Id": "sensor-517", "Value": 517}, {"Id": "sensor-518", "Value": 518}, {"Id": "sensor-519", "Value": 519}, {"Id": "sensor-520", "Value": 520}, {"Id": "sensor-521", "Value": 521}, {"Id": "sensor-522", "Value": 522}, {"Id": "sensor-523", "Value": 523}, {"Id": "sensor-524", "Value": 524}, {"Id": "sensor-525", "Value": 525}, {"Id": "sensor-526", "Value": 526}, {"Id": "sensor-527", "Value": 527}, {"Id": "sensor-528", "Value": 528}, {"Id": "sensor-529", "Value": 529}, {"Id": "sensor-530", "Value": 530}, {"Id": "sensor-531", "Value": 531}, {"Id": "sensor-532", "Value": 532}, {"Id": "sensor-533", "Value": 533}, {"Id": "sensor-534", "Value": 534}, {"Id": "sensor-535", "Value": 535}, {"Id": "sensor-536", "Value": 536}, {"Id": "sensor-537", "Value": 537}, {"Id": "sensor-538", "Value": 538}, {"Id": "sensor-539", "Value": 539}, {"Id": "sensor-540", "Value": 540}, {"Id": "sensor-541", "Value": 541}, {"Id": "sensor-542", "Value": 542}, {"Id": "sensor-543", "Value": 543}, {"Id": "sensor-544", "Value": 544}, {"Id": "sensor-545", "Value": 545}, {"Id": "sensor-546", "Value": 546}, {"Id": "sensor-547", "Value": 547}, {"Id": "sensor-548", "Value": 548}, {"Id": "sensor-549", "Value": 549}, {"Id": "sensor-550", "Value": 550}, {"Id": "sensor-551", "Value": 551}, {"Id": "sensor-552", "Value": 552}, {"Id": "sensor-553", "Value": 553}, {"Id": "sensor-554", "Value": 554}, {"Id": "sensor-555", "Value": 555}, {"Id": "sensor-556", "Value": 556}, {"Id": "sensor-557", "Value": 557}, {"Id": "sensor-558", "Value": 558}, {"Id": "sensor-559", "Value": 559}, {"Id": "sensor-560", "Value": 560}, {"Id": "sensor-561", "Value": 561}, {"Id": "sensor-562", "Value": 562}, {"Id": "sensor-563", "Value": 563}, {"Id": "sensor-564", "Value": 564}, {"Id": "sensor-565", "Value": 565}, {"Id": "sensor-566", "Value": 566}, {"Id": "sensor-567", "Value": 567}, {"Id": "sensor-568", "Value": 568}, {"Id": "sensor-569", "Value": 569}, {"Id": "sensor-570", "Value": 570}, {"Id": "sensor-571", "Value": 571}, {"Id": "sensor-572", "Value": 572}, {"Id": "sensor-573", "Value": 573}, {"Id": "sensor-574", "Value": 574}, {"Id": "sensor-575", "Value": 575}, {"Id": "sensor-576", "Value": 576}, {"Id": "sensor-577", "Value": 577}, {"Id": "sensor-578", "Value": 578}, {"Id": "sensor-579", "Value": 579}, {"Id": "sensor-580", "Value": 580}, {"Id": "sensor-581", "Value": 581}, {"Id": "sensor-582", "Value": 582}, {"Id": "sensor-583", "Value": 583}, {"Id": "sensor-584", "Value": 584}, {"Id": "sensor-585", "Value": 585}, {"Id": "sensor-586", "Value": 586}, {"Id": "sensor-587", "Value": 587}, {"Id": "sensor-588", "Value": 588}, {"Id": "sensor-589", "Value": 589}, {"Id": "sensor-590", "Value": 590}, {"Id": "sensor-591", "Value": 591}, {"Id": "sensor-592", "Value": 592}, {"Id": "sensor-593", "Value": 593}, {"Id": "sensor-594", "Value": 594}, {"Id": "sensor-595", "Value": 595}, {"Id": "sensor-596", "Value": 596}, {"Id": "sensor-597", "Value": 597}, {"Id": "sensor-598", "Value": 598}, {"Id": "sensor-599", "Value": 599}, {"Id": "sensor-600", "Value": 600}, {"Id": "sensor-601", "Value": 601}, {"Id": "sensor-602", "Value": 602}, {"Id": "sensor-603", "Value": 603}, {"Id": "sensor-604", "Value": 604}, {"Id": "sensor-605", "Value": 605}, {"Id": "sensor-606", "Value": 606}, {"Id": "sensor-607", "Value": 607}, {"Id": "sensor-608", "Value": 608}, {"Id": "sensor-609", "Value": 609}, {"Id": "sensor-610", "Value": 610}, {"Id": "sensor-611", "Value": 611}, {"Id": "sensor-612", "Value": 612}, {"Id": "sensor-613", "Value": 613}, {"Id": "sensor-614", "Value": 614}, {"Id": "sensor-615", "Value": 615}, {"Id": "sensor-616", "Value": 616}, {"Id": "sensor-617", "Value": 617}, {"Id": "sensor-618", "Value": 618}, {"Id": "sensor-619", "Value": 619}, {"Id": "sensor-620", "Value": 620}, {"Id": "sensor-621", "Value": 621}, {"Id": "sensor-622", "Value": 622}, {"Id": "sensor-623", "Value": 623}, {"Id": "sensor-624", "Value": 624}, {"Id": "sensor-625", "Value": 625}, {"Id": "sensor-626", "Value": 626}, {"Id": "sensor-627", "Value": 627}, {"Id": "sensor-628", "Value": 628}, {"Id": "sensor-629", "Value": 629}, {"Id": "sensor-630", "Value": 630}, {"Id": "sensor-631", "Value": 631}, {"Id": "sensor-632", "Value": 632}, {"Id": "sensor-633", "Value": 633}, {"Id": "sensor-634", "Value": 634}, {"Id": "sensor-635", "Value": 635}, {"Id": "sensor-636", "Value": 636}, {"Id": "sensor-637", "Value": 637}, {"Id": "sensor-638", "Value": 638}, {"Id": "sensor-639", "Value": 639}, {"Id": "sensor-640", "Value": 640}, {"Id": "sensor-641", "Value": 641}, {"Id": "sensor-642", "Value": 642}, {"Id": "sensor-643", "Value": 643}, {"Id": "sensor-644", "Value": 644}, {"Id": "sensor-645", "Value": 645}, {"Id": "sensor-646", "Value": 646}, {"Id": "sensor-647", "Value": 647}, {"Id": "sensor-648", "Value": 648}, {"Id": "sensor-649", "Value": 649}, {"Id": "sensor-650", "Value": 650}, {"Id": "sensor-651", "Value": 651}, {"Id": "sensor-652", "Value": 652}, {"Id": "sensor-653", "Value": 653}, {"Id": "sensor-654", "Value": 654}, {"Id": "sensor-655", "Value": 655}, {"Id": "sensor-656", "Value": 656}, {"Id": "sensor-657", "Value": 657}, {"Id": "sensor-658", "Value": 658}, {"Id": "sensor-659", "Value": 659}, {"Id": "sensor-660", "Value": 660}, {"Id": "sensor-661", "Value": 661}, {"Id": "sensor-662", "Value": 662}, {"Id": "sensor-663", "Value": 663}, {"Id": "sensor-664", "Value": 664}, {"Id": "sensor-665", "Value": 665}, {"Id": "sensor-666", "Value": 666}, {"Id": "sensor-667", "Value": 667}, {"Id": "sensor-668", "Value": 668}, {"Id": "sensor-669", "Value": 669}, {"Id": "sensor-670", "Value": 670}, {"Id": "sensor-671", "Value": 671}, {"Id": "sensor-672", "Value": 672}, {"Id": "sensor-673", "Value": 673}, {"Id": "sensor-674", "Value": 674}, {"Id": "sensor-675", "Value": 675}, {"Id": "sensor-676", "Value": 676}, {"Id": "sensor-677", "Value": 677}, {"Id": "sensor-678", "Value": 678}, {"Id": "sensor-679", "Value": 679}, {"Id": "sensor-680", "Value": 680}, {"Id": "sensor-681", "Value": 681}, {"Id": "sensor-682", "Value": 682}, {"Id": "sensor-683", "Value": 683}, {"Id": "sensor-684", "Value": 684}, {"Id": "sensor-685", "Value": 685}, {"Id": "sensor-686", "Value": 686}, {"Id": "sensor-687", "Value": 687}, {"Id": "sensor-688", "Value": 688}, {"Id": "sensor-689", "Value": 689}, {"Id": "sensor-690", "Value": 690}, {"Id": "sensor-691", "Value": 691}, {"Id": "sensor-692", "Value": 692}, {"Id": "sensor-693", "Value": 693}, {"Id": "sensor-694", "Value": 694}, {"Id": "sensor-695", "Value": 695}, {"Id": "sensor-696", "Value": 696}, {"Id": "sensor-697", "Value": 697}, {"Id": "sensor-698", "Value": 698}, {"Id": "sensor-699", "Value": 699}, {"Id": "sensor-700", "Value": 700}, {"Id": "sensor-701", "Value": 701}, {"Id": "sensor-702", "Value": 702}, {"Id": "sensor-703", "Value": 703}, {"Id": "sensor-704", "Value": 704}, {"Id": "sensor-705", "Value": 705}, {"Id": "sensor-706", "Value": 706}, {"Id": "sensor-707", "Value": 707}, {"Id": "sensor-708", "Value": 708}, {"Id": "sensor-709", "Value": 709}, {"Id": "sensor-710", "Value": 710}, {"Id": "sensor-711", "Value": 711}, {"Id": "sensor-712", "Value": 712}, {"Id": "sensor-713", "Value": 713}, {"Id": "sensor-714", "Value": 714}, {"Id": "sensor-715", "Value": 715}, {"Id": "sensor-716", "Value": 716}, {"Id": "sensor-717", "Value": 717}, {"Id": "sensor-718", "Value": 718}, {"Id": "sensor-719", "Value": 719}, {"Id": "sensor-720", "Value": 720}, {"Id": "sensor-721", "Value": 721}, {"Id": "sensor-722", "Value": 722}, {"Id": "sensor-723", "Value": 723}, {"Id": "sensor-724", "Value": 724}, {"Id": "sensor-725", "Value": 725}, {"Id": "sensor-726", "Value": 726}, {"Id": "sensor-727", "Value": 727}, {"Id": "sensor-728", "Value": 728}, {"Id": "sensor-729", "Value": 729}, {"Id": "sensor-730", "Value": 730}, {"Id": "sensor-731", "Value": 731}, {"Id": "sensor-732", "Value": 732}, {"Id": "sensor-733", "Value": 733}, {"Id": "sensor-734", "Value": 734}, {"Id": "sensor-735", "Value": 735}, {"Id": "sensor-736", "Value": 736}, {"Id": "sensor-737", "Value": 737}, {"Id": "sensor-738", "Value": 738}, {"Id": "sensor-739", "Value": 739}, {"Id": "sensor-740", "Value": 740}, {"Id": "sensor-741", "Value": 741}, {"Id": "sensor-742", "Value": 742}, {"Id": "sensor-743", "Value": 743}, {"Id": "sensor-744", "Value": 744}, {"Id": "sensor-745", "Value": 745}, {"Id": "sensor-746", "Value": 746}, {"Id": "sensor-747", "Value": 747}, {"Id": "sensor-748", "Value": 748}, {"Id": "sensor-749", "Value": 749}, {"Id": "sensor-750", "Value": 750}, {"Id": "sensor-751", "Value": 751}, {"Id": "sensor-752", "Value": 752}, {"Id": "sensor-753", "Value": 753}, {"Id": "sensor-754", "Value": 754}, {"Id": "sensor-755", "Value": 755}, {"Id": "sensor-756", "Value": 756}, {"Id": "sensor-757", "Value": 757}, {"Id": "sensor-758", "Value": 758}, {"Id": "sensor-759", "Value": 759}, {"Id": "sensor-760", "Value": 760}, {"Id": "sensor-761", "Value": 761}, {"Id": "sensor-762", "Value": 762}, {"Id": "sensor-763", "Value": 763}, {"Id": "sensor-764", "Value": 764}, {"Id": "sensor-765", "Value": 765}, {"Id": "sensor-766", "Value": 766}, {"Id": "sensor-767", "Value": 767}, {"Id": "sensor-768", "Value": 768}, {"Id": "sensor-769", "Value": 769}, {"Id": "sensor-770", "Value": 770}, {"Id": "sensor-771", "Value": 771}, {"Id": "sensor-772", "Value": 772}, {"Id": "sensor-773", "Value": 773}, {"Id": "sensor-774", "Value": 774}, {"Id": "sensor-775", "Value": 775}, {"Id": "sensor-776", "Value": 776}, {"Id": "sensor-777", "Value": 777}, {"Id": "sensor-778", "Value": 778}, {"Id": "sensor-779", "Value": 779}, {"Id": "sensor-780", "Value": 780}, {"Id": "sensor-781", "Value": 781}, {"Id": "sensor-782", "Value": 782}, {"Id": "sensor-783", "Value": 783}, {"Id": "sensor-784", "Value": 784}, {"Id": "sensor-785", "Value": 785}, {"Id": "sensor-786", "Value": 786}, {"Id": "sensor-787", "Value": 787}, {"Id": "sensor-788", "Value": 788}, {"Id": "sensor-789", "Value": 789}, {"Id": "sensor-790", "Value": 790}, {"Id": "sensor-791", "Value": 791}, {"Id": "sensor-792", "Value": 792}, {"Id": "sensor-793", "Value": 793}, {"Id": "sensor-794", "Value": 794}, {"Id": "sensor-795", "Value": 795}, {"Id": "sensor-796", "Value": 796}, {"Id": "sensor-797", "Value": 797}, {"Id": "sensor-798", "Value": 798}, {"Id": "sensor-799", "Value": 799}, {"Id": "sensor-800", "Value": 800}, {"Id": "sensor-801", "Value": 801}, {"Id": "sensor-802", "Value": 802}, {"Id": "sensor-803", "Value": 803}, {"Id": "sensor-804", "Value": 804}, {"Id": "sensor-805", "Value": 805}, {"Id": "sensor-806", "Value": 806}, {"Id": "sensor-807", "Value": 807}, {"Id": "sensor-808", "Value": 808}, {"Id": "sensor-809", "Value": 809}, {"Id": "sensor-810", "Value": 810}, {"Id": "sensor-811", "Value": 811}, {"Id": "sensor-812", "Value": 812}, {"Id": "sensor-813", "Value": 813}, {"Id": "sensor-814", "Value": 814}, {"Id": "sensor-815", "Value": 815}, {"Id": "sensor-816", "Value": 816}, {"Id": "sensor-817", "Value": 817}, {"Id": "sensor-818", "Value": 818}, {"Id": "sensor-819", "Value": 819}, {"Id": "sensor-820", "Value": 820}, {"Id": "sensor-821", "Value": 821}, {"Id": "sensor-822", "Value": 822}, {"Id": "sensor-823", "Value": 823}, {"Id": "sensor-824", "Value": 824}, {"Id": "sensor-825", "Value": 825}, {"Id": "sensor-826", "Value": 826}, {"Id": "sensor-827", "Value": 827}, {"Id": "sensor-828", "Value": 828}, {"Id": "sensor-829", "Value": 829}, {"Id": "sensor-830", "Value": 830}, {"Id": "sensor-831", "Value": 831}, {"Id": "sensor-832", "Value": 832}, {"Id": "sensor-833", "Value": 833}, {"Id": "sensor-834", "Value": 834}, {"Id": "sensor-835", "Value": 835}, {"Id": "sensor-836", "Value": 836}, {"Id": "sensor-837", "Value": 837}, {"Id": "sensor-838", "Value": 838}, {"Id": "sensor-839", "Value": 839}, {"Id": "sensor-840", "Value": 840}, {"Id": "sensor-841", "Value": 841}, {"Id": "sensor-842", "Value": 842}, {"Id": "sensor-843", "Value": 843}, {"Id": "sensor-844", "Value": 844}, {"Id": "sensor-845", "Value": 845}, {"Id": "sensor-846", "Value": 846}, {"Id": "sensor-847", "Value": 847}, {"Id": "sensor-848", "Value": 848}, {"Id": "sensor-849", "Value": 849}, {"Id": "sensor-850", "Value": 850}, {"Id": "sensor-851", "Value": 851}, {"Id": "sensor-852", "Value": 852}, {"Id": "sensor-853", "Value": 853}, {"Id": "sensor-854", "Value": 854}, {"Id": "sensor-855", "Value": 855}, {"Id": "sensor-856", "Value": 856}, {"Id": "sensor-857", "Value": 857}, {"Id": "sensor-858", "Value": 858}, {"Id": "sensor-859", "Value": 859}, {"Id": "sensor-860", "Value": 860}, {"Id": "sensor-861", "Value": 861}, {"Id": "sensor-862", "Value": 862}, {"Id": "sensor-863", "Value": 863}, {"Id": "sensor-864", "Value": 864}, {"Id": "sensor-865", "Value": 865}, {"Id": "sensor-866", "Value": 866}, {"Id": "sensor-867", "Value": 867}, {"Id": "sensor-868", "Value": 868}, {"Id": "sensor-869", "Value": 869}, {"Id": "sensor-870", "Value": 870}, {"Id": "sensor-871", "Value": 871}, {"Id": "sensor-872", "Value": 872}, {"Id": "sensor-873", "Value": 873}, {"Id": "sensor-874", "Value": 874}, {"Id": "sensor-875", "Value": 875}, {"Id": "sensor-876", "Value": 876}, {"Id": "sensor-877", "Value": 877}, {"Id": "sensor-878", "Value": 878}, {"Id": "sensor-879", "Value": 879}, {"Id": "sensor-880", "Value": 880}, {"Id": "sensor-881", "Value": 881}, {"Id": "sensor-882", "Value": 882}, {"Id": "sensor-883", "Value": 883}, {"Id": "sensor-884", "Value": 884}, {"Id": "sensor-885", "Value": 885}, {"Id": "sensor-886", "Value": 886}, {"Id": "sensor-887", "Value": 887}, {"Id": "sensor-888", "Value": 888}, {"Id": "sensor-889", "Value": 889}, {"Id": "sensor-890", "Value": 890}, {"Id": "sensor-891", "Value": 891}, {"Id": "sensor-892", "Value": 892}, {"Id": "sensor-893", "Value": 893}, {"Id": "sensor-894", "Value": 894}, {"Id": "sensor-895", "Value": 895}, {"Id": "sensor-896", "Value": 896}, {"Id": "sensor-897", "Value": 897}, {"Id": "sensor-898", "Value": 898}, {"Id": "sensor-899", "Value": 899}, {"Id": "sensor-900", "Value": 900}, {"Id": "sensor-901", "Value": 901}, {"Id": "sensor-902", "Value": 902}, {"Id": "sensor-903", "Value": 903}, {"Id": "sensor-904", "Value": 904}, {"Id": "sensor-905", "Value": 905}, {"Id": "sensor-906", "Value": 906}, {"Id": "sensor-907", "Value": 907}, {"Id": "sensor-908", "Value": 908}, {"Id": "sensor-909", "Value": 909}, {"Id": "sensor-910", "Value": 910}, {"Id": "sensor-911", "Value": 911}, {"Id": "sensor-912", "Value": 912}, {"Id": "sensor-913", "Value": 913}, {"Id": "sensor-914", "Value": 914}, {"Id": "sensor-915", "Value": 915}, {"Id": "sensor-916", "Value": 916}, {"Id": "sensor-917", "Value": 917}, {"Id": "sensor-918", "Value": 918}, {"Id": "sensor-919", "Value": 919}, {"Id": "sensor-920", "Value": 920}, {"Id": "sensor-921", "Value": 921}, {"Id": "sensor-922", "Value": 922}, {"Id": "sensor-923", "Value": 923}, {"Id": "sensor-924", "Value": 924}, {"Id": "sensor-925", "Value": 925}, {"Id": "sensor-926", "Value": 926}, {"Id": "sensor-927", "Value": 927}, {"Id": "sensor-928", "Value": 928}, {"Id": "sensor-929", "Value": 929}, {"Id": "sensor-930", "Value": 930}, {"Id": "sensor-931", "Value": 931}, {"Id": "sensor-932", "Value": 932}, {"Id": "sensor-933", "Value": 933}, {"Id": "sensor-934", "Value": 934}, {"Id": "sensor-935", "Value": 935}, {"Id": "sensor-936", "Value": 936}, {"Id": "sensor-937", "Value": 937}, {"Id": "sensor-938", "Value": 938}, {"Id": "sensor-939", "Value": 939}, {"Id": "sensor-940", "Value": 940}, {"Id": "sensor-941", "Value": 941}, {"Id": "sensor-942", "Value": 942}, {"Id": "sensor-943", "Value": 943}, {"Id": "sensor-944", "Value": 944}, {"Id": "sensor-945", "Value": 945}, {"Id": "sensor-946", "Value": 946}, {"Id": "sensor-947", "Value": 947}, {"Id": "sensor-948", "Value": 948}, {"Id": "sensor-949", "Value": 949}, {"Id": "sensor-950", "Value": 950}, {"Id": "sensor-951", "Value": 951}, {"Id": "sensor-952", "Value": 952}, {"Id": "sensor-953", "Value": 953}, {"Id": "sensor-954", "Value": 954}, {"Id": "sensor-955", "Value": 955}, {"Id": "sensor-956", "Value": 956}, {"Id": "sensor-957", "Value": 957}, {"Id": "sensor-958", "Value": 958}, {"Id": "sensor-959", "Value": 959}, {"Id": "sensor-960", "Value": 960}, {"Id": "sensor-961", "Value": 961}, {"Id": "sensor-962", "Value": 962}, {"Id": "sensor-963", "Value": 963}, {"Id": "sensor-964", "Value": 964}, {"Id": "sensor-965", "Value": 965}, {"Id": "sensor-966", "Value": 966}, {"Id": "sensor-967", "Value": 967}, {"Id": "sensor-968", "Value": 968}, {"Id": "sensor-969", "Value": 969}, {"Id": "sensor-970", "Value": 970}, {"Id": "sensor-971", "Value": 971}, {"Id": "sensor-972", "Value": 972}, {"Id": "sensor-973", "Value": 973}, {"Id": "sensor-974", "Value": 974}, {"Id": "sensor-975", "Value": 975}, {"Id": "sensor-976", "Value": 976}, {"Id": "sensor-977", "Value": 977}, {"Id": "sensor-978", "Value": 978}, {"Id": "sensor-979", "Value": 979}, {"Id": "sensor-980", "Value": 980}, {"Id": "sensor-981", "Value": 981}, {"Id": "sensor-982", "Value": 982}, {"Id": "sensor-983", "Value": 983}, {"Id": "sensor-984", "Value": 984}, {"Id": "sensor-985", "Value": 985}, {"Id": "sensor-986", "Value": 986}, {"Id": "sensor-987", "Value": 987}, {"Id": "sensor-988", "Value": 988}, {"Id": "sensor-989", "Value": 989}, {"Id": "sensor-990", "Value": 990}, {"Id": "sensor-991", "Value": 991}, {"Id": "sensor-992", "Value": 992}, {"Id": "sensor-993", "Value": 993}, {"Id": "sensor-994", "Value": 994}, {"Id": "sensor-995", "Value": 995}, {"Id": "sensor-996", "Value": 996}, {"Id": "sensor-997", "Value": 997}, {"Id": "sensor-998", "Value": 998}, {"Id": "sensor-999", "Value": 999}]} \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/python-xsdata_dataclass-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_dynamic-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_dynamic-escaped_1000.xml new file mode 100644 index 00000000..f20a8f24 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_dynamic-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_dynamic-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_dynamic-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_dynamic-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_dynamic-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_dynamic-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_dynamic-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_borrowed-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_borrowed-escaped_1000.xml new file mode 100644 index 00000000..f20a8f24 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_borrowed-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_borrowed-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_borrowed-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_borrowed-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_borrowed-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_borrowed-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_borrowed-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_owned-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_owned-escaped_1000.xml new file mode 100644 index 00000000..f20a8f24 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_owned-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_owned-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_owned-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_owned-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_owned-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_owned-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-polyxml_generated_owned-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_borrowed-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_borrowed-escaped_1000.xml new file mode 100644 index 00000000..acf0192a --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_borrowed-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_borrowed-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_borrowed-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_borrowed-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_borrowed-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_borrowed-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_borrowed-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_owned-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_owned-escaped_1000.xml new file mode 100644 index 00000000..acf0192a --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_owned-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_owned-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_owned-sensor_1.xml new file mode 100644 index 00000000..780f46bc --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_owned-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_owned-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_owned-sensor_1000.xml new file mode 100644 index 00000000..715c3a78 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-quick_xml_serde_owned-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-serde_xml_rs_owned-escaped_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-serde_xml_rs_owned-escaped_1000.xml new file mode 100644 index 00000000..d80d1189 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-serde_xml_rs_owned-escaped_1000.xml @@ -0,0 +1 @@ +sensor-0 & <é> "quoted"0sensor-1 & <é> "quoted"1sensor-2 & <é> "quoted"2sensor-3 & <é> "quoted"3sensor-4 & <é> "quoted"4sensor-5 & <é> "quoted"5sensor-6 & <é> "quoted"6sensor-7 & <é> "quoted"7sensor-8 & <é> "quoted"8sensor-9 & <é> "quoted"9sensor-10 & <é> "quoted"10sensor-11 & <é> "quoted"11sensor-12 & <é> "quoted"12sensor-13 & <é> "quoted"13sensor-14 & <é> "quoted"14sensor-15 & <é> "quoted"15sensor-16 & <é> "quoted"16sensor-17 & <é> "quoted"17sensor-18 & <é> "quoted"18sensor-19 & <é> "quoted"19sensor-20 & <é> "quoted"20sensor-21 & <é> "quoted"21sensor-22 & <é> "quoted"22sensor-23 & <é> "quoted"23sensor-24 & <é> "quoted"24sensor-25 & <é> "quoted"25sensor-26 & <é> "quoted"26sensor-27 & <é> "quoted"27sensor-28 & <é> "quoted"28sensor-29 & <é> "quoted"29sensor-30 & <é> "quoted"30sensor-31 & <é> "quoted"31sensor-32 & <é> "quoted"32sensor-33 & <é> "quoted"33sensor-34 & <é> "quoted"34sensor-35 & <é> "quoted"35sensor-36 & <é> "quoted"36sensor-37 & <é> "quoted"37sensor-38 & <é> "quoted"38sensor-39 & <é> "quoted"39sensor-40 & <é> "quoted"40sensor-41 & <é> "quoted"41sensor-42 & <é> "quoted"42sensor-43 & <é> "quoted"43sensor-44 & <é> "quoted"44sensor-45 & <é> "quoted"45sensor-46 & <é> "quoted"46sensor-47 & <é> "quoted"47sensor-48 & <é> "quoted"48sensor-49 & <é> "quoted"49sensor-50 & <é> "quoted"50sensor-51 & <é> "quoted"51sensor-52 & <é> "quoted"52sensor-53 & <é> "quoted"53sensor-54 & <é> "quoted"54sensor-55 & <é> "quoted"55sensor-56 & <é> "quoted"56sensor-57 & <é> "quoted"57sensor-58 & <é> "quoted"58sensor-59 & <é> "quoted"59sensor-60 & <é> "quoted"60sensor-61 & <é> "quoted"61sensor-62 & <é> "quoted"62sensor-63 & <é> "quoted"63sensor-64 & <é> "quoted"64sensor-65 & <é> "quoted"65sensor-66 & <é> "quoted"66sensor-67 & <é> "quoted"67sensor-68 & <é> "quoted"68sensor-69 & <é> "quoted"69sensor-70 & <é> "quoted"70sensor-71 & <é> "quoted"71sensor-72 & <é> "quoted"72sensor-73 & <é> "quoted"73sensor-74 & <é> "quoted"74sensor-75 & <é> "quoted"75sensor-76 & <é> "quoted"76sensor-77 & <é> "quoted"77sensor-78 & <é> "quoted"78sensor-79 & <é> "quoted"79sensor-80 & <é> "quoted"80sensor-81 & <é> "quoted"81sensor-82 & <é> "quoted"82sensor-83 & <é> "quoted"83sensor-84 & <é> "quoted"84sensor-85 & <é> "quoted"85sensor-86 & <é> "quoted"86sensor-87 & <é> "quoted"87sensor-88 & <é> "quoted"88sensor-89 & <é> "quoted"89sensor-90 & <é> "quoted"90sensor-91 & <é> "quoted"91sensor-92 & <é> "quoted"92sensor-93 & <é> "quoted"93sensor-94 & <é> "quoted"94sensor-95 & <é> "quoted"95sensor-96 & <é> "quoted"96sensor-97 & <é> "quoted"97sensor-98 & <é> "quoted"98sensor-99 & <é> "quoted"99sensor-100 & <é> "quoted"100sensor-101 & <é> "quoted"101sensor-102 & <é> "quoted"102sensor-103 & <é> "quoted"103sensor-104 & <é> "quoted"104sensor-105 & <é> "quoted"105sensor-106 & <é> "quoted"106sensor-107 & <é> "quoted"107sensor-108 & <é> "quoted"108sensor-109 & <é> "quoted"109sensor-110 & <é> "quoted"110sensor-111 & <é> "quoted"111sensor-112 & <é> "quoted"112sensor-113 & <é> "quoted"113sensor-114 & <é> "quoted"114sensor-115 & <é> "quoted"115sensor-116 & <é> "quoted"116sensor-117 & <é> "quoted"117sensor-118 & <é> "quoted"118sensor-119 & <é> "quoted"119sensor-120 & <é> "quoted"120sensor-121 & <é> "quoted"121sensor-122 & <é> "quoted"122sensor-123 & <é> "quoted"123sensor-124 & <é> "quoted"124sensor-125 & <é> "quoted"125sensor-126 & <é> "quoted"126sensor-127 & <é> "quoted"127sensor-128 & <é> "quoted"128sensor-129 & <é> "quoted"129sensor-130 & <é> "quoted"130sensor-131 & <é> "quoted"131sensor-132 & <é> "quoted"132sensor-133 & <é> "quoted"133sensor-134 & <é> "quoted"134sensor-135 & <é> "quoted"135sensor-136 & <é> "quoted"136sensor-137 & <é> "quoted"137sensor-138 & <é> "quoted"138sensor-139 & <é> "quoted"139sensor-140 & <é> "quoted"140sensor-141 & <é> "quoted"141sensor-142 & <é> "quoted"142sensor-143 & <é> "quoted"143sensor-144 & <é> "quoted"144sensor-145 & <é> "quoted"145sensor-146 & <é> "quoted"146sensor-147 & <é> "quoted"147sensor-148 & <é> "quoted"148sensor-149 & <é> "quoted"149sensor-150 & <é> "quoted"150sensor-151 & <é> "quoted"151sensor-152 & <é> "quoted"152sensor-153 & <é> "quoted"153sensor-154 & <é> "quoted"154sensor-155 & <é> "quoted"155sensor-156 & <é> "quoted"156sensor-157 & <é> "quoted"157sensor-158 & <é> "quoted"158sensor-159 & <é> "quoted"159sensor-160 & <é> "quoted"160sensor-161 & <é> "quoted"161sensor-162 & <é> "quoted"162sensor-163 & <é> "quoted"163sensor-164 & <é> "quoted"164sensor-165 & <é> "quoted"165sensor-166 & <é> "quoted"166sensor-167 & <é> "quoted"167sensor-168 & <é> "quoted"168sensor-169 & <é> "quoted"169sensor-170 & <é> "quoted"170sensor-171 & <é> "quoted"171sensor-172 & <é> "quoted"172sensor-173 & <é> "quoted"173sensor-174 & <é> "quoted"174sensor-175 & <é> "quoted"175sensor-176 & <é> "quoted"176sensor-177 & <é> "quoted"177sensor-178 & <é> "quoted"178sensor-179 & <é> "quoted"179sensor-180 & <é> "quoted"180sensor-181 & <é> "quoted"181sensor-182 & <é> "quoted"182sensor-183 & <é> "quoted"183sensor-184 & <é> "quoted"184sensor-185 & <é> "quoted"185sensor-186 & <é> "quoted"186sensor-187 & <é> "quoted"187sensor-188 & <é> "quoted"188sensor-189 & <é> "quoted"189sensor-190 & <é> "quoted"190sensor-191 & <é> "quoted"191sensor-192 & <é> "quoted"192sensor-193 & <é> "quoted"193sensor-194 & <é> "quoted"194sensor-195 & <é> "quoted"195sensor-196 & <é> "quoted"196sensor-197 & <é> "quoted"197sensor-198 & <é> "quoted"198sensor-199 & <é> "quoted"199sensor-200 & <é> "quoted"200sensor-201 & <é> "quoted"201sensor-202 & <é> "quoted"202sensor-203 & <é> "quoted"203sensor-204 & <é> "quoted"204sensor-205 & <é> "quoted"205sensor-206 & <é> "quoted"206sensor-207 & <é> "quoted"207sensor-208 & <é> "quoted"208sensor-209 & <é> "quoted"209sensor-210 & <é> "quoted"210sensor-211 & <é> "quoted"211sensor-212 & <é> "quoted"212sensor-213 & <é> "quoted"213sensor-214 & <é> "quoted"214sensor-215 & <é> "quoted"215sensor-216 & <é> "quoted"216sensor-217 & <é> "quoted"217sensor-218 & <é> "quoted"218sensor-219 & <é> "quoted"219sensor-220 & <é> "quoted"220sensor-221 & <é> "quoted"221sensor-222 & <é> "quoted"222sensor-223 & <é> "quoted"223sensor-224 & <é> "quoted"224sensor-225 & <é> "quoted"225sensor-226 & <é> "quoted"226sensor-227 & <é> "quoted"227sensor-228 & <é> "quoted"228sensor-229 & <é> "quoted"229sensor-230 & <é> "quoted"230sensor-231 & <é> "quoted"231sensor-232 & <é> "quoted"232sensor-233 & <é> "quoted"233sensor-234 & <é> "quoted"234sensor-235 & <é> "quoted"235sensor-236 & <é> "quoted"236sensor-237 & <é> "quoted"237sensor-238 & <é> "quoted"238sensor-239 & <é> "quoted"239sensor-240 & <é> "quoted"240sensor-241 & <é> "quoted"241sensor-242 & <é> "quoted"242sensor-243 & <é> "quoted"243sensor-244 & <é> "quoted"244sensor-245 & <é> "quoted"245sensor-246 & <é> "quoted"246sensor-247 & <é> "quoted"247sensor-248 & <é> "quoted"248sensor-249 & <é> "quoted"249sensor-250 & <é> "quoted"250sensor-251 & <é> "quoted"251sensor-252 & <é> "quoted"252sensor-253 & <é> "quoted"253sensor-254 & <é> "quoted"254sensor-255 & <é> "quoted"255sensor-256 & <é> "quoted"256sensor-257 & <é> "quoted"257sensor-258 & <é> "quoted"258sensor-259 & <é> "quoted"259sensor-260 & <é> "quoted"260sensor-261 & <é> "quoted"261sensor-262 & <é> "quoted"262sensor-263 & <é> "quoted"263sensor-264 & <é> "quoted"264sensor-265 & <é> "quoted"265sensor-266 & <é> "quoted"266sensor-267 & <é> "quoted"267sensor-268 & <é> "quoted"268sensor-269 & <é> "quoted"269sensor-270 & <é> "quoted"270sensor-271 & <é> "quoted"271sensor-272 & <é> "quoted"272sensor-273 & <é> "quoted"273sensor-274 & <é> "quoted"274sensor-275 & <é> "quoted"275sensor-276 & <é> "quoted"276sensor-277 & <é> "quoted"277sensor-278 & <é> "quoted"278sensor-279 & <é> "quoted"279sensor-280 & <é> "quoted"280sensor-281 & <é> "quoted"281sensor-282 & <é> "quoted"282sensor-283 & <é> "quoted"283sensor-284 & <é> "quoted"284sensor-285 & <é> "quoted"285sensor-286 & <é> "quoted"286sensor-287 & <é> "quoted"287sensor-288 & <é> "quoted"288sensor-289 & <é> "quoted"289sensor-290 & <é> "quoted"290sensor-291 & <é> "quoted"291sensor-292 & <é> "quoted"292sensor-293 & <é> "quoted"293sensor-294 & <é> "quoted"294sensor-295 & <é> "quoted"295sensor-296 & <é> "quoted"296sensor-297 & <é> "quoted"297sensor-298 & <é> "quoted"298sensor-299 & <é> "quoted"299sensor-300 & <é> "quoted"300sensor-301 & <é> "quoted"301sensor-302 & <é> "quoted"302sensor-303 & <é> "quoted"303sensor-304 & <é> "quoted"304sensor-305 & <é> "quoted"305sensor-306 & <é> "quoted"306sensor-307 & <é> "quoted"307sensor-308 & <é> "quoted"308sensor-309 & <é> "quoted"309sensor-310 & <é> "quoted"310sensor-311 & <é> "quoted"311sensor-312 & <é> "quoted"312sensor-313 & <é> "quoted"313sensor-314 & <é> "quoted"314sensor-315 & <é> "quoted"315sensor-316 & <é> "quoted"316sensor-317 & <é> "quoted"317sensor-318 & <é> "quoted"318sensor-319 & <é> "quoted"319sensor-320 & <é> "quoted"320sensor-321 & <é> "quoted"321sensor-322 & <é> "quoted"322sensor-323 & <é> "quoted"323sensor-324 & <é> "quoted"324sensor-325 & <é> "quoted"325sensor-326 & <é> "quoted"326sensor-327 & <é> "quoted"327sensor-328 & <é> "quoted"328sensor-329 & <é> "quoted"329sensor-330 & <é> "quoted"330sensor-331 & <é> "quoted"331sensor-332 & <é> "quoted"332sensor-333 & <é> "quoted"333sensor-334 & <é> "quoted"334sensor-335 & <é> "quoted"335sensor-336 & <é> "quoted"336sensor-337 & <é> "quoted"337sensor-338 & <é> "quoted"338sensor-339 & <é> "quoted"339sensor-340 & <é> "quoted"340sensor-341 & <é> "quoted"341sensor-342 & <é> "quoted"342sensor-343 & <é> "quoted"343sensor-344 & <é> "quoted"344sensor-345 & <é> "quoted"345sensor-346 & <é> "quoted"346sensor-347 & <é> "quoted"347sensor-348 & <é> "quoted"348sensor-349 & <é> "quoted"349sensor-350 & <é> "quoted"350sensor-351 & <é> "quoted"351sensor-352 & <é> "quoted"352sensor-353 & <é> "quoted"353sensor-354 & <é> "quoted"354sensor-355 & <é> "quoted"355sensor-356 & <é> "quoted"356sensor-357 & <é> "quoted"357sensor-358 & <é> "quoted"358sensor-359 & <é> "quoted"359sensor-360 & <é> "quoted"360sensor-361 & <é> "quoted"361sensor-362 & <é> "quoted"362sensor-363 & <é> "quoted"363sensor-364 & <é> "quoted"364sensor-365 & <é> "quoted"365sensor-366 & <é> "quoted"366sensor-367 & <é> "quoted"367sensor-368 & <é> "quoted"368sensor-369 & <é> "quoted"369sensor-370 & <é> "quoted"370sensor-371 & <é> "quoted"371sensor-372 & <é> "quoted"372sensor-373 & <é> "quoted"373sensor-374 & <é> "quoted"374sensor-375 & <é> "quoted"375sensor-376 & <é> "quoted"376sensor-377 & <é> "quoted"377sensor-378 & <é> "quoted"378sensor-379 & <é> "quoted"379sensor-380 & <é> "quoted"380sensor-381 & <é> "quoted"381sensor-382 & <é> "quoted"382sensor-383 & <é> "quoted"383sensor-384 & <é> "quoted"384sensor-385 & <é> "quoted"385sensor-386 & <é> "quoted"386sensor-387 & <é> "quoted"387sensor-388 & <é> "quoted"388sensor-389 & <é> "quoted"389sensor-390 & <é> "quoted"390sensor-391 & <é> "quoted"391sensor-392 & <é> "quoted"392sensor-393 & <é> "quoted"393sensor-394 & <é> "quoted"394sensor-395 & <é> "quoted"395sensor-396 & <é> "quoted"396sensor-397 & <é> "quoted"397sensor-398 & <é> "quoted"398sensor-399 & <é> "quoted"399sensor-400 & <é> "quoted"400sensor-401 & <é> "quoted"401sensor-402 & <é> "quoted"402sensor-403 & <é> "quoted"403sensor-404 & <é> "quoted"404sensor-405 & <é> "quoted"405sensor-406 & <é> "quoted"406sensor-407 & <é> "quoted"407sensor-408 & <é> "quoted"408sensor-409 & <é> "quoted"409sensor-410 & <é> "quoted"410sensor-411 & <é> "quoted"411sensor-412 & <é> "quoted"412sensor-413 & <é> "quoted"413sensor-414 & <é> "quoted"414sensor-415 & <é> "quoted"415sensor-416 & <é> "quoted"416sensor-417 & <é> "quoted"417sensor-418 & <é> "quoted"418sensor-419 & <é> "quoted"419sensor-420 & <é> "quoted"420sensor-421 & <é> "quoted"421sensor-422 & <é> "quoted"422sensor-423 & <é> "quoted"423sensor-424 & <é> "quoted"424sensor-425 & <é> "quoted"425sensor-426 & <é> "quoted"426sensor-427 & <é> "quoted"427sensor-428 & <é> "quoted"428sensor-429 & <é> "quoted"429sensor-430 & <é> "quoted"430sensor-431 & <é> "quoted"431sensor-432 & <é> "quoted"432sensor-433 & <é> "quoted"433sensor-434 & <é> "quoted"434sensor-435 & <é> "quoted"435sensor-436 & <é> "quoted"436sensor-437 & <é> "quoted"437sensor-438 & <é> "quoted"438sensor-439 & <é> "quoted"439sensor-440 & <é> "quoted"440sensor-441 & <é> "quoted"441sensor-442 & <é> "quoted"442sensor-443 & <é> "quoted"443sensor-444 & <é> "quoted"444sensor-445 & <é> "quoted"445sensor-446 & <é> "quoted"446sensor-447 & <é> "quoted"447sensor-448 & <é> "quoted"448sensor-449 & <é> "quoted"449sensor-450 & <é> "quoted"450sensor-451 & <é> "quoted"451sensor-452 & <é> "quoted"452sensor-453 & <é> "quoted"453sensor-454 & <é> "quoted"454sensor-455 & <é> "quoted"455sensor-456 & <é> "quoted"456sensor-457 & <é> "quoted"457sensor-458 & <é> "quoted"458sensor-459 & <é> "quoted"459sensor-460 & <é> "quoted"460sensor-461 & <é> "quoted"461sensor-462 & <é> "quoted"462sensor-463 & <é> "quoted"463sensor-464 & <é> "quoted"464sensor-465 & <é> "quoted"465sensor-466 & <é> "quoted"466sensor-467 & <é> "quoted"467sensor-468 & <é> "quoted"468sensor-469 & <é> "quoted"469sensor-470 & <é> "quoted"470sensor-471 & <é> "quoted"471sensor-472 & <é> "quoted"472sensor-473 & <é> "quoted"473sensor-474 & <é> "quoted"474sensor-475 & <é> "quoted"475sensor-476 & <é> "quoted"476sensor-477 & <é> "quoted"477sensor-478 & <é> "quoted"478sensor-479 & <é> "quoted"479sensor-480 & <é> "quoted"480sensor-481 & <é> "quoted"481sensor-482 & <é> "quoted"482sensor-483 & <é> "quoted"483sensor-484 & <é> "quoted"484sensor-485 & <é> "quoted"485sensor-486 & <é> "quoted"486sensor-487 & <é> "quoted"487sensor-488 & <é> "quoted"488sensor-489 & <é> "quoted"489sensor-490 & <é> "quoted"490sensor-491 & <é> "quoted"491sensor-492 & <é> "quoted"492sensor-493 & <é> "quoted"493sensor-494 & <é> "quoted"494sensor-495 & <é> "quoted"495sensor-496 & <é> "quoted"496sensor-497 & <é> "quoted"497sensor-498 & <é> "quoted"498sensor-499 & <é> "quoted"499sensor-500 & <é> "quoted"500sensor-501 & <é> "quoted"501sensor-502 & <é> "quoted"502sensor-503 & <é> "quoted"503sensor-504 & <é> "quoted"504sensor-505 & <é> "quoted"505sensor-506 & <é> "quoted"506sensor-507 & <é> "quoted"507sensor-508 & <é> "quoted"508sensor-509 & <é> "quoted"509sensor-510 & <é> "quoted"510sensor-511 & <é> "quoted"511sensor-512 & <é> "quoted"512sensor-513 & <é> "quoted"513sensor-514 & <é> "quoted"514sensor-515 & <é> "quoted"515sensor-516 & <é> "quoted"516sensor-517 & <é> "quoted"517sensor-518 & <é> "quoted"518sensor-519 & <é> "quoted"519sensor-520 & <é> "quoted"520sensor-521 & <é> "quoted"521sensor-522 & <é> "quoted"522sensor-523 & <é> "quoted"523sensor-524 & <é> "quoted"524sensor-525 & <é> "quoted"525sensor-526 & <é> "quoted"526sensor-527 & <é> "quoted"527sensor-528 & <é> "quoted"528sensor-529 & <é> "quoted"529sensor-530 & <é> "quoted"530sensor-531 & <é> "quoted"531sensor-532 & <é> "quoted"532sensor-533 & <é> "quoted"533sensor-534 & <é> "quoted"534sensor-535 & <é> "quoted"535sensor-536 & <é> "quoted"536sensor-537 & <é> "quoted"537sensor-538 & <é> "quoted"538sensor-539 & <é> "quoted"539sensor-540 & <é> "quoted"540sensor-541 & <é> "quoted"541sensor-542 & <é> "quoted"542sensor-543 & <é> "quoted"543sensor-544 & <é> "quoted"544sensor-545 & <é> "quoted"545sensor-546 & <é> "quoted"546sensor-547 & <é> "quoted"547sensor-548 & <é> "quoted"548sensor-549 & <é> "quoted"549sensor-550 & <é> "quoted"550sensor-551 & <é> "quoted"551sensor-552 & <é> "quoted"552sensor-553 & <é> "quoted"553sensor-554 & <é> "quoted"554sensor-555 & <é> "quoted"555sensor-556 & <é> "quoted"556sensor-557 & <é> "quoted"557sensor-558 & <é> "quoted"558sensor-559 & <é> "quoted"559sensor-560 & <é> "quoted"560sensor-561 & <é> "quoted"561sensor-562 & <é> "quoted"562sensor-563 & <é> "quoted"563sensor-564 & <é> "quoted"564sensor-565 & <é> "quoted"565sensor-566 & <é> "quoted"566sensor-567 & <é> "quoted"567sensor-568 & <é> "quoted"568sensor-569 & <é> "quoted"569sensor-570 & <é> "quoted"570sensor-571 & <é> "quoted"571sensor-572 & <é> "quoted"572sensor-573 & <é> "quoted"573sensor-574 & <é> "quoted"574sensor-575 & <é> "quoted"575sensor-576 & <é> "quoted"576sensor-577 & <é> "quoted"577sensor-578 & <é> "quoted"578sensor-579 & <é> "quoted"579sensor-580 & <é> "quoted"580sensor-581 & <é> "quoted"581sensor-582 & <é> "quoted"582sensor-583 & <é> "quoted"583sensor-584 & <é> "quoted"584sensor-585 & <é> "quoted"585sensor-586 & <é> "quoted"586sensor-587 & <é> "quoted"587sensor-588 & <é> "quoted"588sensor-589 & <é> "quoted"589sensor-590 & <é> "quoted"590sensor-591 & <é> "quoted"591sensor-592 & <é> "quoted"592sensor-593 & <é> "quoted"593sensor-594 & <é> "quoted"594sensor-595 & <é> "quoted"595sensor-596 & <é> "quoted"596sensor-597 & <é> "quoted"597sensor-598 & <é> "quoted"598sensor-599 & <é> "quoted"599sensor-600 & <é> "quoted"600sensor-601 & <é> "quoted"601sensor-602 & <é> "quoted"602sensor-603 & <é> "quoted"603sensor-604 & <é> "quoted"604sensor-605 & <é> "quoted"605sensor-606 & <é> "quoted"606sensor-607 & <é> "quoted"607sensor-608 & <é> "quoted"608sensor-609 & <é> "quoted"609sensor-610 & <é> "quoted"610sensor-611 & <é> "quoted"611sensor-612 & <é> "quoted"612sensor-613 & <é> "quoted"613sensor-614 & <é> "quoted"614sensor-615 & <é> "quoted"615sensor-616 & <é> "quoted"616sensor-617 & <é> "quoted"617sensor-618 & <é> "quoted"618sensor-619 & <é> "quoted"619sensor-620 & <é> "quoted"620sensor-621 & <é> "quoted"621sensor-622 & <é> "quoted"622sensor-623 & <é> "quoted"623sensor-624 & <é> "quoted"624sensor-625 & <é> "quoted"625sensor-626 & <é> "quoted"626sensor-627 & <é> "quoted"627sensor-628 & <é> "quoted"628sensor-629 & <é> "quoted"629sensor-630 & <é> "quoted"630sensor-631 & <é> "quoted"631sensor-632 & <é> "quoted"632sensor-633 & <é> "quoted"633sensor-634 & <é> "quoted"634sensor-635 & <é> "quoted"635sensor-636 & <é> "quoted"636sensor-637 & <é> "quoted"637sensor-638 & <é> "quoted"638sensor-639 & <é> "quoted"639sensor-640 & <é> "quoted"640sensor-641 & <é> "quoted"641sensor-642 & <é> "quoted"642sensor-643 & <é> "quoted"643sensor-644 & <é> "quoted"644sensor-645 & <é> "quoted"645sensor-646 & <é> "quoted"646sensor-647 & <é> "quoted"647sensor-648 & <é> "quoted"648sensor-649 & <é> "quoted"649sensor-650 & <é> "quoted"650sensor-651 & <é> "quoted"651sensor-652 & <é> "quoted"652sensor-653 & <é> "quoted"653sensor-654 & <é> "quoted"654sensor-655 & <é> "quoted"655sensor-656 & <é> "quoted"656sensor-657 & <é> "quoted"657sensor-658 & <é> "quoted"658sensor-659 & <é> "quoted"659sensor-660 & <é> "quoted"660sensor-661 & <é> "quoted"661sensor-662 & <é> "quoted"662sensor-663 & <é> "quoted"663sensor-664 & <é> "quoted"664sensor-665 & <é> "quoted"665sensor-666 & <é> "quoted"666sensor-667 & <é> "quoted"667sensor-668 & <é> "quoted"668sensor-669 & <é> "quoted"669sensor-670 & <é> "quoted"670sensor-671 & <é> "quoted"671sensor-672 & <é> "quoted"672sensor-673 & <é> "quoted"673sensor-674 & <é> "quoted"674sensor-675 & <é> "quoted"675sensor-676 & <é> "quoted"676sensor-677 & <é> "quoted"677sensor-678 & <é> "quoted"678sensor-679 & <é> "quoted"679sensor-680 & <é> "quoted"680sensor-681 & <é> "quoted"681sensor-682 & <é> "quoted"682sensor-683 & <é> "quoted"683sensor-684 & <é> "quoted"684sensor-685 & <é> "quoted"685sensor-686 & <é> "quoted"686sensor-687 & <é> "quoted"687sensor-688 & <é> "quoted"688sensor-689 & <é> "quoted"689sensor-690 & <é> "quoted"690sensor-691 & <é> "quoted"691sensor-692 & <é> "quoted"692sensor-693 & <é> "quoted"693sensor-694 & <é> "quoted"694sensor-695 & <é> "quoted"695sensor-696 & <é> "quoted"696sensor-697 & <é> "quoted"697sensor-698 & <é> "quoted"698sensor-699 & <é> "quoted"699sensor-700 & <é> "quoted"700sensor-701 & <é> "quoted"701sensor-702 & <é> "quoted"702sensor-703 & <é> "quoted"703sensor-704 & <é> "quoted"704sensor-705 & <é> "quoted"705sensor-706 & <é> "quoted"706sensor-707 & <é> "quoted"707sensor-708 & <é> "quoted"708sensor-709 & <é> "quoted"709sensor-710 & <é> "quoted"710sensor-711 & <é> "quoted"711sensor-712 & <é> "quoted"712sensor-713 & <é> "quoted"713sensor-714 & <é> "quoted"714sensor-715 & <é> "quoted"715sensor-716 & <é> "quoted"716sensor-717 & <é> "quoted"717sensor-718 & <é> "quoted"718sensor-719 & <é> "quoted"719sensor-720 & <é> "quoted"720sensor-721 & <é> "quoted"721sensor-722 & <é> "quoted"722sensor-723 & <é> "quoted"723sensor-724 & <é> "quoted"724sensor-725 & <é> "quoted"725sensor-726 & <é> "quoted"726sensor-727 & <é> "quoted"727sensor-728 & <é> "quoted"728sensor-729 & <é> "quoted"729sensor-730 & <é> "quoted"730sensor-731 & <é> "quoted"731sensor-732 & <é> "quoted"732sensor-733 & <é> "quoted"733sensor-734 & <é> "quoted"734sensor-735 & <é> "quoted"735sensor-736 & <é> "quoted"736sensor-737 & <é> "quoted"737sensor-738 & <é> "quoted"738sensor-739 & <é> "quoted"739sensor-740 & <é> "quoted"740sensor-741 & <é> "quoted"741sensor-742 & <é> "quoted"742sensor-743 & <é> "quoted"743sensor-744 & <é> "quoted"744sensor-745 & <é> "quoted"745sensor-746 & <é> "quoted"746sensor-747 & <é> "quoted"747sensor-748 & <é> "quoted"748sensor-749 & <é> "quoted"749sensor-750 & <é> "quoted"750sensor-751 & <é> "quoted"751sensor-752 & <é> "quoted"752sensor-753 & <é> "quoted"753sensor-754 & <é> "quoted"754sensor-755 & <é> "quoted"755sensor-756 & <é> "quoted"756sensor-757 & <é> "quoted"757sensor-758 & <é> "quoted"758sensor-759 & <é> "quoted"759sensor-760 & <é> "quoted"760sensor-761 & <é> "quoted"761sensor-762 & <é> "quoted"762sensor-763 & <é> "quoted"763sensor-764 & <é> "quoted"764sensor-765 & <é> "quoted"765sensor-766 & <é> "quoted"766sensor-767 & <é> "quoted"767sensor-768 & <é> "quoted"768sensor-769 & <é> "quoted"769sensor-770 & <é> "quoted"770sensor-771 & <é> "quoted"771sensor-772 & <é> "quoted"772sensor-773 & <é> "quoted"773sensor-774 & <é> "quoted"774sensor-775 & <é> "quoted"775sensor-776 & <é> "quoted"776sensor-777 & <é> "quoted"777sensor-778 & <é> "quoted"778sensor-779 & <é> "quoted"779sensor-780 & <é> "quoted"780sensor-781 & <é> "quoted"781sensor-782 & <é> "quoted"782sensor-783 & <é> "quoted"783sensor-784 & <é> "quoted"784sensor-785 & <é> "quoted"785sensor-786 & <é> "quoted"786sensor-787 & <é> "quoted"787sensor-788 & <é> "quoted"788sensor-789 & <é> "quoted"789sensor-790 & <é> "quoted"790sensor-791 & <é> "quoted"791sensor-792 & <é> "quoted"792sensor-793 & <é> "quoted"793sensor-794 & <é> "quoted"794sensor-795 & <é> "quoted"795sensor-796 & <é> "quoted"796sensor-797 & <é> "quoted"797sensor-798 & <é> "quoted"798sensor-799 & <é> "quoted"799sensor-800 & <é> "quoted"800sensor-801 & <é> "quoted"801sensor-802 & <é> "quoted"802sensor-803 & <é> "quoted"803sensor-804 & <é> "quoted"804sensor-805 & <é> "quoted"805sensor-806 & <é> "quoted"806sensor-807 & <é> "quoted"807sensor-808 & <é> "quoted"808sensor-809 & <é> "quoted"809sensor-810 & <é> "quoted"810sensor-811 & <é> "quoted"811sensor-812 & <é> "quoted"812sensor-813 & <é> "quoted"813sensor-814 & <é> "quoted"814sensor-815 & <é> "quoted"815sensor-816 & <é> "quoted"816sensor-817 & <é> "quoted"817sensor-818 & <é> "quoted"818sensor-819 & <é> "quoted"819sensor-820 & <é> "quoted"820sensor-821 & <é> "quoted"821sensor-822 & <é> "quoted"822sensor-823 & <é> "quoted"823sensor-824 & <é> "quoted"824sensor-825 & <é> "quoted"825sensor-826 & <é> "quoted"826sensor-827 & <é> "quoted"827sensor-828 & <é> "quoted"828sensor-829 & <é> "quoted"829sensor-830 & <é> "quoted"830sensor-831 & <é> "quoted"831sensor-832 & <é> "quoted"832sensor-833 & <é> "quoted"833sensor-834 & <é> "quoted"834sensor-835 & <é> "quoted"835sensor-836 & <é> "quoted"836sensor-837 & <é> "quoted"837sensor-838 & <é> "quoted"838sensor-839 & <é> "quoted"839sensor-840 & <é> "quoted"840sensor-841 & <é> "quoted"841sensor-842 & <é> "quoted"842sensor-843 & <é> "quoted"843sensor-844 & <é> "quoted"844sensor-845 & <é> "quoted"845sensor-846 & <é> "quoted"846sensor-847 & <é> "quoted"847sensor-848 & <é> "quoted"848sensor-849 & <é> "quoted"849sensor-850 & <é> "quoted"850sensor-851 & <é> "quoted"851sensor-852 & <é> "quoted"852sensor-853 & <é> "quoted"853sensor-854 & <é> "quoted"854sensor-855 & <é> "quoted"855sensor-856 & <é> "quoted"856sensor-857 & <é> "quoted"857sensor-858 & <é> "quoted"858sensor-859 & <é> "quoted"859sensor-860 & <é> "quoted"860sensor-861 & <é> "quoted"861sensor-862 & <é> "quoted"862sensor-863 & <é> "quoted"863sensor-864 & <é> "quoted"864sensor-865 & <é> "quoted"865sensor-866 & <é> "quoted"866sensor-867 & <é> "quoted"867sensor-868 & <é> "quoted"868sensor-869 & <é> "quoted"869sensor-870 & <é> "quoted"870sensor-871 & <é> "quoted"871sensor-872 & <é> "quoted"872sensor-873 & <é> "quoted"873sensor-874 & <é> "quoted"874sensor-875 & <é> "quoted"875sensor-876 & <é> "quoted"876sensor-877 & <é> "quoted"877sensor-878 & <é> "quoted"878sensor-879 & <é> "quoted"879sensor-880 & <é> "quoted"880sensor-881 & <é> "quoted"881sensor-882 & <é> "quoted"882sensor-883 & <é> "quoted"883sensor-884 & <é> "quoted"884sensor-885 & <é> "quoted"885sensor-886 & <é> "quoted"886sensor-887 & <é> "quoted"887sensor-888 & <é> "quoted"888sensor-889 & <é> "quoted"889sensor-890 & <é> "quoted"890sensor-891 & <é> "quoted"891sensor-892 & <é> "quoted"892sensor-893 & <é> "quoted"893sensor-894 & <é> "quoted"894sensor-895 & <é> "quoted"895sensor-896 & <é> "quoted"896sensor-897 & <é> "quoted"897sensor-898 & <é> "quoted"898sensor-899 & <é> "quoted"899sensor-900 & <é> "quoted"900sensor-901 & <é> "quoted"901sensor-902 & <é> "quoted"902sensor-903 & <é> "quoted"903sensor-904 & <é> "quoted"904sensor-905 & <é> "quoted"905sensor-906 & <é> "quoted"906sensor-907 & <é> "quoted"907sensor-908 & <é> "quoted"908sensor-909 & <é> "quoted"909sensor-910 & <é> "quoted"910sensor-911 & <é> "quoted"911sensor-912 & <é> "quoted"912sensor-913 & <é> "quoted"913sensor-914 & <é> "quoted"914sensor-915 & <é> "quoted"915sensor-916 & <é> "quoted"916sensor-917 & <é> "quoted"917sensor-918 & <é> "quoted"918sensor-919 & <é> "quoted"919sensor-920 & <é> "quoted"920sensor-921 & <é> "quoted"921sensor-922 & <é> "quoted"922sensor-923 & <é> "quoted"923sensor-924 & <é> "quoted"924sensor-925 & <é> "quoted"925sensor-926 & <é> "quoted"926sensor-927 & <é> "quoted"927sensor-928 & <é> "quoted"928sensor-929 & <é> "quoted"929sensor-930 & <é> "quoted"930sensor-931 & <é> "quoted"931sensor-932 & <é> "quoted"932sensor-933 & <é> "quoted"933sensor-934 & <é> "quoted"934sensor-935 & <é> "quoted"935sensor-936 & <é> "quoted"936sensor-937 & <é> "quoted"937sensor-938 & <é> "quoted"938sensor-939 & <é> "quoted"939sensor-940 & <é> "quoted"940sensor-941 & <é> "quoted"941sensor-942 & <é> "quoted"942sensor-943 & <é> "quoted"943sensor-944 & <é> "quoted"944sensor-945 & <é> "quoted"945sensor-946 & <é> "quoted"946sensor-947 & <é> "quoted"947sensor-948 & <é> "quoted"948sensor-949 & <é> "quoted"949sensor-950 & <é> "quoted"950sensor-951 & <é> "quoted"951sensor-952 & <é> "quoted"952sensor-953 & <é> "quoted"953sensor-954 & <é> "quoted"954sensor-955 & <é> "quoted"955sensor-956 & <é> "quoted"956sensor-957 & <é> "quoted"957sensor-958 & <é> "quoted"958sensor-959 & <é> "quoted"959sensor-960 & <é> "quoted"960sensor-961 & <é> "quoted"961sensor-962 & <é> "quoted"962sensor-963 & <é> "quoted"963sensor-964 & <é> "quoted"964sensor-965 & <é> "quoted"965sensor-966 & <é> "quoted"966sensor-967 & <é> "quoted"967sensor-968 & <é> "quoted"968sensor-969 & <é> "quoted"969sensor-970 & <é> "quoted"970sensor-971 & <é> "quoted"971sensor-972 & <é> "quoted"972sensor-973 & <é> "quoted"973sensor-974 & <é> "quoted"974sensor-975 & <é> "quoted"975sensor-976 & <é> "quoted"976sensor-977 & <é> "quoted"977sensor-978 & <é> "quoted"978sensor-979 & <é> "quoted"979sensor-980 & <é> "quoted"980sensor-981 & <é> "quoted"981sensor-982 & <é> "quoted"982sensor-983 & <é> "quoted"983sensor-984 & <é> "quoted"984sensor-985 & <é> "quoted"985sensor-986 & <é> "quoted"986sensor-987 & <é> "quoted"987sensor-988 & <é> "quoted"988sensor-989 & <é> "quoted"989sensor-990 & <é> "quoted"990sensor-991 & <é> "quoted"991sensor-992 & <é> "quoted"992sensor-993 & <é> "quoted"993sensor-994 & <é> "quoted"994sensor-995 & <é> "quoted"995sensor-996 & <é> "quoted"996sensor-997 & <é> "quoted"997sensor-998 & <é> "quoted"998sensor-999 & <é> "quoted"999 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-serde_xml_rs_owned-sensor_1.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-serde_xml_rs_owned-sensor_1.xml new file mode 100644 index 00000000..a1e5c45f --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-serde_xml_rs_owned-sensor_1.xml @@ -0,0 +1 @@ +sensor-00 \ No newline at end of file diff --git a/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-serde_xml_rs_owned-sensor_1000.xml b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-serde_xml_rs_owned-sensor_1000.xml new file mode 100644 index 00000000..8ed67356 --- /dev/null +++ b/docs/benchmarks/data/2026-10-04/serializer-comparison/verified-outputs/rust-serde_xml_rs_owned-sensor_1000.xml @@ -0,0 +1 @@ +sensor-00sensor-11sensor-22sensor-33sensor-44sensor-55sensor-66sensor-77sensor-88sensor-99sensor-1010sensor-1111sensor-1212sensor-1313sensor-1414sensor-1515sensor-1616sensor-1717sensor-1818sensor-1919sensor-2020sensor-2121sensor-2222sensor-2323sensor-2424sensor-2525sensor-2626sensor-2727sensor-2828sensor-2929sensor-3030sensor-3131sensor-3232sensor-3333sensor-3434sensor-3535sensor-3636sensor-3737sensor-3838sensor-3939sensor-4040sensor-4141sensor-4242sensor-4343sensor-4444sensor-4545sensor-4646sensor-4747sensor-4848sensor-4949sensor-5050sensor-5151sensor-5252sensor-5353sensor-5454sensor-5555sensor-5656sensor-5757sensor-5858sensor-5959sensor-6060sensor-6161sensor-6262sensor-6363sensor-6464sensor-6565sensor-6666sensor-6767sensor-6868sensor-6969sensor-7070sensor-7171sensor-7272sensor-7373sensor-7474sensor-7575sensor-7676sensor-7777sensor-7878sensor-7979sensor-8080sensor-8181sensor-8282sensor-8383sensor-8484sensor-8585sensor-8686sensor-8787sensor-8888sensor-8989sensor-9090sensor-9191sensor-9292sensor-9393sensor-9494sensor-9595sensor-9696sensor-9797sensor-9898sensor-9999sensor-100100sensor-101101sensor-102102sensor-103103sensor-104104sensor-105105sensor-106106sensor-107107sensor-108108sensor-109109sensor-110110sensor-111111sensor-112112sensor-113113sensor-114114sensor-115115sensor-116116sensor-117117sensor-118118sensor-119119sensor-120120sensor-121121sensor-122122sensor-123123sensor-124124sensor-125125sensor-126126sensor-127127sensor-128128sensor-129129sensor-130130sensor-131131sensor-132132sensor-133133sensor-134134sensor-135135sensor-136136sensor-137137sensor-138138sensor-139139sensor-140140sensor-141141sensor-142142sensor-143143sensor-144144sensor-145145sensor-146146sensor-147147sensor-148148sensor-149149sensor-150150sensor-151151sensor-152152sensor-153153sensor-154154sensor-155155sensor-156156sensor-157157sensor-158158sensor-159159sensor-160160sensor-161161sensor-162162sensor-163163sensor-164164sensor-165165sensor-166166sensor-167167sensor-168168sensor-169169sensor-170170sensor-171171sensor-172172sensor-173173sensor-174174sensor-175175sensor-176176sensor-177177sensor-178178sensor-179179sensor-180180sensor-181181sensor-182182sensor-183183sensor-184184sensor-185185sensor-186186sensor-187187sensor-188188sensor-189189sensor-190190sensor-191191sensor-192192sensor-193193sensor-194194sensor-195195sensor-196196sensor-197197sensor-198198sensor-199199sensor-200200sensor-201201sensor-202202sensor-203203sensor-204204sensor-205205sensor-206206sensor-207207sensor-208208sensor-209209sensor-210210sensor-211211sensor-212212sensor-213213sensor-214214sensor-215215sensor-216216sensor-217217sensor-218218sensor-219219sensor-220220sensor-221221sensor-222222sensor-223223sensor-224224sensor-225225sensor-226226sensor-227227sensor-228228sensor-229229sensor-230230sensor-231231sensor-232232sensor-233233sensor-234234sensor-235235sensor-236236sensor-237237sensor-238238sensor-239239sensor-240240sensor-241241sensor-242242sensor-243243sensor-244244sensor-245245sensor-246246sensor-247247sensor-248248sensor-249249sensor-250250sensor-251251sensor-252252sensor-253253sensor-254254sensor-255255sensor-256256sensor-257257sensor-258258sensor-259259sensor-260260sensor-261261sensor-262262sensor-263263sensor-264264sensor-265265sensor-266266sensor-267267sensor-268268sensor-269269sensor-270270sensor-271271sensor-272272sensor-273273sensor-274274sensor-275275sensor-276276sensor-277277sensor-278278sensor-279279sensor-280280sensor-281281sensor-282282sensor-283283sensor-284284sensor-285285sensor-286286sensor-287287sensor-288288sensor-289289sensor-290290sensor-291291sensor-292292sensor-293293sensor-294294sensor-295295sensor-296296sensor-297297sensor-298298sensor-299299sensor-300300sensor-301301sensor-302302sensor-303303sensor-304304sensor-305305sensor-306306sensor-307307sensor-308308sensor-309309sensor-310310sensor-311311sensor-312312sensor-313313sensor-314314sensor-315315sensor-316316sensor-317317sensor-318318sensor-319319sensor-320320sensor-321321sensor-322322sensor-323323sensor-324324sensor-325325sensor-326326sensor-327327sensor-328328sensor-329329sensor-330330sensor-331331sensor-332332sensor-333333sensor-334334sensor-335335sensor-336336sensor-337337sensor-338338sensor-339339sensor-340340sensor-341341sensor-342342sensor-343343sensor-344344sensor-345345sensor-346346sensor-347347sensor-348348sensor-349349sensor-350350sensor-351351sensor-352352sensor-353353sensor-354354sensor-355355sensor-356356sensor-357357sensor-358358sensor-359359sensor-360360sensor-361361sensor-362362sensor-363363sensor-364364sensor-365365sensor-366366sensor-367367sensor-368368sensor-369369sensor-370370sensor-371371sensor-372372sensor-373373sensor-374374sensor-375375sensor-376376sensor-377377sensor-378378sensor-379379sensor-380380sensor-381381sensor-382382sensor-383383sensor-384384sensor-385385sensor-386386sensor-387387sensor-388388sensor-389389sensor-390390sensor-391391sensor-392392sensor-393393sensor-394394sensor-395395sensor-396396sensor-397397sensor-398398sensor-399399sensor-400400sensor-401401sensor-402402sensor-403403sensor-404404sensor-405405sensor-406406sensor-407407sensor-408408sensor-409409sensor-410410sensor-411411sensor-412412sensor-413413sensor-414414sensor-415415sensor-416416sensor-417417sensor-418418sensor-419419sensor-420420sensor-421421sensor-422422sensor-423423sensor-424424sensor-425425sensor-426426sensor-427427sensor-428428sensor-429429sensor-430430sensor-431431sensor-432432sensor-433433sensor-434434sensor-435435sensor-436436sensor-437437sensor-438438sensor-439439sensor-440440sensor-441441sensor-442442sensor-443443sensor-444444sensor-445445sensor-446446sensor-447447sensor-448448sensor-449449sensor-450450sensor-451451sensor-452452sensor-453453sensor-454454sensor-455455sensor-456456sensor-457457sensor-458458sensor-459459sensor-460460sensor-461461sensor-462462sensor-463463sensor-464464sensor-465465sensor-466466sensor-467467sensor-468468sensor-469469sensor-470470sensor-471471sensor-472472sensor-473473sensor-474474sensor-475475sensor-476476sensor-477477sensor-478478sensor-479479sensor-480480sensor-481481sensor-482482sensor-483483sensor-484484sensor-485485sensor-486486sensor-487487sensor-488488sensor-489489sensor-490490sensor-491491sensor-492492sensor-493493sensor-494494sensor-495495sensor-496496sensor-497497sensor-498498sensor-499499sensor-500500sensor-501501sensor-502502sensor-503503sensor-504504sensor-505505sensor-506506sensor-507507sensor-508508sensor-509509sensor-510510sensor-511511sensor-512512sensor-513513sensor-514514sensor-515515sensor-516516sensor-517517sensor-518518sensor-519519sensor-520520sensor-521521sensor-522522sensor-523523sensor-524524sensor-525525sensor-526526sensor-527527sensor-528528sensor-529529sensor-530530sensor-531531sensor-532532sensor-533533sensor-534534sensor-535535sensor-536536sensor-537537sensor-538538sensor-539539sensor-540540sensor-541541sensor-542542sensor-543543sensor-544544sensor-545545sensor-546546sensor-547547sensor-548548sensor-549549sensor-550550sensor-551551sensor-552552sensor-553553sensor-554554sensor-555555sensor-556556sensor-557557sensor-558558sensor-559559sensor-560560sensor-561561sensor-562562sensor-563563sensor-564564sensor-565565sensor-566566sensor-567567sensor-568568sensor-569569sensor-570570sensor-571571sensor-572572sensor-573573sensor-574574sensor-575575sensor-576576sensor-577577sensor-578578sensor-579579sensor-580580sensor-581581sensor-582582sensor-583583sensor-584584sensor-585585sensor-586586sensor-587587sensor-588588sensor-589589sensor-590590sensor-591591sensor-592592sensor-593593sensor-594594sensor-595595sensor-596596sensor-597597sensor-598598sensor-599599sensor-600600sensor-601601sensor-602602sensor-603603sensor-604604sensor-605605sensor-606606sensor-607607sensor-608608sensor-609609sensor-610610sensor-611611sensor-612612sensor-613613sensor-614614sensor-615615sensor-616616sensor-617617sensor-618618sensor-619619sensor-620620sensor-621621sensor-622622sensor-623623sensor-624624sensor-625625sensor-626626sensor-627627sensor-628628sensor-629629sensor-630630sensor-631631sensor-632632sensor-633633sensor-634634sensor-635635sensor-636636sensor-637637sensor-638638sensor-639639sensor-640640sensor-641641sensor-642642sensor-643643sensor-644644sensor-645645sensor-646646sensor-647647sensor-648648sensor-649649sensor-650650sensor-651651sensor-652652sensor-653653sensor-654654sensor-655655sensor-656656sensor-657657sensor-658658sensor-659659sensor-660660sensor-661661sensor-662662sensor-663663sensor-664664sensor-665665sensor-666666sensor-667667sensor-668668sensor-669669sensor-670670sensor-671671sensor-672672sensor-673673sensor-674674sensor-675675sensor-676676sensor-677677sensor-678678sensor-679679sensor-680680sensor-681681sensor-682682sensor-683683sensor-684684sensor-685685sensor-686686sensor-687687sensor-688688sensor-689689sensor-690690sensor-691691sensor-692692sensor-693693sensor-694694sensor-695695sensor-696696sensor-697697sensor-698698sensor-699699sensor-700700sensor-701701sensor-702702sensor-703703sensor-704704sensor-705705sensor-706706sensor-707707sensor-708708sensor-709709sensor-710710sensor-711711sensor-712712sensor-713713sensor-714714sensor-715715sensor-716716sensor-717717sensor-718718sensor-719719sensor-720720sensor-721721sensor-722722sensor-723723sensor-724724sensor-725725sensor-726726sensor-727727sensor-728728sensor-729729sensor-730730sensor-731731sensor-732732sensor-733733sensor-734734sensor-735735sensor-736736sensor-737737sensor-738738sensor-739739sensor-740740sensor-741741sensor-742742sensor-743743sensor-744744sensor-745745sensor-746746sensor-747747sensor-748748sensor-749749sensor-750750sensor-751751sensor-752752sensor-753753sensor-754754sensor-755755sensor-756756sensor-757757sensor-758758sensor-759759sensor-760760sensor-761761sensor-762762sensor-763763sensor-764764sensor-765765sensor-766766sensor-767767sensor-768768sensor-769769sensor-770770sensor-771771sensor-772772sensor-773773sensor-774774sensor-775775sensor-776776sensor-777777sensor-778778sensor-779779sensor-780780sensor-781781sensor-782782sensor-783783sensor-784784sensor-785785sensor-786786sensor-787787sensor-788788sensor-789789sensor-790790sensor-791791sensor-792792sensor-793793sensor-794794sensor-795795sensor-796796sensor-797797sensor-798798sensor-799799sensor-800800sensor-801801sensor-802802sensor-803803sensor-804804sensor-805805sensor-806806sensor-807807sensor-808808sensor-809809sensor-810810sensor-811811sensor-812812sensor-813813sensor-814814sensor-815815sensor-816816sensor-817817sensor-818818sensor-819819sensor-820820sensor-821821sensor-822822sensor-823823sensor-824824sensor-825825sensor-826826sensor-827827sensor-828828sensor-829829sensor-830830sensor-831831sensor-832832sensor-833833sensor-834834sensor-835835sensor-836836sensor-837837sensor-838838sensor-839839sensor-840840sensor-841841sensor-842842sensor-843843sensor-844844sensor-845845sensor-846846sensor-847847sensor-848848sensor-849849sensor-850850sensor-851851sensor-852852sensor-853853sensor-854854sensor-855855sensor-856856sensor-857857sensor-858858sensor-859859sensor-860860sensor-861861sensor-862862sensor-863863sensor-864864sensor-865865sensor-866866sensor-867867sensor-868868sensor-869869sensor-870870sensor-871871sensor-872872sensor-873873sensor-874874sensor-875875sensor-876876sensor-877877sensor-878878sensor-879879sensor-880880sensor-881881sensor-882882sensor-883883sensor-884884sensor-885885sensor-886886sensor-887887sensor-888888sensor-889889sensor-890890sensor-891891sensor-892892sensor-893893sensor-894894sensor-895895sensor-896896sensor-897897sensor-898898sensor-899899sensor-900900sensor-901901sensor-902902sensor-903903sensor-904904sensor-905905sensor-906906sensor-907907sensor-908908sensor-909909sensor-910910sensor-911911sensor-912912sensor-913913sensor-914914sensor-915915sensor-916916sensor-917917sensor-918918sensor-919919sensor-920920sensor-921921sensor-922922sensor-923923sensor-924924sensor-925925sensor-926926sensor-927927sensor-928928sensor-929929sensor-930930sensor-931931sensor-932932sensor-933933sensor-934934sensor-935935sensor-936936sensor-937937sensor-938938sensor-939939sensor-940940sensor-941941sensor-942942sensor-943943sensor-944944sensor-945945sensor-946946sensor-947947sensor-948948sensor-949949sensor-950950sensor-951951sensor-952952sensor-953953sensor-954954sensor-955955sensor-956956sensor-957957sensor-958958sensor-959959sensor-960960sensor-961961sensor-962962sensor-963963sensor-964964sensor-965965sensor-966966sensor-967967sensor-968968sensor-969969sensor-970970sensor-971971sensor-972972sensor-973973sensor-974974sensor-975975sensor-976976sensor-977977sensor-978978sensor-979979sensor-980980sensor-981981sensor-982982sensor-983983sensor-984984sensor-985985sensor-986986sensor-987987sensor-988988sensor-989989sensor-990990sensor-991991sensor-992992sensor-993993sensor-994994sensor-995995sensor-996996sensor-997997sensor-998998sensor-999999 \ No newline at end of file diff --git a/docs/benchmarks/index.md b/docs/benchmarks/index.md index e8fe58cc..5420e13a 100644 --- a/docs/benchmarks/index.md +++ b/docs/benchmarks/index.md @@ -10,6 +10,11 @@ and CLI startup. The suites answer different questions, so compare numbers **within the same workload and runtime**. A quick smoke run confirms that a suite works; it is not a performance result. +For a direct native/competitor/PolyXML view, start with the +[October 2026 serializer comparison tables](serializer-comparison-2026-10.md). +They separate XML from JSON, typed results from dynamic graphs, and generated +models using native serializers from independent binding engines. + ## Choose a benchmark | Target | What it measures | Suite and instructions | Published results | @@ -38,6 +43,10 @@ lists every entry point. ## Published studies +- [October 2026 serializer comparisons](serializer-comparison-2026-10.md): fresh + Rust/Python comparisons, Go/C# native model overhead, Java JMH, allocation + diagnostics, and explicit C++/TypeScript coverage gaps. + - [October 2026 dynamic Rust XML optimization](rust-runtime-optimization-2026-10.md): branch experiments, allocation diagnostics and same-host confirmation. diff --git a/docs/benchmarks/serializer-comparison-2026-10.md b/docs/benchmarks/serializer-comparison-2026-10.md new file mode 100644 index 00000000..c12b3e4c --- /dev/null +++ b/docs/benchmarks/serializer-comparison-2026-10.md @@ -0,0 +1,274 @@ +--- +title: Serializer comparisons (October 2026) +description: Matched XML and JSON serializer tables for PolyXML 0.34.8, with native baselines, competitor bindings, allocations, repeated samples and coverage limits. +--- + +# XML and JSON serializer comparisons + +These tables compare **the same inputs and decoded values within each runtime**. +They show native options, competitor libraries and PolyXML's generated bindings. +They do not rank languages against one another. Read and write costs are separate; +**lower latency is better**, and a relative score above 1 means faster than the +stated baseline. All results are from **PolyXML 0.34.8, October 4, 2026**. + +The main sensor tables use **1,000 records / 53,795 XML bytes**. Every `Id` and +integer `Value` is checked before timing. Setup and file I/O are excluded; +reads construct the complete model, and writes allocate fresh output. The +[retained samples and all-case summary](data/2026-10-04/serializer-comparison/summary.md) +include single-record and escaped-text cases plus process variation. + +## What is actually being compared? + +| Runtime | Native option in this comparison | PolyXML path | Competitor / baseline | Meaning | +| :--- | :--- | :--- | :--- | :--- | +| Rust | No stdlib XML binding used; `serde_json` for JSON | Generated XML codec; Serde-derived JSON models | quick-xml Serde, serde-xml-rs; handwritten Serde JSON | XML binding engines; JSON model overhead | +| Python | ElementTree / `json` plus handwritten typed mapping | Rust-backed binding into generated dataclasses | xsdata on the same dataclasses; lxml typed adapter; Pydantic XML reference | End-to-end typed binding; specialized adapters labeled separately | +| Java | StAX API; Woodstox provider on this classpath | Generated POJOs with direct StAX codec | Jackson XML on the same POJOs; XJC-generated JAXB | Typed XML binding, on a separate 80-field workload | +| Go | `encoding/xml` | Generated root model and native serializer | Flat handwritten struct and same native serializer | Generated model / root-method overhead | +| C# | `XmlSerializer` | Generated inherited classes and native serializer | Flat handwritten class and same native serializer | Generated model overhead under an explicit JIT configuration | +| C++ | Existing C ABI binding | Native value graph mapped into models | Equivalent competitor not measured here | Coverage gap; narrow string-search adapter excluded | +| TypeScript / Wasm | Existing JS object parsers | Wasm binding | Equivalent typed return graph not measured here | Coverage gap; existing parser studies remain separate | + +## Rust XML: generated codecs versus Serde adapters + +[Source, generated models and dependency lock](https://github.com/polyxml/PolyXML/tree/main/docs/benchmarks/data/2026-10-04/serializer-comparison/source), +[raw summary](data/2026-10-04/serializer-comparison/summary.json). +Both the generated codecs and quick-xml's Serde adapter use **quick-xml 0.42.0**; +this compares their binding code, not different tokenizers. Ratios use quick-xml +Serde **with the same string ownership** as the row. + +| Serializer / model | Read µs ↓ | Write µs ↓ | Read relative ↑ | Write relative ↑ | +| :--- | ---: | ---: | ---: | ---: | +| **PolyXML generated · String** | 232.13 | 54.05 | 1.88× | 3.68× | +| quick-xml Serde · String | 436.12 | 198.84 | 1.00× | 1.00× | +| serde-xml-rs · String | 2407.85 | 323.46 | 0.18× | 0.61× | +| **PolyXML generated · Cow** | 191.62 | 54.51 | 2.13× | 3.64× | +| quick-xml Serde · Cow | 409.00 | 198.32 | 1.00× | 1.00× | + +The generated owned codec takes about half the read time of quick-xml Serde, +and its writer takes roughly a quarter of the time on this fixture. Borrowed +XML avoids string copies for plain text; escaping can require owned strings. +Both Cow readers are checked to actually borrow on the plain fixture. See +[quick-xml's borrowing rules](https://docs.rs/quick-xml/0.42.0/quick_xml/de/index.html). + +The dynamic Rust engine returns a `PolyValue` record/list graph rather than the +typed structs above. Its separate reference result is: + +| Value representation | Read µs ↓ | Write µs ↓ | +| :--- | ---: | ---: | +| PolyXML dynamic · PolyValue | 638.54 | 89.68 | + +### Rust allocation diagnostics + +[Separate instrumented output](data/2026-10-04/serializer-comparison/rust-allocations.csv). +These are **total requested allocation bytes and allocation/reallocation calls** +per operation, not peak RAM or retained memory. Timings above come from a +separate binary without the allocation counter. + +| Serializer / model | Read requested B | Write requested B | Read calls | Write calls | +| :--- | ---: | ---: | ---: | ---: | +| **PolyXML generated · String** | 83,354 | 141,064 | 2,012 | 1,014 | +| quick-xml Serde · String | 75,607 | 449,272 | 1,016 | 4,016 | +| serde-xml-rs · String | 6,913,011 | 175,329 | 49,040 | 9,020 | +| **PolyXML generated · Cow** | 65,464 | 141,064 | 12 | 1,014 | +| quick-xml Serde · Cow | 65,717 | 449,272 | 16 | 4,016 | +| PolyXML dynamic · different value graph | 471,402 | 130,560 | 3,024 | 8 | + +## Python XML: complete typed results + +[Same-run samples and source](data/2026-10-04/serializer-comparison/summary.md). +PolyXML and xsdata construct the **same generated slotted dataclasses**. The +stdlib and lxml adapters construct those same models and convert integers +inside timing; they are not DOM-only parser timings. Ratios use **xsdata**. + +| Serializer / model | Read µs ↓ | Write µs ↓ | Read relative ↑ | Write relative ↑ | +| :--- | ---: | ---: | ---: | ---: | +| **PolyXML · generated dataclasses** | 1622.47 | 767.10 | 8.67× | 18.53× | +| xsdata · same dataclasses | 14064.81 | 14211.82 | 1.00× | 1.00× | +| stdlib ElementTree · typed adapter¹ | 1155.20 | 3220.89 | 12.18× | 4.41× | +| lxml · typed adapter¹ | 3452.17 | 1615.67 | 4.07× | 8.80× | + +¹ These handwritten adapters are specialized to this two-field schema. They +are useful native baselines, but do not implement a general schema-driven binder. +ElementTree's adapter reads this batch faster than PolyXML; PolyXML writes it +faster. That distinction matters alongside the larger gains over xsdata. + +Pydantic XML builds a different, validating model graph. Keep it as a reference +rather than treating it as the same dataclass task: + +| Reference representation | Read µs ↓ | Write µs ↓ | +| :--- | ---: | ---: | +| pydantic-xml · Pydantic v2 models | 8866.62 | 7744.33 | + +Python timings use a **release native extension, without tracemalloc**. +The old traced Python measurements are not mixed into this table. We do not +report Python-only traced bytes as total Rust/libxml2 allocation. + +## JSON: separate from XML + +[All JSON samples, source and allocation diagnostics](data/2026-10-04/serializer-comparison/summary.md). +The plain 1,000-sensor JSON input is identical within each runtime; all writers +are checked against the same JSON values. + +### Rust JSON: the same serde_json engine + +Generated Rust JSON models and handwritten models all use **serde_json 1.0.151**. +These rows measure model choices, not a separate PolyXML JSON engine. The +generated Cow JSON model does not carry field-level Serde borrowing annotations; +its strings deserialize as owned. The XML borrowing result above does not apply. + +| Model / serde_json | Read µs ↓ | Write µs ↓ | +| :--- | ---: | ---: | +| PolyXML-generated · String | 64.03 | 26.95 | +| PolyXML-generated · Cow | 61.69 | 26.87 | +| Handwritten Serde · String | 62.26 | 27.16 | + +### Python JSON: typed dataclasses + +Ratios use **xsdata JSON**. The stdlib adapter includes JSON parsing and complete +model construction, or model-to-dict conversion and UTF-8 output, inside timing. + +| Serializer / model | Read µs ↓ | Write µs ↓ | Read relative ↑ | Write relative ↑ | +| :--- | ---: | ---: | ---: | ---: | +| **PolyXML · generated dataclasses** | 1381.68 | 786.60 | 7.04× | 4.60× | +| xsdata · same dataclasses | 9730.96 | 3619.62 | 1.00× | 1.00× | +| stdlib json · specialized typed adapter | 408.83 | 272.63 | 23.80× | 13.28× | + +PolyXML is faster than xsdata here, while the specialized stdlib adapter is +faster than both. This fixture does not justify claiming PolyXML is the fastest +Python JSON serializer. + +## Go and C#: generated models using native XML serializers + +[All native-model samples, sources and runtime settings](https://github.com/polyxml/PolyXML/tree/main/docs/benchmarks/data/2026-10-04/native-models), +[computed summary](data/2026-10-04/native-models/summary.json). +These are **model comparisons using the same serializer in each language**. +Readers use the shared sensor fixture; writers produce equivalent sensor values. +Go writes UTF-8 bytes, while C# writes a materialized UTF-16 string. Compare +within each runtime, not between these rows. Allocations are Go's `benchmem` +bytes/op or .NET's current-thread managed bytes/op. + +| Runtime / model | Read µs ↓ | Write µs ↓ | Read allocated B | Write allocated B | +| :--- | ---: | ---: | ---: | ---: | +| Go · encoding/xml · generated | 2031.08 | 486.73 | 1,035,712 | 266,641 | +| Go · encoding/xml · handwritten | 1961.18 | 423.01 | 1,035,648 | 134,608 | +| C# · XmlSerializer · generated | 621.47 | 513.28 | 147,520 | 330,120 | +| C# · XmlSerializer · handwritten | 611.52 | 513.22 | 147,568 | 330,120 | + +Go's generated root type has custom `MarshalXML`/`UnmarshalXML` methods for +root naming and namespace checks. The flat handwritten baseline lacks those +methods. The custom root writer adds allocations and timing overhead in this +comparison. + +C# uses **.NET 10.0.12**, with the `net8.0` build rolled forward. The published +control sets **`DOTNET_TieredCompilation=0`**, excludes serializer construction, +and warms each model for at least two seconds / 500 read-write pairs. This is +an explicit warmed JIT configuration, not default startup/tiered-PGO behavior. +The [default-tiering diagnostics and control settings](https://github.com/polyxml/PolyXML/tree/main/docs/benchmarks/data/2026-10-04/native-models) +are retained: their first-model effect persisted despite longer warmup, so they +are not used to rank models. See the +[.NET compilation settings](https://learn.microsoft.com/en-us/dotnet/core/runtime-config/compilation). + +## Java XML: direct StAX, Jackson and JAXB + +[Raw JMH JSON, including every fork, score error and GC metric](data/2026-10-04/native-models/java-jmh.json), +[fixture/output lengths and execution log](data/2026-10-04/native-models/java-jmh.txt). +Java uses its own **80-field synthetic projections**, with seven populated +string fields and 73 absent optional fields. Each operation processes **1,000 +independent messages**. These are not official ISO/UCI documents and are not +the sensor workload. Read IDs vary; writes serialize the preconstructed ID-0 +model to fresh bytes 1,000 times. Setup checks every input across typed readers. + +The [recorded StAX providers](data/2026-10-04/native-models/java-stax-providers.txt) +are Woodstox 7.1.1 on this shaded classpath. The direct codec uses the JDK StAX +API with that provider; this is not a claim about the JDK's default XML parser. + +Numbers are **batches/s**, with JMH's reported score error; higher is better. +Direct StAX and Jackson populate the same generated POJOs. JAXB populates the +equivalent XJC models. Panama's different native return graph is excluded. + +| Workload / typed binding | Read batches/s ↑ | Write batches/s ↑ | Read heap B/message | Write heap B/message | +| :--- | ---: | ---: | ---: | ---: | +| Settlement · PolyXML direct StAX | 380.1 ± 4.8 | 208.1 ± 4.3 | 4,520 | 9,456 | +| Settlement · Jackson XML | 402.5 ± 4.9 | 197.9 ± 1.7 | 5,040 | 6,584 | +| Settlement · JAXB / XJC | 173.6 ± 3.3 | 127.0 ± 1.3 | 7,096 | 28,608 | +| Telemetry · PolyXML direct StAX | 605.3 ± 2.5 | 698.9 ± 4.6 | 2,720 | 5,856 | +| Telemetry · Jackson XML | 626.0 ± 4.4 | 490.1 ± 3.6 | 3,240 | 1,728 | +| Telemetry · JAXB / XJC | 238.8 ± 1.7 | 248.8 ± 6.9 | 3,496 | 7,328 | + +Output lengths differ because serializers emit different declarations and +namespace formatting; the log records them. Overlapping JMH errors do not +establish a winner. GC metrics cover the Java heap. + +## Small inputs and escaped text + +The [complete summary](data/2026-10-04/serializer-comparison/summary.md) retains +all lanes. The compact checks below show that the relative result changes with +input size and escaping. Same timing method and ownership-matched baselines +as the main Rust table. + +### Rust · one sensor (65 B XML) + +| Serializer / model | Read µs ↓ | Write µs ↓ | Read relative ↑ | Write relative ↑ | +| :--- | ---: | ---: | ---: | ---: | +| **PolyXML generated · String** | 0.32 | 0.19 | 2.33× | 2.22× | +| quick-xml Serde · String | 0.74 | 0.42 | 1.00× | 1.00× | +| serde-xml-rs · String | 3.46 | 0.71 | 0.21× | 0.59× | +| **PolyXML generated · Cow** | 0.30 | 0.19 | 2.47× | 2.20× | +| quick-xml Serde · Cow | 0.74 | 0.41 | 1.00× | 1.00× | + +### Rust · 1,000 sensors with entities, quotes and UTF-8 + +| Serializer / model | Read µs ↓ | Write µs ↓ | Read relative ↑ | Write relative ↑ | +| :--- | ---: | ---: | ---: | ---: | +| **PolyXML generated · String** | 379.10 | 133.96 | 1.71× | 1.84× | +| quick-xml Serde · String | 649.90 | 247.09 | 1.00× | 1.00× | +| serde-xml-rs · String | 2926.95 | 365.01 | 0.22× | 0.68× | +| **PolyXML generated · Cow** | 363.82 | 133.71 | 1.78× | 1.71× | +| quick-xml Serde · Cow | 646.78 | 228.38 | 1.00× | 1.00× | + +For Python, the [all-case summary](data/2026-10-04/serializer-comparison/summary.md) +includes the same single-record and escaped-text fixtures. Native call overhead, +model construction and escaping matter differently at each size; the main +1,000-record ratio should not be applied to every XML document. + +## Environment, variation and reproduction + +[Exact metadata, hashes and dependency versions](data/2026-10-04/serializer-comparison/metadata.json), +[native-model toolchains and settings](data/2026-10-04/native-models/metadata.json), +[reproducible suite](https://github.com/polyxml/PolyXML/tree/main/benchmarks/serializer-comparison). +The engine/compiler source is release **0.34.8 / `89786c3`**. Harness revisions +and generated-source hashes are recorded separately in the artifacts. + +| Item | Configuration | +| :--- | :--- | +| Host | Intel Core i5-11600K, 6 cores / 12 logical CPUs; WSL2, Ubuntu 26.04.1; 15.5 GiB visible RAM | +| Rust | rustc/cargo 1.99.0; release; quick-xml 0.42.0, serde-xml-rs 0.8.2, Serde 1.0.229, serde_json 1.0.151 | +| Python | CPython 3.12.15; release ABI3 extension; xsdata 26.2, lxml 6.1.3, pydantic-xml 2.21.1, Pydantic 2.13.5 | +| Go / .NET | Go 1.26.0; .NET SDK 10.0.112 / runtime 10.0.12; C# control disables tiered compilation | +| Java | JDK 25.0.4.1; JMH 1.37; Jackson XML 2.21.2; JAXB 4.0.5; two forks, three 2-second warmups, five 2-second measurements; 256 MiB initial / 1 GiB max heap | +| Scheduling | Builds and timings serial; model/case order rotated; memory-capped processes; IDE background services present; no CPU affinity/frequency control | + +Rust/Python use **six independent processes**, each with five samples of at +least 150 ms per operation after warmup. Tables report the **median of process +medians**. [All process ranges](data/2026-10-04/serializer-comparison/summary.md) +are descriptive minimum–maximum ranges, not confidence intervals. Samples +within a process are correlated. Go uses five fresh processes / 2-second bench +windows; C# control uses six fresh processes / 1,000 calls per operation, +with first-model order balanced. Their +[process ranges](data/2026-10-04/native-models/summary.json) are also retained. +Java reports JMH throughput and its own score error rather than these medians. + +Every reader field and writer value is checked outside timing. Python XML +outputs pass XSD validation through lxml; all 33 exported Rust/Python XML +outputs are checked again using independent stdlib ElementTree parsing. +JSON outputs are compared as complete values. Writer byte lengths are retained +in the raw CSVs. This is a performance comparison of these valid fixtures, +not a conformance score or a full-schema-validation timing. + +[September results](language-results-2026-09.md) remain historical; they use a +different host/version and are not blended with these figures. C++ and +TypeScript need equivalent return graphs and repeated matched measurements +before joining this typed comparison. Existing +[C++ native results](language-results-2026-09.md#c-native-c-abi-binding-and-model-adapter) +and [Wasm parser studies](wasm-vs-js.md) retain their own scope. diff --git a/zensical.toml b/zensical.toml index c8138956..913e0114 100644 --- a/zensical.toml +++ b/zensical.toml @@ -31,6 +31,7 @@ nav = [ { "Architecture" = "architecture.md" }, { "Benchmarks" = [ { "Overview & Map" = "benchmarks/index.md" }, + { "Serializer Comparisons" = "benchmarks/serializer-comparison-2026-10.md" }, { "Cross-Language Results" = "benchmarks/language-results-2026-09.md" }, { "Python AOT vs Dataclass" = "benchmarks/python-aot-vs-dataclass.md" }, { "Python JSON & Binary AOT" = "benchmarks/python-json-binary-aot-2026-09.md" },